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

     1  /*
     2  Copyright (c) 2014-2024 VMware, Inc. All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8  http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package types
    18  
    19  import (
    20  	"reflect"
    21  	"time"
    22  )
    23  
    24  type AbandonHciWorkflow AbandonHciWorkflowRequestType
    25  
    26  func init() {
    27  	t["AbandonHciWorkflow"] = reflect.TypeOf((*AbandonHciWorkflow)(nil)).Elem()
    28  }
    29  
    30  type AbandonHciWorkflowRequestType struct {
    31  	This ManagedObjectReference `xml:"_this" json:"-"`
    32  }
    33  
    34  func init() {
    35  	t["AbandonHciWorkflowRequestType"] = reflect.TypeOf((*AbandonHciWorkflowRequestType)(nil)).Elem()
    36  }
    37  
    38  type AbandonHciWorkflowResponse struct {
    39  }
    40  
    41  type AbdicateDomOwnership AbdicateDomOwnershipRequestType
    42  
    43  func init() {
    44  	t["AbdicateDomOwnership"] = reflect.TypeOf((*AbdicateDomOwnership)(nil)).Elem()
    45  }
    46  
    47  // The parameters of `HostVsanInternalSystem.AbdicateDomOwnership`.
    48  type AbdicateDomOwnershipRequestType struct {
    49  	This ManagedObjectReference `xml:"_this" json:"-"`
    50  	// List of VSAN/DOM object UUIDs.
    51  	Uuids []string `xml:"uuids" json:"uuids"`
    52  }
    53  
    54  func init() {
    55  	t["AbdicateDomOwnershipRequestType"] = reflect.TypeOf((*AbdicateDomOwnershipRequestType)(nil)).Elem()
    56  }
    57  
    58  type AbdicateDomOwnershipResponse struct {
    59  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
    60  }
    61  
    62  // The parameters of `VirtualMachineGuestCustomizationManager.AbortCustomization_Task`.
    63  type AbortCustomizationRequestType struct {
    64  	This ManagedObjectReference `xml:"_this" json:"-"`
    65  	// The Virtual Machine managed object reference.
    66  	//
    67  	// Refers instance of `VirtualMachine`.
    68  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
    69  	// The guest authentication data. See
    70  	// `GuestAuthentication`.
    71  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
    72  }
    73  
    74  func init() {
    75  	t["AbortCustomizationRequestType"] = reflect.TypeOf((*AbortCustomizationRequestType)(nil)).Elem()
    76  }
    77  
    78  type AbortCustomization_Task AbortCustomizationRequestType
    79  
    80  func init() {
    81  	t["AbortCustomization_Task"] = reflect.TypeOf((*AbortCustomization_Task)(nil)).Elem()
    82  }
    83  
    84  type AbortCustomization_TaskResponse struct {
    85  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
    86  }
    87  
    88  // This data object type describes system information
    89  // including the name, type, version, and build number.
    90  type AboutInfo struct {
    91  	DynamicData
    92  
    93  	// Short form of the product name.
    94  	Name string `xml:"name" json:"name"`
    95  	// The complete product name, including the version information.
    96  	FullName string `xml:"fullName" json:"fullName"`
    97  	// Name of the vendor of this product.
    98  	Vendor string `xml:"vendor" json:"vendor"`
    99  	// Dot-separated version string.
   100  	//
   101  	// For example, "1.2".
   102  	Version string `xml:"version" json:"version"`
   103  	// Patch level for the server.
   104  	PatchLevel string `xml:"patchLevel,omitempty" json:"patchLevel,omitempty" vim:"7.0.2.0"`
   105  	// Build string for the server on which this call is made.
   106  	//
   107  	// For example, x.y.z-num.
   108  	// This string does not apply to the API.
   109  	Build string `xml:"build" json:"build"`
   110  	// Version of the message catalog for the current session's locale.
   111  	LocaleVersion string `xml:"localeVersion,omitempty" json:"localeVersion,omitempty"`
   112  	// Build number for the current session's locale.
   113  	//
   114  	// Typically, this is a small number reflecting a
   115  	// localization change from the normal product build.
   116  	LocaleBuild string `xml:"localeBuild,omitempty" json:"localeBuild,omitempty"`
   117  	// Operating system type and architecture.
   118  	//
   119  	// Examples of values are:
   120  	//   - "win32-x86" - For x86-based Windows systems.
   121  	//   - "linux-x86" - For x86-based Linux systems.
   122  	//   - "vmnix-x86" - For the x86 ESX Server microkernel.
   123  	//   - "vmnix-arm64" - For the arm64 ESX Server microkernel.
   124  	OsType string `xml:"osType" json:"osType"`
   125  	// The product ID is a unique identifier for a product line.
   126  	//
   127  	// Examples of values are:
   128  	//   - "gsx" - For the VMware Server product.
   129  	//   - "esx" - For the ESX product.
   130  	//   - "embeddedEsx" - For the ESXi product.
   131  	//   - "esxio" - For the ESXio product.
   132  	//   - "vpx" - For the VirtualCenter product.
   133  	ProductLineId string `xml:"productLineId" json:"productLineId"`
   134  	// Indicates whether or not the service instance represents a
   135  	// standalone host.
   136  	//
   137  	// If the service instance represents a standalone host, then the physical
   138  	// inventory for that service instance is fixed to that single host.
   139  	// VirtualCenter server provides additional features over single hosts.
   140  	// For example, VirtualCenter offers multi-host management.
   141  	//
   142  	// Examples of values are:
   143  	//   - "VirtualCenter" - For a VirtualCenter instance.
   144  	//   - "HostAgent" - For host agent on an ESX Server or VMware Server host.
   145  	ApiType string `xml:"apiType" json:"apiType"`
   146  	// The version of the API as a dot-separated string.
   147  	//
   148  	// For example, "1.0.0".
   149  	ApiVersion string `xml:"apiVersion" json:"apiVersion"`
   150  	// A globally unique identifier associated with this service instance.
   151  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
   152  	// The license product name
   153  	LicenseProductName string `xml:"licenseProductName,omitempty" json:"licenseProductName,omitempty"`
   154  	// The license product version
   155  	LicenseProductVersion string `xml:"licenseProductVersion,omitempty" json:"licenseProductVersion,omitempty"`
   156  }
   157  
   158  func init() {
   159  	t["AboutInfo"] = reflect.TypeOf((*AboutInfo)(nil)).Elem()
   160  }
   161  
   162  // This event records that an account was created on a host.
   163  type AccountCreatedEvent struct {
   164  	HostEvent
   165  
   166  	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
   167  	Group bool                `xml:"group" json:"group"`
   168  }
   169  
   170  func init() {
   171  	t["AccountCreatedEvent"] = reflect.TypeOf((*AccountCreatedEvent)(nil)).Elem()
   172  }
   173  
   174  // This event records that an account was removed from a host.
   175  type AccountRemovedEvent struct {
   176  	HostEvent
   177  
   178  	Account string `xml:"account" json:"account"`
   179  	Group   bool   `xml:"group" json:"group"`
   180  }
   181  
   182  func init() {
   183  	t["AccountRemovedEvent"] = reflect.TypeOf((*AccountRemovedEvent)(nil)).Elem()
   184  }
   185  
   186  // This event records that an account was updated on a host.
   187  type AccountUpdatedEvent struct {
   188  	HostEvent
   189  
   190  	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
   191  	Group bool                `xml:"group" json:"group"`
   192  	// The previous account description
   193  	PrevDescription string `xml:"prevDescription,omitempty" json:"prevDescription,omitempty"`
   194  }
   195  
   196  func init() {
   197  	t["AccountUpdatedEvent"] = reflect.TypeOf((*AccountUpdatedEvent)(nil)).Elem()
   198  }
   199  
   200  type AcknowledgeAlarm AcknowledgeAlarmRequestType
   201  
   202  func init() {
   203  	t["AcknowledgeAlarm"] = reflect.TypeOf((*AcknowledgeAlarm)(nil)).Elem()
   204  }
   205  
   206  // The parameters of `AlarmManager.AcknowledgeAlarm`.
   207  type AcknowledgeAlarmRequestType struct {
   208  	This ManagedObjectReference `xml:"_this" json:"-"`
   209  	// The Alarm to acknowledge.
   210  	//
   211  	// Required privileges: Alarm.Acknowledge
   212  	//
   213  	// Refers instance of `Alarm`.
   214  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
   215  	// The ManagedEntity for which to acknowledge the Alarm.
   216  	//
   217  	// Required privileges: System.Read
   218  	//
   219  	// Refers instance of `ManagedEntity`.
   220  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
   221  }
   222  
   223  func init() {
   224  	t["AcknowledgeAlarmRequestType"] = reflect.TypeOf((*AcknowledgeAlarmRequestType)(nil)).Elem()
   225  }
   226  
   227  type AcknowledgeAlarmResponse struct {
   228  }
   229  
   230  type AcquireCimServicesTicket AcquireCimServicesTicketRequestType
   231  
   232  func init() {
   233  	t["AcquireCimServicesTicket"] = reflect.TypeOf((*AcquireCimServicesTicket)(nil)).Elem()
   234  }
   235  
   236  type AcquireCimServicesTicketRequestType struct {
   237  	This ManagedObjectReference `xml:"_this" json:"-"`
   238  }
   239  
   240  func init() {
   241  	t["AcquireCimServicesTicketRequestType"] = reflect.TypeOf((*AcquireCimServicesTicketRequestType)(nil)).Elem()
   242  }
   243  
   244  type AcquireCimServicesTicketResponse struct {
   245  	Returnval HostServiceTicket `xml:"returnval" json:"returnval"`
   246  }
   247  
   248  type AcquireCloneTicket AcquireCloneTicketRequestType
   249  
   250  func init() {
   251  	t["AcquireCloneTicket"] = reflect.TypeOf((*AcquireCloneTicket)(nil)).Elem()
   252  }
   253  
   254  type AcquireCloneTicketRequestType struct {
   255  	This ManagedObjectReference `xml:"_this" json:"-"`
   256  }
   257  
   258  func init() {
   259  	t["AcquireCloneTicketRequestType"] = reflect.TypeOf((*AcquireCloneTicketRequestType)(nil)).Elem()
   260  }
   261  
   262  type AcquireCloneTicketResponse struct {
   263  	Returnval string `xml:"returnval" json:"returnval"`
   264  }
   265  
   266  type AcquireCredentialsInGuest AcquireCredentialsInGuestRequestType
   267  
   268  func init() {
   269  	t["AcquireCredentialsInGuest"] = reflect.TypeOf((*AcquireCredentialsInGuest)(nil)).Elem()
   270  }
   271  
   272  // The parameters of `GuestAuthManager.AcquireCredentialsInGuest`.
   273  type AcquireCredentialsInGuestRequestType struct {
   274  	This ManagedObjectReference `xml:"_this" json:"-"`
   275  	// MoRef of the VM to perform the operation on.
   276  	//
   277  	// Required privileges: VirtualMachine.GuestOperations.Query
   278  	//
   279  	// Refers instance of `VirtualMachine`.
   280  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
   281  	// The guest authentication data used to acquire credentials.
   282  	// See `GuestAuthentication`.
   283  	RequestedAuth BaseGuestAuthentication `xml:"requestedAuth,typeattr" json:"requestedAuth"`
   284  	// The sessionID number should be provided only when
   285  	// responding to a server challenge. The sessionID number to be used with
   286  	// the challenge is found in the
   287  	// `GuestAuthenticationChallenge` object.
   288  	SessionID int64 `xml:"sessionID,omitempty" json:"sessionID,omitempty"`
   289  }
   290  
   291  func init() {
   292  	t["AcquireCredentialsInGuestRequestType"] = reflect.TypeOf((*AcquireCredentialsInGuestRequestType)(nil)).Elem()
   293  }
   294  
   295  type AcquireCredentialsInGuestResponse struct {
   296  	Returnval BaseGuestAuthentication `xml:"returnval,typeattr" json:"returnval"`
   297  }
   298  
   299  type AcquireGenericServiceTicket AcquireGenericServiceTicketRequestType
   300  
   301  func init() {
   302  	t["AcquireGenericServiceTicket"] = reflect.TypeOf((*AcquireGenericServiceTicket)(nil)).Elem()
   303  }
   304  
   305  // The parameters of `SessionManager.AcquireGenericServiceTicket`.
   306  type AcquireGenericServiceTicketRequestType struct {
   307  	This ManagedObjectReference `xml:"_this" json:"-"`
   308  	// specification for the service request which will be
   309  	// invoked with the ticket.
   310  	Spec BaseSessionManagerServiceRequestSpec `xml:"spec,typeattr" json:"spec"`
   311  }
   312  
   313  func init() {
   314  	t["AcquireGenericServiceTicketRequestType"] = reflect.TypeOf((*AcquireGenericServiceTicketRequestType)(nil)).Elem()
   315  }
   316  
   317  type AcquireGenericServiceTicketResponse struct {
   318  	Returnval SessionManagerGenericServiceTicket `xml:"returnval" json:"returnval"`
   319  }
   320  
   321  type AcquireLocalTicket AcquireLocalTicketRequestType
   322  
   323  func init() {
   324  	t["AcquireLocalTicket"] = reflect.TypeOf((*AcquireLocalTicket)(nil)).Elem()
   325  }
   326  
   327  // The parameters of `SessionManager.AcquireLocalTicket`.
   328  type AcquireLocalTicketRequestType struct {
   329  	This ManagedObjectReference `xml:"_this" json:"-"`
   330  	// User requesting one-time password.
   331  	UserName string `xml:"userName" json:"userName"`
   332  }
   333  
   334  func init() {
   335  	t["AcquireLocalTicketRequestType"] = reflect.TypeOf((*AcquireLocalTicketRequestType)(nil)).Elem()
   336  }
   337  
   338  type AcquireLocalTicketResponse struct {
   339  	Returnval SessionManagerLocalTicket `xml:"returnval" json:"returnval"`
   340  }
   341  
   342  type AcquireMksTicket AcquireMksTicketRequestType
   343  
   344  func init() {
   345  	t["AcquireMksTicket"] = reflect.TypeOf((*AcquireMksTicket)(nil)).Elem()
   346  }
   347  
   348  type AcquireMksTicketRequestType struct {
   349  	This ManagedObjectReference `xml:"_this" json:"-"`
   350  }
   351  
   352  func init() {
   353  	t["AcquireMksTicketRequestType"] = reflect.TypeOf((*AcquireMksTicketRequestType)(nil)).Elem()
   354  }
   355  
   356  type AcquireMksTicketResponse struct {
   357  	Returnval VirtualMachineMksTicket `xml:"returnval" json:"returnval"`
   358  }
   359  
   360  type AcquireTicket AcquireTicketRequestType
   361  
   362  func init() {
   363  	t["AcquireTicket"] = reflect.TypeOf((*AcquireTicket)(nil)).Elem()
   364  }
   365  
   366  // The parameters of `VirtualMachine.AcquireTicket`.
   367  type AcquireTicketRequestType struct {
   368  	This ManagedObjectReference `xml:"_this" json:"-"`
   369  	// The type of service to acquire, the set of possible
   370  	// values is described in `VirtualMachineTicketType_enum`.
   371  	TicketType string `xml:"ticketType" json:"ticketType"`
   372  }
   373  
   374  func init() {
   375  	t["AcquireTicketRequestType"] = reflect.TypeOf((*AcquireTicketRequestType)(nil)).Elem()
   376  }
   377  
   378  type AcquireTicketResponse struct {
   379  	Returnval VirtualMachineTicket `xml:"returnval" json:"returnval"`
   380  }
   381  
   382  // This data object type defines the action initiated by a scheduled task or alarm.
   383  //
   384  // This is an abstract type.
   385  // A client creates a scheduled task or an alarm each of which triggers
   386  // an action, defined by a subclass of this type.
   387  type Action struct {
   388  	DynamicData
   389  }
   390  
   391  func init() {
   392  	t["Action"] = reflect.TypeOf((*Action)(nil)).Elem()
   393  }
   394  
   395  // Base fault for Active Directory related problems.
   396  type ActiveDirectoryFault struct {
   397  	VimFault
   398  
   399  	// The error code reported by the Active Directory API.
   400  	ErrorCode int32 `xml:"errorCode,omitempty" json:"errorCode,omitempty"`
   401  }
   402  
   403  func init() {
   404  	t["ActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem()
   405  }
   406  
   407  type ActiveDirectoryFaultFault BaseActiveDirectoryFault
   408  
   409  func init() {
   410  	t["ActiveDirectoryFaultFault"] = reflect.TypeOf((*ActiveDirectoryFaultFault)(nil)).Elem()
   411  }
   412  
   413  // The `ActiveDirectoryProfile` data object represents Active Directory
   414  // configuration.
   415  //
   416  // Use the `ApplyProfile.policy` list for
   417  // access to configuration data for the Active Directory profile. Use the
   418  // `ApplyProfile.property` list for access to subprofiles, if any.
   419  type ActiveDirectoryProfile struct {
   420  	ApplyProfile
   421  }
   422  
   423  func init() {
   424  	t["ActiveDirectoryProfile"] = reflect.TypeOf((*ActiveDirectoryProfile)(nil)).Elem()
   425  }
   426  
   427  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
   428  // select a less-featureful EVC mode for a cluster where EVC is already
   429  // enabled, has failed for the following reason:
   430  //   - The cluster contains hosts that expose additional compatibility-
   431  //     relevant CPU features beyond those present in the baseline of the
   432  //     requested EVC mode.
   433  //   - Those hosts have powered-on or suspended virtual machines.
   434  //
   435  // Therefore the EVC configuration has been rejected since it may suppress
   436  // CPU features that are currently in-use.
   437  type ActiveVMsBlockingEVC struct {
   438  	EVCConfigFault
   439  
   440  	// The requested EVC mode.
   441  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
   442  	// Hosts with active virtual machines that are blocking the operation,
   443  	// because the hosts expose compatibility-relevant CPU features not present
   444  	// in the baseline of the requested EVC mode.
   445  	//
   446  	// Note that in rare cases, a host may be on this list even if its
   447  	// `maxEVCModeKey` corresponds to the
   448  	// requested EVC mode. This means that even though that EVC mode is the
   449  	// best match for the host's hardware, the host still has some features
   450  	// beyond those present in the baseline for that EVC mode.
   451  	//
   452  	// Refers instances of `HostSystem`.
   453  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
   454  	// The names of the hosts in the host array.
   455  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
   456  }
   457  
   458  func init() {
   459  	t["ActiveVMsBlockingEVC"] = reflect.TypeOf((*ActiveVMsBlockingEVC)(nil)).Elem()
   460  }
   461  
   462  type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC
   463  
   464  func init() {
   465  	t["ActiveVMsBlockingEVCFault"] = reflect.TypeOf((*ActiveVMsBlockingEVCFault)(nil)).Elem()
   466  }
   467  
   468  type AddAuthorizationRole AddAuthorizationRoleRequestType
   469  
   470  func init() {
   471  	t["AddAuthorizationRole"] = reflect.TypeOf((*AddAuthorizationRole)(nil)).Elem()
   472  }
   473  
   474  // The parameters of `AuthorizationManager.AddAuthorizationRole`.
   475  type AddAuthorizationRoleRequestType struct {
   476  	This ManagedObjectReference `xml:"_this" json:"-"`
   477  	// Name of the new role.
   478  	Name string `xml:"name" json:"name"`
   479  	// List of privileges to assign to the role.
   480  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
   481  }
   482  
   483  func init() {
   484  	t["AddAuthorizationRoleRequestType"] = reflect.TypeOf((*AddAuthorizationRoleRequestType)(nil)).Elem()
   485  }
   486  
   487  type AddAuthorizationRoleResponse struct {
   488  	Returnval int32 `xml:"returnval" json:"returnval"`
   489  }
   490  
   491  type AddCustomFieldDef AddCustomFieldDefRequestType
   492  
   493  func init() {
   494  	t["AddCustomFieldDef"] = reflect.TypeOf((*AddCustomFieldDef)(nil)).Elem()
   495  }
   496  
   497  // The parameters of `CustomFieldsManager.AddCustomFieldDef`.
   498  type AddCustomFieldDefRequestType struct {
   499  	This ManagedObjectReference `xml:"_this" json:"-"`
   500  	// The name of the field.
   501  	Name string `xml:"name" json:"name"`
   502  	// The managed object type to which this field
   503  	// will apply
   504  	MoType string `xml:"moType,omitempty" json:"moType,omitempty"`
   505  	// Privilege policy to apply to FieldDef being
   506  	// created
   507  	FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty" json:"fieldDefPolicy,omitempty"`
   508  	// Privilege policy to apply to instances of field
   509  	FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty" json:"fieldPolicy,omitempty"`
   510  }
   511  
   512  func init() {
   513  	t["AddCustomFieldDefRequestType"] = reflect.TypeOf((*AddCustomFieldDefRequestType)(nil)).Elem()
   514  }
   515  
   516  type AddCustomFieldDefResponse struct {
   517  	Returnval CustomFieldDef `xml:"returnval" json:"returnval"`
   518  }
   519  
   520  // The parameters of `DistributedVirtualSwitch.AddDVPortgroup_Task`.
   521  type AddDVPortgroupRequestType struct {
   522  	This ManagedObjectReference `xml:"_this" json:"-"`
   523  	// The specification for the portgroup.
   524  	Spec []DVPortgroupConfigSpec `xml:"spec" json:"spec"`
   525  }
   526  
   527  func init() {
   528  	t["AddDVPortgroupRequestType"] = reflect.TypeOf((*AddDVPortgroupRequestType)(nil)).Elem()
   529  }
   530  
   531  type AddDVPortgroup_Task AddDVPortgroupRequestType
   532  
   533  func init() {
   534  	t["AddDVPortgroup_Task"] = reflect.TypeOf((*AddDVPortgroup_Task)(nil)).Elem()
   535  }
   536  
   537  type AddDVPortgroup_TaskResponse struct {
   538  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   539  }
   540  
   541  // The parameters of `HostVsanSystem.AddDisks_Task`.
   542  type AddDisksRequestType struct {
   543  	This ManagedObjectReference `xml:"_this" json:"-"`
   544  	// list of disks to add for use by the VSAN service
   545  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
   546  }
   547  
   548  func init() {
   549  	t["AddDisksRequestType"] = reflect.TypeOf((*AddDisksRequestType)(nil)).Elem()
   550  }
   551  
   552  type AddDisks_Task AddDisksRequestType
   553  
   554  func init() {
   555  	t["AddDisks_Task"] = reflect.TypeOf((*AddDisks_Task)(nil)).Elem()
   556  }
   557  
   558  type AddDisks_TaskResponse struct {
   559  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   560  }
   561  
   562  type AddFilter AddFilterRequestType
   563  
   564  func init() {
   565  	t["AddFilter"] = reflect.TypeOf((*AddFilter)(nil)).Elem()
   566  }
   567  
   568  type AddFilterEntities AddFilterEntitiesRequestType
   569  
   570  func init() {
   571  	t["AddFilterEntities"] = reflect.TypeOf((*AddFilterEntities)(nil)).Elem()
   572  }
   573  
   574  // The parameters of `HealthUpdateManager.AddFilterEntities`.
   575  type AddFilterEntitiesRequestType struct {
   576  	This ManagedObjectReference `xml:"_this" json:"-"`
   577  	// The filter id.
   578  	FilterId string `xml:"filterId" json:"filterId"`
   579  	// The list of additional managed entities. Only
   580  	// entities of type HostSystem or
   581  	// ClusterComputeResource are valid.
   582  	//
   583  	// Refers instances of `ManagedEntity`.
   584  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   585  }
   586  
   587  func init() {
   588  	t["AddFilterEntitiesRequestType"] = reflect.TypeOf((*AddFilterEntitiesRequestType)(nil)).Elem()
   589  }
   590  
   591  type AddFilterEntitiesResponse struct {
   592  }
   593  
   594  // The parameters of `HealthUpdateManager.AddFilter`.
   595  type AddFilterRequestType struct {
   596  	This ManagedObjectReference `xml:"_this" json:"-"`
   597  	// The provider identifier.
   598  	ProviderId string `xml:"providerId" json:"providerId"`
   599  	// The filter name.
   600  	FilterName string `xml:"filterName" json:"filterName"`
   601  	// The list of HealthUpdateInfo IDs that should be
   602  	// filtered.
   603  	InfoIds []string `xml:"infoIds,omitempty" json:"infoIds,omitempty"`
   604  }
   605  
   606  func init() {
   607  	t["AddFilterRequestType"] = reflect.TypeOf((*AddFilterRequestType)(nil)).Elem()
   608  }
   609  
   610  type AddFilterResponse struct {
   611  	Returnval string `xml:"returnval" json:"returnval"`
   612  }
   613  
   614  type AddGuestAlias AddGuestAliasRequestType
   615  
   616  func init() {
   617  	t["AddGuestAlias"] = reflect.TypeOf((*AddGuestAlias)(nil)).Elem()
   618  }
   619  
   620  // The parameters of `GuestAliasManager.AddGuestAlias`.
   621  type AddGuestAliasRequestType struct {
   622  	This ManagedObjectReference `xml:"_this" json:"-"`
   623  	// Virtual machine to perform the operation on.
   624  	//
   625  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
   626  	//
   627  	// Refers instance of `VirtualMachine`.
   628  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
   629  	// The guest authentication data for this operation. See
   630  	// `GuestAuthentication`. These credentials must satisfy
   631  	// authentication requirements
   632  	// for a guest account on the specified virtual machine.
   633  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
   634  	// Username for the guest account on the virtual machine.
   635  	Username string `xml:"username" json:"username"`
   636  	// Indicates whether the certificate associated with the
   637  	// alias should be mapped. If an alias certificate is mapped,
   638  	// guest operation requests that use that alias do not have
   639  	// to specify the guest account username in the
   640  	// `SAMLTokenAuthentication` object. If mapCert is
   641  	// false, the request must specify the username.
   642  	MapCert bool `xml:"mapCert" json:"mapCert"`
   643  	// X.509 certificate from the VMware SSO Server,
   644  	// in base64 encoded DER format. The ESXi
   645  	// Server uses this certificate to authenticate guest
   646  	// operation requests.
   647  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
   648  	// Specifies the subject name for authentication.
   649  	// The subject name (when present) corresponds to
   650  	// the value of the Subject element
   651  	// in SAML tokens. The ESXi Server uses the subject
   652  	// name to authenticate guest operation requests.
   653  	AliasInfo GuestAuthAliasInfo `xml:"aliasInfo" json:"aliasInfo"`
   654  }
   655  
   656  func init() {
   657  	t["AddGuestAliasRequestType"] = reflect.TypeOf((*AddGuestAliasRequestType)(nil)).Elem()
   658  }
   659  
   660  type AddGuestAliasResponse struct {
   661  }
   662  
   663  // The parameters of `ClusterComputeResource.AddHost_Task`.
   664  type AddHostRequestType struct {
   665  	This ManagedObjectReference `xml:"_this" json:"-"`
   666  	// Specifies the parameters needed to add a single host.
   667  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   668  	// Flag to specify whether or not the host should be connected
   669  	// immediately after it is added. The host will not be added if
   670  	// a connection attempt is made and fails.
   671  	AsConnected bool `xml:"asConnected" json:"asConnected"`
   672  	// the resource pool for the root resource pool from the host.
   673  	//
   674  	// Required privileges: Resource.AssignVMToPool
   675  	//
   676  	// Refers instance of `ResourcePool`.
   677  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
   678  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   679  	License string `xml:"license,omitempty" json:"license,omitempty"`
   680  }
   681  
   682  func init() {
   683  	t["AddHostRequestType"] = reflect.TypeOf((*AddHostRequestType)(nil)).Elem()
   684  }
   685  
   686  type AddHost_Task AddHostRequestType
   687  
   688  func init() {
   689  	t["AddHost_Task"] = reflect.TypeOf((*AddHost_Task)(nil)).Elem()
   690  }
   691  
   692  type AddHost_TaskResponse struct {
   693  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   694  }
   695  
   696  type AddInternetScsiSendTargets AddInternetScsiSendTargetsRequestType
   697  
   698  func init() {
   699  	t["AddInternetScsiSendTargets"] = reflect.TypeOf((*AddInternetScsiSendTargets)(nil)).Elem()
   700  }
   701  
   702  // The parameters of `HostStorageSystem.AddInternetScsiSendTargets`.
   703  type AddInternetScsiSendTargetsRequestType struct {
   704  	This ManagedObjectReference `xml:"_this" json:"-"`
   705  	// The device of the Internet SCSI HBA adapter.
   706  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   707  	// An array of iSCSI send targets.
   708  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
   709  }
   710  
   711  func init() {
   712  	t["AddInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiSendTargetsRequestType)(nil)).Elem()
   713  }
   714  
   715  type AddInternetScsiSendTargetsResponse struct {
   716  }
   717  
   718  type AddInternetScsiStaticTargets AddInternetScsiStaticTargetsRequestType
   719  
   720  func init() {
   721  	t["AddInternetScsiStaticTargets"] = reflect.TypeOf((*AddInternetScsiStaticTargets)(nil)).Elem()
   722  }
   723  
   724  // The parameters of `HostStorageSystem.AddInternetScsiStaticTargets`.
   725  type AddInternetScsiStaticTargetsRequestType struct {
   726  	This ManagedObjectReference `xml:"_this" json:"-"`
   727  	// The device of the Internet SCSI HBA adapter.
   728  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
   729  	// An array of iSCSI static targets to add.
   730  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
   731  }
   732  
   733  func init() {
   734  	t["AddInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiStaticTargetsRequestType)(nil)).Elem()
   735  }
   736  
   737  type AddInternetScsiStaticTargetsResponse struct {
   738  }
   739  
   740  type AddKey AddKeyRequestType
   741  
   742  func init() {
   743  	t["AddKey"] = reflect.TypeOf((*AddKey)(nil)).Elem()
   744  }
   745  
   746  // The parameters of `CryptoManager.AddKey`.
   747  type AddKeyRequestType struct {
   748  	This ManagedObjectReference `xml:"_this" json:"-"`
   749  	// \[in\] The cryptographic key to add.
   750  	Key CryptoKeyPlain `xml:"key" json:"key"`
   751  }
   752  
   753  func init() {
   754  	t["AddKeyRequestType"] = reflect.TypeOf((*AddKeyRequestType)(nil)).Elem()
   755  }
   756  
   757  type AddKeyResponse struct {
   758  }
   759  
   760  type AddKeys AddKeysRequestType
   761  
   762  func init() {
   763  	t["AddKeys"] = reflect.TypeOf((*AddKeys)(nil)).Elem()
   764  }
   765  
   766  // The parameters of `CryptoManager.AddKeys`.
   767  type AddKeysRequestType struct {
   768  	This ManagedObjectReference `xml:"_this" json:"-"`
   769  	// \[in\] List of cryptographic keys to add.
   770  	Keys []CryptoKeyPlain `xml:"keys,omitempty" json:"keys,omitempty"`
   771  }
   772  
   773  func init() {
   774  	t["AddKeysRequestType"] = reflect.TypeOf((*AddKeysRequestType)(nil)).Elem()
   775  }
   776  
   777  type AddKeysResponse struct {
   778  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
   779  }
   780  
   781  type AddLicense AddLicenseRequestType
   782  
   783  func init() {
   784  	t["AddLicense"] = reflect.TypeOf((*AddLicense)(nil)).Elem()
   785  }
   786  
   787  // The parameters of `LicenseManager.AddLicense`.
   788  type AddLicenseRequestType struct {
   789  	This ManagedObjectReference `xml:"_this" json:"-"`
   790  	// A license. E.g. a serial license.
   791  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
   792  	// array of key-value labels. Ignored by ESX Server.
   793  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
   794  }
   795  
   796  func init() {
   797  	t["AddLicenseRequestType"] = reflect.TypeOf((*AddLicenseRequestType)(nil)).Elem()
   798  }
   799  
   800  type AddLicenseResponse struct {
   801  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
   802  }
   803  
   804  type AddMonitoredEntities AddMonitoredEntitiesRequestType
   805  
   806  func init() {
   807  	t["AddMonitoredEntities"] = reflect.TypeOf((*AddMonitoredEntities)(nil)).Elem()
   808  }
   809  
   810  // The parameters of `HealthUpdateManager.AddMonitoredEntities`.
   811  type AddMonitoredEntitiesRequestType struct {
   812  	This ManagedObjectReference `xml:"_this" json:"-"`
   813  	// The provider id.
   814  	ProviderId string `xml:"providerId" json:"providerId"`
   815  	// The entities that are newly monitored by this
   816  	// provider.
   817  	//
   818  	// Refers instances of `ManagedEntity`.
   819  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
   820  }
   821  
   822  func init() {
   823  	t["AddMonitoredEntitiesRequestType"] = reflect.TypeOf((*AddMonitoredEntitiesRequestType)(nil)).Elem()
   824  }
   825  
   826  type AddMonitoredEntitiesResponse struct {
   827  }
   828  
   829  type AddNetworkResourcePool AddNetworkResourcePoolRequestType
   830  
   831  func init() {
   832  	t["AddNetworkResourcePool"] = reflect.TypeOf((*AddNetworkResourcePool)(nil)).Elem()
   833  }
   834  
   835  // The parameters of `DistributedVirtualSwitch.AddNetworkResourcePool`.
   836  type AddNetworkResourcePoolRequestType struct {
   837  	This ManagedObjectReference `xml:"_this" json:"-"`
   838  	// the network resource pool configuration specification.
   839  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
   840  }
   841  
   842  func init() {
   843  	t["AddNetworkResourcePoolRequestType"] = reflect.TypeOf((*AddNetworkResourcePoolRequestType)(nil)).Elem()
   844  }
   845  
   846  type AddNetworkResourcePoolResponse struct {
   847  }
   848  
   849  type AddPortGroup AddPortGroupRequestType
   850  
   851  func init() {
   852  	t["AddPortGroup"] = reflect.TypeOf((*AddPortGroup)(nil)).Elem()
   853  }
   854  
   855  // The parameters of `HostNetworkSystem.AddPortGroup`.
   856  type AddPortGroupRequestType struct {
   857  	This    ManagedObjectReference `xml:"_this" json:"-"`
   858  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
   859  }
   860  
   861  func init() {
   862  	t["AddPortGroupRequestType"] = reflect.TypeOf((*AddPortGroupRequestType)(nil)).Elem()
   863  }
   864  
   865  type AddPortGroupResponse struct {
   866  }
   867  
   868  type AddServiceConsoleVirtualNic AddServiceConsoleVirtualNicRequestType
   869  
   870  func init() {
   871  	t["AddServiceConsoleVirtualNic"] = reflect.TypeOf((*AddServiceConsoleVirtualNic)(nil)).Elem()
   872  }
   873  
   874  // The parameters of `HostNetworkSystem.AddServiceConsoleVirtualNic`.
   875  type AddServiceConsoleVirtualNicRequestType struct {
   876  	This      ManagedObjectReference `xml:"_this" json:"-"`
   877  	Portgroup string                 `xml:"portgroup" json:"portgroup"`
   878  	Nic       HostVirtualNicSpec     `xml:"nic" json:"nic"`
   879  }
   880  
   881  func init() {
   882  	t["AddServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*AddServiceConsoleVirtualNicRequestType)(nil)).Elem()
   883  }
   884  
   885  type AddServiceConsoleVirtualNicResponse struct {
   886  	Returnval string `xml:"returnval" json:"returnval"`
   887  }
   888  
   889  // The parameters of `Folder.AddStandaloneHost_Task`.
   890  type AddStandaloneHostRequestType struct {
   891  	This ManagedObjectReference `xml:"_this" json:"-"`
   892  	// Specifies the parameters needed to add a single host.
   893  	Spec HostConnectSpec `xml:"spec" json:"spec"`
   894  	// Optionally specify the configuration for the compute
   895  	// resource that will be created to contain the host.
   896  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
   897  	// Flag to specify whether or not the host should be
   898  	// connected as soon as it is added. The host will not
   899  	// be added if a connection attempt is made and fails.
   900  	AddConnected bool `xml:"addConnected" json:"addConnected"`
   901  	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
   902  	License string `xml:"license,omitempty" json:"license,omitempty"`
   903  }
   904  
   905  func init() {
   906  	t["AddStandaloneHostRequestType"] = reflect.TypeOf((*AddStandaloneHostRequestType)(nil)).Elem()
   907  }
   908  
   909  type AddStandaloneHost_Task AddStandaloneHostRequestType
   910  
   911  func init() {
   912  	t["AddStandaloneHost_Task"] = reflect.TypeOf((*AddStandaloneHost_Task)(nil)).Elem()
   913  }
   914  
   915  type AddStandaloneHost_TaskResponse struct {
   916  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
   917  }
   918  
   919  type AddVirtualNic AddVirtualNicRequestType
   920  
   921  func init() {
   922  	t["AddVirtualNic"] = reflect.TypeOf((*AddVirtualNic)(nil)).Elem()
   923  }
   924  
   925  // The parameters of `HostNetworkSystem.AddVirtualNic`.
   926  type AddVirtualNicRequestType struct {
   927  	This ManagedObjectReference `xml:"_this" json:"-"`
   928  	// Note: Must be the empty string in case nic.distributedVirtualPort
   929  	// is set.
   930  	Portgroup string             `xml:"portgroup" json:"portgroup"`
   931  	Nic       HostVirtualNicSpec `xml:"nic" json:"nic"`
   932  }
   933  
   934  func init() {
   935  	t["AddVirtualNicRequestType"] = reflect.TypeOf((*AddVirtualNicRequestType)(nil)).Elem()
   936  }
   937  
   938  type AddVirtualNicResponse struct {
   939  	Returnval string `xml:"returnval" json:"returnval"`
   940  }
   941  
   942  type AddVirtualSwitch AddVirtualSwitchRequestType
   943  
   944  func init() {
   945  	t["AddVirtualSwitch"] = reflect.TypeOf((*AddVirtualSwitch)(nil)).Elem()
   946  }
   947  
   948  // The parameters of `HostNetworkSystem.AddVirtualSwitch`.
   949  type AddVirtualSwitchRequestType struct {
   950  	This        ManagedObjectReference `xml:"_this" json:"-"`
   951  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
   952  	Spec        *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
   953  }
   954  
   955  func init() {
   956  	t["AddVirtualSwitchRequestType"] = reflect.TypeOf((*AddVirtualSwitchRequestType)(nil)).Elem()
   957  }
   958  
   959  type AddVirtualSwitchResponse struct {
   960  }
   961  
   962  // Fault thrown if an attempt to disable the Administrator permission
   963  // on a host of which the Administator permission has already been disabled.
   964  type AdminDisabled struct {
   965  	HostConfigFault
   966  }
   967  
   968  func init() {
   969  	t["AdminDisabled"] = reflect.TypeOf((*AdminDisabled)(nil)).Elem()
   970  }
   971  
   972  type AdminDisabledFault AdminDisabled
   973  
   974  func init() {
   975  	t["AdminDisabledFault"] = reflect.TypeOf((*AdminDisabledFault)(nil)).Elem()
   976  }
   977  
   978  // Fault thrown if an attempt to enable the Administrator permission
   979  // on a host of which the Administator permission is not disabled.
   980  type AdminNotDisabled struct {
   981  	HostConfigFault
   982  }
   983  
   984  func init() {
   985  	t["AdminNotDisabled"] = reflect.TypeOf((*AdminNotDisabled)(nil)).Elem()
   986  }
   987  
   988  type AdminNotDisabledFault AdminNotDisabled
   989  
   990  func init() {
   991  	t["AdminNotDisabledFault"] = reflect.TypeOf((*AdminNotDisabledFault)(nil)).Elem()
   992  }
   993  
   994  // Default password for the Admin user on the host has not been changed.
   995  type AdminPasswordNotChangedEvent struct {
   996  	HostEvent
   997  }
   998  
   999  func init() {
  1000  	t["AdminPasswordNotChangedEvent"] = reflect.TypeOf((*AdminPasswordNotChangedEvent)(nil)).Elem()
  1001  }
  1002  
  1003  // Virtual machine has a configured memory and/or CPU affinity that will
  1004  // prevent VMotion.
  1005  //
  1006  // This is an error for powered-on virtual machines.
  1007  type AffinityConfigured struct {
  1008  	MigrationFault
  1009  
  1010  	// Configured affinity types for the virtual machine.
  1011  	//
  1012  	// See `AffinityType_enum` for valid values.
  1013  	ConfiguredAffinity []string `xml:"configuredAffinity" json:"configuredAffinity"`
  1014  }
  1015  
  1016  func init() {
  1017  	t["AffinityConfigured"] = reflect.TypeOf((*AffinityConfigured)(nil)).Elem()
  1018  }
  1019  
  1020  type AffinityConfiguredFault AffinityConfigured
  1021  
  1022  func init() {
  1023  	t["AffinityConfiguredFault"] = reflect.TypeOf((*AffinityConfiguredFault)(nil)).Elem()
  1024  }
  1025  
  1026  // The `AfterStartupTaskScheduler` data object establishes the time
  1027  // that a scheduled task will run after the vCenter server restarts.
  1028  type AfterStartupTaskScheduler struct {
  1029  	TaskScheduler
  1030  
  1031  	// The delay in minutes after vCenter server is restarted.
  1032  	//
  1033  	// The value must be greater than or equal to 0.
  1034  	Minute int32 `xml:"minute" json:"minute"`
  1035  }
  1036  
  1037  func init() {
  1038  	t["AfterStartupTaskScheduler"] = reflect.TypeOf((*AfterStartupTaskScheduler)(nil)).Elem()
  1039  }
  1040  
  1041  // An AgentInstallFailed fault is thrown when VirtualCenter
  1042  // fails to install the VirtualCenter agent on a host.
  1043  //
  1044  // For example, a fault is
  1045  // thrown if the agent software cannot be uploaded to the host or an error occurred
  1046  // during the agent installation.
  1047  type AgentInstallFailed struct {
  1048  	HostConnectFault
  1049  
  1050  	// The reason why the agent install failed, if known.
  1051  	//
  1052  	// Values should come from `AgentInstallFailedReason_enum`.
  1053  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
  1054  	// The status code returned by the agent installer, if it was run.
  1055  	StatusCode int32 `xml:"statusCode,omitempty" json:"statusCode,omitempty"`
  1056  	// The output (stdout/stderr) from executing the agent installer.
  1057  	InstallerOutput string `xml:"installerOutput,omitempty" json:"installerOutput,omitempty"`
  1058  }
  1059  
  1060  func init() {
  1061  	t["AgentInstallFailed"] = reflect.TypeOf((*AgentInstallFailed)(nil)).Elem()
  1062  }
  1063  
  1064  type AgentInstallFailedFault AgentInstallFailed
  1065  
  1066  func init() {
  1067  	t["AgentInstallFailedFault"] = reflect.TypeOf((*AgentInstallFailedFault)(nil)).Elem()
  1068  }
  1069  
  1070  // This event records the acknowledgement of an Alarm
  1071  type AlarmAcknowledgedEvent struct {
  1072  	AlarmEvent
  1073  
  1074  	// The entity that triggered the alarm.
  1075  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1076  	// The entity with which the alarm is registered.
  1077  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1078  }
  1079  
  1080  func init() {
  1081  	t["AlarmAcknowledgedEvent"] = reflect.TypeOf((*AlarmAcknowledgedEvent)(nil)).Elem()
  1082  }
  1083  
  1084  // Action invoked by triggered alarm.
  1085  //
  1086  // This is an abstract type.
  1087  type AlarmAction struct {
  1088  	DynamicData
  1089  }
  1090  
  1091  func init() {
  1092  	t["AlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem()
  1093  }
  1094  
  1095  // This event records that an alarm was triggered.
  1096  type AlarmActionTriggeredEvent struct {
  1097  	AlarmEvent
  1098  
  1099  	// The entity that triggered the alarm.
  1100  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1101  	// The entity with which the alarm is registered.
  1102  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1103  }
  1104  
  1105  func init() {
  1106  	t["AlarmActionTriggeredEvent"] = reflect.TypeOf((*AlarmActionTriggeredEvent)(nil)).Elem()
  1107  }
  1108  
  1109  // This event records the manual clearing of an Alarm
  1110  type AlarmClearedEvent struct {
  1111  	AlarmEvent
  1112  
  1113  	// The entity that triggered the alarm.
  1114  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1115  	// The entity with which the alarm is registered.
  1116  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1117  	// The original alarm status from which it was cleared
  1118  	From string `xml:"from" json:"from"`
  1119  }
  1120  
  1121  func init() {
  1122  	t["AlarmClearedEvent"] = reflect.TypeOf((*AlarmClearedEvent)(nil)).Elem()
  1123  }
  1124  
  1125  // This event records the creation of an alarm.
  1126  type AlarmCreatedEvent struct {
  1127  	AlarmEvent
  1128  
  1129  	// The entity with which the alarm is registered.
  1130  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1131  }
  1132  
  1133  func init() {
  1134  	t["AlarmCreatedEvent"] = reflect.TypeOf((*AlarmCreatedEvent)(nil)).Elem()
  1135  }
  1136  
  1137  // Static strings for alarms.
  1138  type AlarmDescription struct {
  1139  	DynamicData
  1140  
  1141  	// Descriptions of expression types for a trigger.
  1142  	Expr []BaseTypeDescription `xml:"expr,typeattr" json:"expr"`
  1143  	// *State Operator enum description*
  1144  	StateOperator []BaseElementDescription `xml:"stateOperator,typeattr" json:"stateOperator"`
  1145  	// *MetricAlarmExpression Metric Operator enum description*
  1146  	MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr" json:"metricOperator"`
  1147  	// *Host System Connection State enum description*
  1148  	HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr" json:"hostSystemConnectionState"`
  1149  	// *Virtual Machine Power State enum description*
  1150  	VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr" json:"virtualMachinePowerState"`
  1151  	// `DatastoreSummary.accessible` and
  1152  	// `description`
  1153  	DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr" json:"datastoreConnectionState,omitempty"`
  1154  	// *Host System Power State enum description*
  1155  	HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr" json:"hostSystemPowerState,omitempty"`
  1156  	// *Guest Heartbeat Status enum description*
  1157  	VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr" json:"virtualMachineGuestHeartbeatStatus,omitempty"`
  1158  	// *ManagedEntity Status enum description*
  1159  	EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr" json:"entityStatus"`
  1160  	// Action class descriptions for an alarm.
  1161  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
  1162  }
  1163  
  1164  func init() {
  1165  	t["AlarmDescription"] = reflect.TypeOf((*AlarmDescription)(nil)).Elem()
  1166  }
  1167  
  1168  // This event records the completion of an alarm email notification.
  1169  type AlarmEmailCompletedEvent struct {
  1170  	AlarmEvent
  1171  
  1172  	// The entity with which the alarm is registered.
  1173  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1174  	// The destination email address.
  1175  	To string `xml:"to" json:"to"`
  1176  }
  1177  
  1178  func init() {
  1179  	t["AlarmEmailCompletedEvent"] = reflect.TypeOf((*AlarmEmailCompletedEvent)(nil)).Elem()
  1180  }
  1181  
  1182  // This event records a failure to complete an alarm email notification.
  1183  type AlarmEmailFailedEvent struct {
  1184  	AlarmEvent
  1185  
  1186  	// The entity with which the alarm is registered.
  1187  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1188  	// The destination email address.
  1189  	To string `xml:"to" json:"to"`
  1190  	// The reason for the failure.
  1191  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1192  }
  1193  
  1194  func init() {
  1195  	t["AlarmEmailFailedEvent"] = reflect.TypeOf((*AlarmEmailFailedEvent)(nil)).Elem()
  1196  }
  1197  
  1198  // This event is an alarm events.
  1199  type AlarmEvent struct {
  1200  	Event
  1201  
  1202  	// The associated alarm object.
  1203  	Alarm AlarmEventArgument `xml:"alarm" json:"alarm"`
  1204  }
  1205  
  1206  func init() {
  1207  	t["AlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem()
  1208  }
  1209  
  1210  // The event argument is an Alarm object.
  1211  type AlarmEventArgument struct {
  1212  	EntityEventArgument
  1213  
  1214  	// The Alarm object.
  1215  	//
  1216  	// Refers instance of `Alarm`.
  1217  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1218  }
  1219  
  1220  func init() {
  1221  	t["AlarmEventArgument"] = reflect.TypeOf((*AlarmEventArgument)(nil)).Elem()
  1222  }
  1223  
  1224  // Base type for the expressions specifying the conditions that define
  1225  // the status of an alarm.
  1226  type AlarmExpression struct {
  1227  	DynamicData
  1228  }
  1229  
  1230  func init() {
  1231  	t["AlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem()
  1232  }
  1233  
  1234  // Alarm Filter used to filter/group alarms.
  1235  type AlarmFilterSpec struct {
  1236  	DynamicData
  1237  
  1238  	// Status array which could be used to filter alarms according to their
  1239  	// triggered state.
  1240  	//
  1241  	// If all triggered alarms need to be matched an empty array or
  1242  	// ManagedEntity::red and ManagedEntity::yellow could be filled in the array.
  1243  	Status []ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
  1244  	// Use values from `AlarmFilterSpecAlarmTypeByEntity_enum`
  1245  	TypeEntity string `xml:"typeEntity,omitempty" json:"typeEntity,omitempty"`
  1246  	// Use values from `AlarmFilterSpecAlarmTypeByTrigger_enum`
  1247  	TypeTrigger string `xml:"typeTrigger,omitempty" json:"typeTrigger,omitempty"`
  1248  }
  1249  
  1250  func init() {
  1251  	t["AlarmFilterSpec"] = reflect.TypeOf((*AlarmFilterSpec)(nil)).Elem()
  1252  }
  1253  
  1254  // Attributes of an alarm.
  1255  type AlarmInfo struct {
  1256  	AlarmSpec
  1257  
  1258  	// The unique key.
  1259  	Key string `xml:"key" json:"key"`
  1260  	// The alarm object.
  1261  	//
  1262  	// Refers instance of `Alarm`.
  1263  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1264  	// The entity on which the alarm is registered.
  1265  	//
  1266  	// Refers instance of `ManagedEntity`.
  1267  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1268  	// The time the alarm was created or modified.
  1269  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
  1270  	// User name that modified the alarm most recently.
  1271  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
  1272  	// The event ID that records the alarm creation.
  1273  	CreationEventId int32 `xml:"creationEventId" json:"creationEventId"`
  1274  }
  1275  
  1276  func init() {
  1277  	t["AlarmInfo"] = reflect.TypeOf((*AlarmInfo)(nil)).Elem()
  1278  }
  1279  
  1280  // This event records the reconfiguration of an alarm.
  1281  type AlarmReconfiguredEvent struct {
  1282  	AlarmEvent
  1283  
  1284  	// The entity with which the alarm is registered.
  1285  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1286  	// The configuration values changed during the reconfiguration.
  1287  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
  1288  }
  1289  
  1290  func init() {
  1291  	t["AlarmReconfiguredEvent"] = reflect.TypeOf((*AlarmReconfiguredEvent)(nil)).Elem()
  1292  }
  1293  
  1294  // This event records the removal of an alarm.
  1295  type AlarmRemovedEvent struct {
  1296  	AlarmEvent
  1297  
  1298  	// The entity with which the alarm is registered.
  1299  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1300  }
  1301  
  1302  func init() {
  1303  	t["AlarmRemovedEvent"] = reflect.TypeOf((*AlarmRemovedEvent)(nil)).Elem()
  1304  }
  1305  
  1306  // This event records the completion of an alarm-triggered script.
  1307  type AlarmScriptCompleteEvent struct {
  1308  	AlarmEvent
  1309  
  1310  	// The entity with which the alarm is registered.
  1311  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1312  	// The script triggered by the alarm.
  1313  	Script string `xml:"script" json:"script"`
  1314  }
  1315  
  1316  func init() {
  1317  	t["AlarmScriptCompleteEvent"] = reflect.TypeOf((*AlarmScriptCompleteEvent)(nil)).Elem()
  1318  }
  1319  
  1320  // This event records a failure to complete an alarm-triggered script.
  1321  type AlarmScriptFailedEvent struct {
  1322  	AlarmEvent
  1323  
  1324  	// The entity with which the alarm is registered.
  1325  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1326  	// The script triggered by the alarm.
  1327  	Script string `xml:"script" json:"script"`
  1328  	// The reason for the failure.
  1329  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1330  }
  1331  
  1332  func init() {
  1333  	t["AlarmScriptFailedEvent"] = reflect.TypeOf((*AlarmScriptFailedEvent)(nil)).Elem()
  1334  }
  1335  
  1336  // Tolerance and frequency limits of an alarm.
  1337  type AlarmSetting struct {
  1338  	DynamicData
  1339  
  1340  	// Tolerance range for the metric triggers, measured in one hundredth percentage.
  1341  	//
  1342  	// A zero value means that the alarm
  1343  	// triggers whenever the metric value is above
  1344  	// or below the specified value.
  1345  	// A nonzero value means that the alarm
  1346  	// triggers only after reaching a certain percentage
  1347  	// above or below the nominal trigger value.
  1348  	ToleranceRange int32 `xml:"toleranceRange" json:"toleranceRange"`
  1349  	// How often the alarm is triggered, measured in seconds.
  1350  	//
  1351  	// A zero value means that the alarm is allowed
  1352  	// to trigger as often as possible.
  1353  	// A nonzero value means that any subsequent triggers
  1354  	// are suppressed for a period of seconds following a
  1355  	// reported trigger.
  1356  	ReportingFrequency int32 `xml:"reportingFrequency" json:"reportingFrequency"`
  1357  }
  1358  
  1359  func init() {
  1360  	t["AlarmSetting"] = reflect.TypeOf((*AlarmSetting)(nil)).Elem()
  1361  }
  1362  
  1363  // This event records the completion of an alarm SNMP notification.
  1364  type AlarmSnmpCompletedEvent struct {
  1365  	AlarmEvent
  1366  
  1367  	// The entity with which the alarm is registered.
  1368  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1369  }
  1370  
  1371  func init() {
  1372  	t["AlarmSnmpCompletedEvent"] = reflect.TypeOf((*AlarmSnmpCompletedEvent)(nil)).Elem()
  1373  }
  1374  
  1375  // This event records a failure to complete an alarm SNMP notification.
  1376  type AlarmSnmpFailedEvent struct {
  1377  	AlarmEvent
  1378  
  1379  	// The entity with which the alarm is registered.
  1380  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1381  	// The reason for the failure.
  1382  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  1383  }
  1384  
  1385  func init() {
  1386  	t["AlarmSnmpFailedEvent"] = reflect.TypeOf((*AlarmSnmpFailedEvent)(nil)).Elem()
  1387  }
  1388  
  1389  // Parameters for alarm creation.
  1390  type AlarmSpec struct {
  1391  	DynamicData
  1392  
  1393  	// Name of the alarm.
  1394  	Name string `xml:"name" json:"name"`
  1395  	// System name of the alarm.
  1396  	//
  1397  	// This is set only for predefined Alarms - i.e. Alarms created by the
  1398  	// server or extensions automatically. After creation this value cannot be
  1399  	// modified. User-created Alarms do not have a systemName at all.
  1400  	//
  1401  	// The purpose of this field is to identify system-created Alarms
  1402  	// reliably, even if they are edited by users.
  1403  	//
  1404  	// When creating Alarms with systemName, the systemName and the name of the
  1405  	// alarm should be equal.
  1406  	//
  1407  	// When reconfiguring an Alarm with systemName, the same systemName should
  1408  	// be passed in the new AlarmSpec. Renaming Alarms with systemName is not
  1409  	// allowed, i.e. when reconfiguring, the name passed in the new AlarmSpec
  1410  	// should be equal to either the systemName or its localized version (the
  1411  	// current name in the Alarm's info).
  1412  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
  1413  	// Description of the alarm.
  1414  	Description string `xml:"description" json:"description"`
  1415  	// Flag to indicate whether or not the alarm is enabled or disabled.
  1416  	Enabled bool `xml:"enabled" json:"enabled"`
  1417  	// Top-level alarm expression that defines trigger conditions.
  1418  	Expression BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1419  	// Action to perform when the alarm is triggered.
  1420  	Action BaseAlarmAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
  1421  	// Frequency in seconds, which specifies how often appropriate actions
  1422  	// should repeat when an alarm does not change state.
  1423  	ActionFrequency int32 `xml:"actionFrequency,omitempty" json:"actionFrequency,omitempty"`
  1424  	// Tolerance and maximum frequency settings.
  1425  	Setting *AlarmSetting `xml:"setting,omitempty" json:"setting,omitempty"`
  1426  }
  1427  
  1428  func init() {
  1429  	t["AlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem()
  1430  }
  1431  
  1432  // Information about the alarm's state.
  1433  type AlarmState struct {
  1434  	DynamicData
  1435  
  1436  	// Unique key that identifies the alarm.
  1437  	Key string `xml:"key" json:"key"`
  1438  	// Entity on which the alarm is instantiated.
  1439  	//
  1440  	// Refers instance of `ManagedEntity`.
  1441  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  1442  	// Alarm object from which the AlarmState object is instantiated.
  1443  	//
  1444  	// Refers instance of `Alarm`.
  1445  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
  1446  	// Overall status of the alarm object.
  1447  	//
  1448  	// This is the value of the alarm's top-level expression.
  1449  	// In releases after vSphere API 5.0, vSphere Servers might not
  1450  	// generate property collector update notifications for this property.
  1451  	// To obtain the latest value of the property, you can use
  1452  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
  1453  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
  1454  	// an empty string for the version parameter.
  1455  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
  1456  	// contain values for this property when some other property on the DataObject changes.
  1457  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
  1458  	// version parameter, the value for this property may not be current.
  1459  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
  1460  	// Time the alarm triggered.
  1461  	Time time.Time `xml:"time" json:"time"`
  1462  	// Flag to indicate if the alarm's actions have been acknowledged for the
  1463  	// associated ManagedEntity.
  1464  	Acknowledged *bool `xml:"acknowledged" json:"acknowledged,omitempty"`
  1465  	// The user who acknowledged this triggering.
  1466  	//
  1467  	// If the triggering has not
  1468  	// been acknowledged, then the value is not valid.
  1469  	AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty" json:"acknowledgedByUser,omitempty"`
  1470  	// The time this triggering was acknowledged.
  1471  	//
  1472  	// If the triggering has not
  1473  	// been acknowledged, then the value is not valid.
  1474  	AcknowledgedTime *time.Time `xml:"acknowledgedTime" json:"acknowledgedTime,omitempty"`
  1475  	// Contains the key of the event that has triggered the alarm.
  1476  	//
  1477  	// The value
  1478  	// is set only for event based alarms. The value is not set for gray or
  1479  	// manually reset alarms (via vim.AlarmManager.setAlarmStatus).
  1480  	EventKey int32 `xml:"eventKey,omitempty" json:"eventKey,omitempty"`
  1481  	// Flag to indicate if the alarm is disabled for the associated
  1482  	// ManagedEntity.
  1483  	Disabled *bool `xml:"disabled" json:"disabled,omitempty"`
  1484  }
  1485  
  1486  func init() {
  1487  	t["AlarmState"] = reflect.TypeOf((*AlarmState)(nil)).Elem()
  1488  }
  1489  
  1490  // This event records a status change for an alarm.
  1491  type AlarmStatusChangedEvent struct {
  1492  	AlarmEvent
  1493  
  1494  	// The entity for which the alarm status has been changed.
  1495  	Source ManagedEntityEventArgument `xml:"source" json:"source"`
  1496  	// The entity with which the alarm is registered.
  1497  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
  1498  	// The original alarm status.
  1499  	From string `xml:"from" json:"from"`
  1500  	// The new alarm status.
  1501  	To string `xml:"to" json:"to"`
  1502  }
  1503  
  1504  func init() {
  1505  	t["AlarmStatusChangedEvent"] = reflect.TypeOf((*AlarmStatusChangedEvent)(nil)).Elem()
  1506  }
  1507  
  1508  // This data object type describes one or more
  1509  // triggering transitions and an action to be done
  1510  // when an alarm is triggered.
  1511  //
  1512  // There are four triggering transitions; at least one of them must
  1513  // be provided. A gray state is considered the same as a green state,
  1514  // for the purpose of detecting transitions.
  1515  type AlarmTriggeringAction struct {
  1516  	AlarmAction
  1517  
  1518  	// The action to be done when the alarm is triggered.
  1519  	Action BaseAction `xml:"action,typeattr" json:"action"`
  1520  	// Indicates on which transitions this action executes and repeats.
  1521  	//
  1522  	// This is optional only for backwards compatibility.
  1523  	TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty" json:"transitionSpecs,omitempty"`
  1524  	// Deprecated as of vSphere API 4.0, use
  1525  	// `AlarmTriggeringActionTransitionSpec` .
  1526  	//
  1527  	// Flag to specify that the alarm should trigger on a transition
  1528  	// from green to yellow.
  1529  	Green2yellow bool `xml:"green2yellow" json:"green2yellow"`
  1530  	// Deprecated as of vSphere API 4.0, use
  1531  	// `AlarmTriggeringActionTransitionSpec` .
  1532  	//
  1533  	// Flag to specify that the alarm should trigger on a transition
  1534  	// from yellow to red.
  1535  	Yellow2red bool `xml:"yellow2red" json:"yellow2red"`
  1536  	// Deprecated as of vSphere API 4.0, use
  1537  	// `AlarmTriggeringActionTransitionSpec` .
  1538  	//
  1539  	// Flag to specify that the alarm should trigger on a transition
  1540  	// from red to yellow.
  1541  	Red2yellow bool `xml:"red2yellow" json:"red2yellow"`
  1542  	// Deprecated as of vSphere API 4.0, use
  1543  	// `AlarmTriggeringActionTransitionSpec` .
  1544  	//
  1545  	// Flag to specify that the alarm should trigger on a transition
  1546  	// from yellow to green.
  1547  	Yellow2green bool `xml:"yellow2green" json:"yellow2green"`
  1548  }
  1549  
  1550  func init() {
  1551  	t["AlarmTriggeringAction"] = reflect.TypeOf((*AlarmTriggeringAction)(nil)).Elem()
  1552  }
  1553  
  1554  // Specification indicating which on transitions this action fires.
  1555  //
  1556  // The existence of a Spec indicates that this action fires on
  1557  // transitions from that Spec's startState to finalState.
  1558  //
  1559  // There are six acceptable {startState, finalState} pairs:
  1560  // {green, yellow}, {green, red}, {yellow, red}, {red, yellow},
  1561  // {red, green} and {yellow, green}.
  1562  // Direct transitions have precedence over indirect.
  1563  // At least one of these pairs must be specified.
  1564  // Any deviation from the above will render the enclosing AlarmSpec invalid.
  1565  type AlarmTriggeringActionTransitionSpec struct {
  1566  	DynamicData
  1567  
  1568  	// The state from which the alarm must transition for the action to
  1569  	// fire.
  1570  	//
  1571  	// Valid choices are red, yellow and green.
  1572  	StartState ManagedEntityStatus `xml:"startState" json:"startState"`
  1573  	// The state to which the alarm must transition for the action to fire.
  1574  	//
  1575  	// Valid choices are red, yellow, and green.
  1576  	FinalState ManagedEntityStatus `xml:"finalState" json:"finalState"`
  1577  	// Whether or not the action repeats, as per the actionFrequency defined
  1578  	// in the enclosing Alarm.
  1579  	Repeats bool `xml:"repeats" json:"repeats"`
  1580  }
  1581  
  1582  func init() {
  1583  	t["AlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*AlarmTriggeringActionTransitionSpec)(nil)).Elem()
  1584  }
  1585  
  1586  // This event records that the previously unlicensed virtual machines on
  1587  // the specified host are now licensed.
  1588  //
  1589  // After this event is entered into
  1590  // the event log, we expect to see that the (@link
  1591  // vim.event.Event.UnlicensedVirtualMachinesEvent
  1592  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
  1593  // configIssue) is removed from the host.
  1594  type AllVirtualMachinesLicensedEvent struct {
  1595  	LicenseEvent
  1596  }
  1597  
  1598  func init() {
  1599  	t["AllVirtualMachinesLicensedEvent"] = reflect.TypeOf((*AllVirtualMachinesLicensedEvent)(nil)).Elem()
  1600  }
  1601  
  1602  type AllocateIpv4Address AllocateIpv4AddressRequestType
  1603  
  1604  func init() {
  1605  	t["AllocateIpv4Address"] = reflect.TypeOf((*AllocateIpv4Address)(nil)).Elem()
  1606  }
  1607  
  1608  // The parameters of `IpPoolManager.AllocateIpv4Address`.
  1609  type AllocateIpv4AddressRequestType struct {
  1610  	This ManagedObjectReference `xml:"_this" json:"-"`
  1611  	// The datacenter on which to find the pool
  1612  	//
  1613  	// Refers instance of `Datacenter`.
  1614  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1615  	// The unique ID of the pool
  1616  	PoolId int32 `xml:"poolId" json:"poolId"`
  1617  	// The unique ID for this allocation
  1618  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1619  }
  1620  
  1621  func init() {
  1622  	t["AllocateIpv4AddressRequestType"] = reflect.TypeOf((*AllocateIpv4AddressRequestType)(nil)).Elem()
  1623  }
  1624  
  1625  type AllocateIpv4AddressResponse struct {
  1626  	Returnval string `xml:"returnval" json:"returnval"`
  1627  }
  1628  
  1629  type AllocateIpv6Address AllocateIpv6AddressRequestType
  1630  
  1631  func init() {
  1632  	t["AllocateIpv6Address"] = reflect.TypeOf((*AllocateIpv6Address)(nil)).Elem()
  1633  }
  1634  
  1635  // The parameters of `IpPoolManager.AllocateIpv6Address`.
  1636  type AllocateIpv6AddressRequestType struct {
  1637  	This ManagedObjectReference `xml:"_this" json:"-"`
  1638  	// The datacenter on which to find the pool
  1639  	//
  1640  	// Refers instance of `Datacenter`.
  1641  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
  1642  	// The unique ID of the pool
  1643  	PoolId int32 `xml:"poolId" json:"poolId"`
  1644  	// The unique ID for this allocation
  1645  	AllocationId string `xml:"allocationId" json:"allocationId"`
  1646  }
  1647  
  1648  func init() {
  1649  	t["AllocateIpv6AddressRequestType"] = reflect.TypeOf((*AllocateIpv6AddressRequestType)(nil)).Elem()
  1650  }
  1651  
  1652  type AllocateIpv6AddressResponse struct {
  1653  	Returnval string `xml:"returnval" json:"returnval"`
  1654  }
  1655  
  1656  // This event records a failed user logon due to the user already being logged on.
  1657  type AlreadyAuthenticatedSessionEvent struct {
  1658  	SessionEvent
  1659  }
  1660  
  1661  func init() {
  1662  	t["AlreadyAuthenticatedSessionEvent"] = reflect.TypeOf((*AlreadyAuthenticatedSessionEvent)(nil)).Elem()
  1663  }
  1664  
  1665  // AlreadyBeingManaged fault is thrown by the host
  1666  // connect method if the host is already being managed
  1667  // by a VirtualCenter server.
  1668  type AlreadyBeingManaged struct {
  1669  	HostConnectFault
  1670  
  1671  	// IP address of server that is currently managing the host.
  1672  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  1673  }
  1674  
  1675  func init() {
  1676  	t["AlreadyBeingManaged"] = reflect.TypeOf((*AlreadyBeingManaged)(nil)).Elem()
  1677  }
  1678  
  1679  type AlreadyBeingManagedFault AlreadyBeingManaged
  1680  
  1681  func init() {
  1682  	t["AlreadyBeingManagedFault"] = reflect.TypeOf((*AlreadyBeingManagedFault)(nil)).Elem()
  1683  }
  1684  
  1685  // AlreadyConnect fault is thrown by the host connect method
  1686  // if the host is already connected to a VirtualCenter server.
  1687  //
  1688  // This might occur if the host has been added more than once
  1689  // in the same VirtualCenter in different folders or compute
  1690  // resources.
  1691  type AlreadyConnected struct {
  1692  	HostConnectFault
  1693  
  1694  	// Name of the host
  1695  	Name string `xml:"name" json:"name"`
  1696  }
  1697  
  1698  func init() {
  1699  	t["AlreadyConnected"] = reflect.TypeOf((*AlreadyConnected)(nil)).Elem()
  1700  }
  1701  
  1702  type AlreadyConnectedFault AlreadyConnected
  1703  
  1704  func init() {
  1705  	t["AlreadyConnectedFault"] = reflect.TypeOf((*AlreadyConnectedFault)(nil)).Elem()
  1706  }
  1707  
  1708  // An AlreadyExists fault is thrown when an attempt is made to add an element
  1709  // to a collection, if the element's key, name, or identifier already exists in that
  1710  // collection.
  1711  type AlreadyExists struct {
  1712  	VimFault
  1713  
  1714  	Name string `xml:"name,omitempty" json:"name,omitempty"`
  1715  }
  1716  
  1717  func init() {
  1718  	t["AlreadyExists"] = reflect.TypeOf((*AlreadyExists)(nil)).Elem()
  1719  }
  1720  
  1721  type AlreadyExistsFault AlreadyExists
  1722  
  1723  func init() {
  1724  	t["AlreadyExistsFault"] = reflect.TypeOf((*AlreadyExistsFault)(nil)).Elem()
  1725  }
  1726  
  1727  // An AlreadyUpgraded fault is thrown when an attempt is made to upgrade the
  1728  // virtual hardware of a Virtual machine whose virtual hardware is already
  1729  // up-to-date.
  1730  type AlreadyUpgraded struct {
  1731  	VimFault
  1732  }
  1733  
  1734  func init() {
  1735  	t["AlreadyUpgraded"] = reflect.TypeOf((*AlreadyUpgraded)(nil)).Elem()
  1736  }
  1737  
  1738  type AlreadyUpgradedFault AlreadyUpgraded
  1739  
  1740  func init() {
  1741  	t["AlreadyUpgradedFault"] = reflect.TypeOf((*AlreadyUpgradedFault)(nil)).Elem()
  1742  }
  1743  
  1744  // A data object type that links multiple alarm expressions with AND operators.
  1745  type AndAlarmExpression struct {
  1746  	AlarmExpression
  1747  
  1748  	// List of alarm expressions that define the overall status of the alarm.
  1749  	//   - The state of the alarm expression is gray if all subexpressions are gray.
  1750  	//     Otherwise, gray subexpressions are ignored.
  1751  	//   - The state is red if all subexpressions are red.
  1752  	//   - Otherwise, the state is yellow if all subexpressions are red or yellow.
  1753  	//   - Otherwise, the state of the alarm expression is green.
  1754  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
  1755  }
  1756  
  1757  func init() {
  1758  	t["AndAlarmExpression"] = reflect.TypeOf((*AndAlarmExpression)(nil)).Elem()
  1759  }
  1760  
  1761  // The `AnswerFile` data object contains host-specific information that a host
  1762  // will use in combination with a `HostProfile` for configuration.
  1763  //
  1764  // Answer files are stored on the vCenter Server, along with host profiles.
  1765  // An answer file is always associated with a particular host.
  1766  //
  1767  // To supply host-specific data:
  1768  //   - Specify deferred parameters when you call the
  1769  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
  1770  //     method. The host profile engine will verify the set of parameters for the
  1771  //     additional configuration data.
  1772  //   - Use the complete required input list
  1773  //     (`ProfileExecuteResult*.*ProfileExecuteResult.requireInput`\[\])
  1774  //     as user input for the
  1775  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  1776  //     method. When you apply the profile, the vCenter Server saves the additional configuration
  1777  //     data in the `AnswerFile.userInput` list.
  1778  //   - Use the `HostProfileManager*.*HostProfileManager.UpdateAnswerFile_Task` method. This method will update an existing answer file or create a new one.
  1779  type AnswerFile struct {
  1780  	DynamicData
  1781  
  1782  	// List containing host-specific configuration data.
  1783  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1784  	// Time at which the answer file was created.
  1785  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
  1786  	// Time at which the answer file was last modified.
  1787  	ModifiedTime time.Time `xml:"modifiedTime" json:"modifiedTime"`
  1788  }
  1789  
  1790  func init() {
  1791  	t["AnswerFile"] = reflect.TypeOf((*AnswerFile)(nil)).Elem()
  1792  }
  1793  
  1794  // Base class for host-specific answer file options.
  1795  type AnswerFileCreateSpec struct {
  1796  	DynamicData
  1797  
  1798  	// If "false", then the answer file will be saved without being validated.
  1799  	//
  1800  	// The default if not specified is "true".
  1801  	// This option should be used with caution, since the resulting answer
  1802  	// file will not be checked for errors.
  1803  	Validating *bool `xml:"validating" json:"validating,omitempty"`
  1804  }
  1805  
  1806  func init() {
  1807  	t["AnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem()
  1808  }
  1809  
  1810  // The `AnswerFileOptionsCreateSpec`
  1811  // data object contains host-specific user input for an answer file.
  1812  type AnswerFileOptionsCreateSpec struct {
  1813  	AnswerFileCreateSpec
  1814  
  1815  	// List of parameters that contain host-specific data.
  1816  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  1817  }
  1818  
  1819  func init() {
  1820  	t["AnswerFileOptionsCreateSpec"] = reflect.TypeOf((*AnswerFileOptionsCreateSpec)(nil)).Elem()
  1821  }
  1822  
  1823  // The `AnswerFileSerializedCreateSpec` data object
  1824  // contains a serialized string representation of host-specific data for an answer file.
  1825  type AnswerFileSerializedCreateSpec struct {
  1826  	AnswerFileCreateSpec
  1827  
  1828  	// Host-specific user input.
  1829  	AnswerFileConfigString string `xml:"answerFileConfigString" json:"answerFileConfigString"`
  1830  }
  1831  
  1832  func init() {
  1833  	t["AnswerFileSerializedCreateSpec"] = reflect.TypeOf((*AnswerFileSerializedCreateSpec)(nil)).Elem()
  1834  }
  1835  
  1836  // The `AnswerFileStatusError` data object describes an answer file
  1837  // error and identifies the profile or policy option with which the error
  1838  // is associated.
  1839  type AnswerFileStatusError struct {
  1840  	DynamicData
  1841  
  1842  	// Path to a profile or a policy option for host-specific data.
  1843  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1844  	// Message describing the error.
  1845  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1846  }
  1847  
  1848  func init() {
  1849  	t["AnswerFileStatusError"] = reflect.TypeOf((*AnswerFileStatusError)(nil)).Elem()
  1850  }
  1851  
  1852  // The `AnswerFileStatusResult` data object shows the validity of the
  1853  // answer file associated with a host.
  1854  type AnswerFileStatusResult struct {
  1855  	DynamicData
  1856  
  1857  	// Time that the answer file status was determined.
  1858  	CheckedTime time.Time `xml:"checkedTime" json:"checkedTime"`
  1859  	// Host associated with the answer file.
  1860  	//
  1861  	// Refers instance of `HostSystem`.
  1862  	Host ManagedObjectReference `xml:"host" json:"host"`
  1863  	// Status of the answer file.
  1864  	//
  1865  	// See `HostProfileManagerAnswerFileStatus_enum` for valid values.
  1866  	Status string `xml:"status" json:"status"`
  1867  	// If <code>status</code> is <code>invalid</code>, this property contains a list
  1868  	// of status error objects.
  1869  	Error []AnswerFileStatusError `xml:"error,omitempty" json:"error,omitempty"`
  1870  }
  1871  
  1872  func init() {
  1873  	t["AnswerFileStatusResult"] = reflect.TypeOf((*AnswerFileStatusResult)(nil)).Elem()
  1874  }
  1875  
  1876  // Could not update the answer file as it has invalid inputs.
  1877  type AnswerFileUpdateFailed struct {
  1878  	VimFault
  1879  
  1880  	// Failures encountered during answer file update
  1881  	Failure []AnswerFileUpdateFailure `xml:"failure" json:"failure"`
  1882  }
  1883  
  1884  func init() {
  1885  	t["AnswerFileUpdateFailed"] = reflect.TypeOf((*AnswerFileUpdateFailed)(nil)).Elem()
  1886  }
  1887  
  1888  type AnswerFileUpdateFailedFault AnswerFileUpdateFailed
  1889  
  1890  func init() {
  1891  	t["AnswerFileUpdateFailedFault"] = reflect.TypeOf((*AnswerFileUpdateFailedFault)(nil)).Elem()
  1892  }
  1893  
  1894  // DataObject which represents the errors that occurred when an
  1895  // answer file update was performed.
  1896  type AnswerFileUpdateFailure struct {
  1897  	DynamicData
  1898  
  1899  	// The user input that has the error
  1900  	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
  1901  	// Message which explains the error
  1902  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
  1903  }
  1904  
  1905  func init() {
  1906  	t["AnswerFileUpdateFailure"] = reflect.TypeOf((*AnswerFileUpdateFailure)(nil)).Elem()
  1907  }
  1908  
  1909  type AnswerVM AnswerVMRequestType
  1910  
  1911  func init() {
  1912  	t["AnswerVM"] = reflect.TypeOf((*AnswerVM)(nil)).Elem()
  1913  }
  1914  
  1915  // The parameters of `VirtualMachine.AnswerVM`.
  1916  type AnswerVMRequestType struct {
  1917  	This ManagedObjectReference `xml:"_this" json:"-"`
  1918  	// The value from QuestionInfo.id that identifies the question
  1919  	// to answer.
  1920  	QuestionId string `xml:"questionId" json:"questionId"`
  1921  	// The contents of the QuestionInfo.choice.value array element
  1922  	// that identifies the desired answer.
  1923  	AnswerChoice string `xml:"answerChoice" json:"answerChoice"`
  1924  }
  1925  
  1926  func init() {
  1927  	t["AnswerVMRequestType"] = reflect.TypeOf((*AnswerVMRequestType)(nil)).Elem()
  1928  }
  1929  
  1930  type AnswerVMResponse struct {
  1931  }
  1932  
  1933  // This fault is thrown when creating a quiesced snapshot failed
  1934  // because the (user-supplied) custom pre-freeze script in the
  1935  // virtual machine exited with a non-zero return code.
  1936  //
  1937  // This indicates that the script failed to perform its quiescing
  1938  // task, which causes us to fail the quiesced snapshot operation.
  1939  type ApplicationQuiesceFault struct {
  1940  	SnapshotFault
  1941  }
  1942  
  1943  func init() {
  1944  	t["ApplicationQuiesceFault"] = reflect.TypeOf((*ApplicationQuiesceFault)(nil)).Elem()
  1945  }
  1946  
  1947  type ApplicationQuiesceFaultFault ApplicationQuiesceFault
  1948  
  1949  func init() {
  1950  	t["ApplicationQuiesceFaultFault"] = reflect.TypeOf((*ApplicationQuiesceFaultFault)(nil)).Elem()
  1951  }
  1952  
  1953  // The parameters of `HostProfileManager.ApplyEntitiesConfig_Task`.
  1954  type ApplyEntitiesConfigRequestType struct {
  1955  	This ManagedObjectReference `xml:"_this" json:"-"`
  1956  	// An array of
  1957  	// `ApplyHostProfileConfigurationSpec`
  1958  	// objects. Each applyConfigSpecs object contains the data objects
  1959  	// required to remediate a host. The API caller should expand
  1960  	// a cluster to all its hosts for the purpose of providing the
  1961  	// required data object for configuration apply of each host.
  1962  	ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty" json:"applyConfigSpecs,omitempty"`
  1963  }
  1964  
  1965  func init() {
  1966  	t["ApplyEntitiesConfigRequestType"] = reflect.TypeOf((*ApplyEntitiesConfigRequestType)(nil)).Elem()
  1967  }
  1968  
  1969  type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType
  1970  
  1971  func init() {
  1972  	t["ApplyEntitiesConfig_Task"] = reflect.TypeOf((*ApplyEntitiesConfig_Task)(nil)).Elem()
  1973  }
  1974  
  1975  type ApplyEntitiesConfig_TaskResponse struct {
  1976  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  1977  }
  1978  
  1979  // The parameters of `VirtualMachine.ApplyEvcModeVM_Task`.
  1980  type ApplyEvcModeVMRequestType struct {
  1981  	This ManagedObjectReference `xml:"_this" json:"-"`
  1982  	// The feature masks to apply to the virtual machine.
  1983  	// An empty set of masks will clear EVC settings.
  1984  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
  1985  	// Defaults to true if not set. A true value implies
  1986  	// that any unspecified feature will not be exposed to the guest.
  1987  	// A false value will expose any unspecified feature to the guest
  1988  	// with the value of the host.
  1989  	CompleteMasks *bool `xml:"completeMasks" json:"completeMasks,omitempty"`
  1990  }
  1991  
  1992  func init() {
  1993  	t["ApplyEvcModeVMRequestType"] = reflect.TypeOf((*ApplyEvcModeVMRequestType)(nil)).Elem()
  1994  }
  1995  
  1996  type ApplyEvcModeVM_Task ApplyEvcModeVMRequestType
  1997  
  1998  func init() {
  1999  	t["ApplyEvcModeVM_Task"] = reflect.TypeOf((*ApplyEvcModeVM_Task)(nil)).Elem()
  2000  }
  2001  
  2002  type ApplyEvcModeVM_TaskResponse struct {
  2003  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2004  }
  2005  
  2006  // The parameters of `HostProfileManager.ApplyHostConfig_Task`.
  2007  type ApplyHostConfigRequestType struct {
  2008  	This ManagedObjectReference `xml:"_this" json:"-"`
  2009  	// Host to be updated. User must have sufficient credentials and privileges
  2010  	// to satisfy the contents of the <code>configSpec</code>.
  2011  	//
  2012  	// Refers instance of `HostSystem`.
  2013  	Host ManagedObjectReference `xml:"host" json:"host"`
  2014  	// Set of configuration changes to be applied to the host.
  2015  	// The changes are returned by the
  2016  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2017  	// method in the
  2018  	// `ProfileExecuteResult*.*ProfileExecuteResult.configSpec`
  2019  	// property.
  2020  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
  2021  	// Additional host-specific data to be applied to the host.
  2022  	// This data is the complete list of deferred parameters verified by the
  2023  	// `HostProfile*.*HostProfile.ExecuteHostProfile`
  2024  	// method, contained in the `ProfileExecuteResult` object
  2025  	// returned by the method.
  2026  	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
  2027  }
  2028  
  2029  func init() {
  2030  	t["ApplyHostConfigRequestType"] = reflect.TypeOf((*ApplyHostConfigRequestType)(nil)).Elem()
  2031  }
  2032  
  2033  type ApplyHostConfig_Task ApplyHostConfigRequestType
  2034  
  2035  func init() {
  2036  	t["ApplyHostConfig_Task"] = reflect.TypeOf((*ApplyHostConfig_Task)(nil)).Elem()
  2037  }
  2038  
  2039  type ApplyHostConfig_TaskResponse struct {
  2040  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2041  }
  2042  
  2043  // The `ApplyHostProfileConfigurationResult` data object contains the remediation
  2044  // results for a host: the time that the remediation happens, the status,
  2045  // the errors, and optinal compliance result after reboot.
  2046  type ApplyHostProfileConfigurationResult struct {
  2047  	DynamicData
  2048  
  2049  	// Time that the host config apply starts.
  2050  	StartTime time.Time `xml:"startTime" json:"startTime"`
  2051  	// Time that the host config apply completes.
  2052  	CompleteTime time.Time `xml:"completeTime" json:"completeTime"`
  2053  	// Host to be remediated.
  2054  	//
  2055  	// Refers instance of `HostSystem`.
  2056  	Host ManagedObjectReference `xml:"host" json:"host"`
  2057  	// Status of the remediation.
  2058  	//
  2059  	// See
  2060  	// `ApplyHostProfileConfigurationResultStatus_enum`
  2061  	// for valid values.
  2062  	Status string `xml:"status" json:"status"`
  2063  	// If <code>status</code> is <code>fail</code>, this property contains
  2064  	// a list of status error message objects.
  2065  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
  2066  }
  2067  
  2068  func init() {
  2069  	t["ApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ApplyHostProfileConfigurationResult)(nil)).Elem()
  2070  }
  2071  
  2072  // The data object that contains the objects needed to remediate a host
  2073  // in host profile batch apply.
  2074  type ApplyHostProfileConfigurationSpec struct {
  2075  	ProfileExecuteResult
  2076  
  2077  	// The host to be remediated.
  2078  	//
  2079  	// Refers instance of `HostSystem`.
  2080  	Host ManagedObjectReference `xml:"host" json:"host"`
  2081  	// The task requirements from the results of
  2082  	// `HostProfileManager.GenerateConfigTaskList` method
  2083  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
  2084  	// Description of tasks that will be performed on the host
  2085  	// to carry out HostProfile application.
  2086  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
  2087  	// For a stateless host, there are two approaches to apply a host
  2088  	// profile:
  2089  	// (1) Reboot the host and apply the host profile at boot time.
  2090  	//
  2091  	// (2) Apply the host profile directly from VC. We call this as
  2092  	// regular apply.
  2093  	// The variable rebootStateless allows users to choose the first
  2094  	// approach from the two approaches above:
  2095  	// apply host profile by rebooting this host.
  2096  	RebootStateless *bool `xml:"rebootStateless" json:"rebootStateless,omitempty"`
  2097  	// For regular apply, when some of the tasks requires reboot,
  2098  	// that this variable is<code>true</code> indicates that the
  2099  	// reboot automatically happens in the batch profile apply
  2100  	// than that the user will manually reboot the system later.
  2101  	//
  2102  	// For stateless host, this variable takes effect only when
  2103  	// the variable <code>rebootStateless</code> above is
  2104  	// <code>false</code>.
  2105  	RebootHost *bool `xml:"rebootHost" json:"rebootHost,omitempty"`
  2106  	// This contains the error details.
  2107  	FaultData *LocalizedMethodFault `xml:"faultData,omitempty" json:"faultData,omitempty"`
  2108  }
  2109  
  2110  func init() {
  2111  	t["ApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ApplyHostProfileConfigurationSpec)(nil)).Elem()
  2112  }
  2113  
  2114  // The `ApplyProfile` data object is the base class for all data objects
  2115  // that define profile configuration data.
  2116  //
  2117  // <code>ApplyProfile</code> defines ESX configuration data storage and it
  2118  // supports recursive profile definition for the profile plug-in architecture.
  2119  type ApplyProfile struct {
  2120  	DynamicData
  2121  
  2122  	// Indicates whether the profile is enabled.
  2123  	Enabled bool `xml:"enabled" json:"enabled"`
  2124  	// The list of policies comprising the profile.
  2125  	//
  2126  	// A `ProfilePolicy`
  2127  	// stores one or more configuration data values in a `PolicyOption`.
  2128  	// The policy option is one of the configuration options from the
  2129  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
  2130  	// list.
  2131  	Policy []ProfilePolicy `xml:"policy,omitempty" json:"policy,omitempty"`
  2132  	// Identifies the profile type.
  2133  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
  2134  	// Profile engine version.
  2135  	ProfileVersion string `xml:"profileVersion,omitempty" json:"profileVersion,omitempty"`
  2136  	// List of subprofiles for this profile.
  2137  	//
  2138  	// This list can change depending on which profile plug-ins are available in the system.
  2139  	// Subprofiles can be nested to arbitrary depths to represent host capabilities.
  2140  	Property []ProfileApplyProfileProperty `xml:"property,omitempty" json:"property,omitempty"`
  2141  	// Indicates whether this profile is marked as "favorite".
  2142  	Favorite *bool `xml:"favorite" json:"favorite,omitempty"`
  2143  	// Indicates whether this profile is marked as to-be-merged.
  2144  	ToBeMerged *bool `xml:"toBeMerged" json:"toBeMerged,omitempty"`
  2145  	// Indicates whether the selected array elements, with the current
  2146  	// as one of them, replace the profile array in the target host
  2147  	// profile.
  2148  	ToReplaceWith *bool `xml:"toReplaceWith" json:"toReplaceWith,omitempty"`
  2149  	// Indicates whether this profile is marked as to-be-deleted.
  2150  	ToBeDeleted *bool `xml:"toBeDeleted" json:"toBeDeleted,omitempty"`
  2151  	// Indicates that the member variable <code>enabled</code> of this profile
  2152  	// will be copied from source profile to target profiles at host profile
  2153  	// composition.
  2154  	CopyEnableStatus *bool `xml:"copyEnableStatus" json:"copyEnableStatus,omitempty"`
  2155  	// Indicates whether this profile will be displayed or not.
  2156  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
  2157  }
  2158  
  2159  func init() {
  2160  	t["ApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem()
  2161  }
  2162  
  2163  type ApplyRecommendation ApplyRecommendationRequestType
  2164  
  2165  func init() {
  2166  	t["ApplyRecommendation"] = reflect.TypeOf((*ApplyRecommendation)(nil)).Elem()
  2167  }
  2168  
  2169  // The parameters of `ClusterComputeResource.ApplyRecommendation`.
  2170  type ApplyRecommendationRequestType struct {
  2171  	This ManagedObjectReference `xml:"_this" json:"-"`
  2172  	// The key field of the DrsRecommendation or Recommendation.
  2173  	Key string `xml:"key" json:"key"`
  2174  }
  2175  
  2176  func init() {
  2177  	t["ApplyRecommendationRequestType"] = reflect.TypeOf((*ApplyRecommendationRequestType)(nil)).Elem()
  2178  }
  2179  
  2180  type ApplyRecommendationResponse struct {
  2181  }
  2182  
  2183  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendation_Task`.
  2184  type ApplyStorageDrsRecommendationRequestType struct {
  2185  	This ManagedObjectReference `xml:"_this" json:"-"`
  2186  	// The key fields of the Recommendations that are applied.
  2187  	Key []string `xml:"key" json:"key"`
  2188  }
  2189  
  2190  func init() {
  2191  	t["ApplyStorageDrsRecommendationRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationRequestType)(nil)).Elem()
  2192  }
  2193  
  2194  // The parameters of `StorageResourceManager.ApplyStorageDrsRecommendationToPod_Task`.
  2195  type ApplyStorageDrsRecommendationToPodRequestType struct {
  2196  	This ManagedObjectReference `xml:"_this" json:"-"`
  2197  	// The storage pod.
  2198  	//
  2199  	// Refers instance of `StoragePod`.
  2200  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
  2201  	// The key field of the Recommendation.
  2202  	Key string `xml:"key" json:"key"`
  2203  }
  2204  
  2205  func init() {
  2206  	t["ApplyStorageDrsRecommendationToPodRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPodRequestType)(nil)).Elem()
  2207  }
  2208  
  2209  type ApplyStorageDrsRecommendationToPod_Task ApplyStorageDrsRecommendationToPodRequestType
  2210  
  2211  func init() {
  2212  	t["ApplyStorageDrsRecommendationToPod_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPod_Task)(nil)).Elem()
  2213  }
  2214  
  2215  type ApplyStorageDrsRecommendationToPod_TaskResponse struct {
  2216  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2217  }
  2218  
  2219  type ApplyStorageDrsRecommendation_Task ApplyStorageDrsRecommendationRequestType
  2220  
  2221  func init() {
  2222  	t["ApplyStorageDrsRecommendation_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendation_Task)(nil)).Elem()
  2223  }
  2224  
  2225  type ApplyStorageDrsRecommendation_TaskResponse struct {
  2226  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  2227  }
  2228  
  2229  // Both `StorageResourceManager.RecommendDatastores` and
  2230  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
  2231  // for recommendations on placing or evacuating virtual disks.
  2232  //
  2233  // All initial placement recommendations, and some enterMaintenanceMode
  2234  // recommendations need to be approved by the user. Recommendations that
  2235  // are approved will be applied using the
  2236  // `StorageResourceManager.ApplyStorageDrsRecommendation_Task`
  2237  // method.
  2238  // This class encapsulates the result of applying a subset of the
  2239  // recommendations.
  2240  type ApplyStorageRecommendationResult struct {
  2241  	DynamicData
  2242  
  2243  	// The result applying the recommendation, if it was successful.
  2244  	//
  2245  	// This is the equivalent of the `TaskInfo.result` key for the
  2246  	// task launched when the recommendation was applied.
  2247  	//
  2248  	// Refers instance of `VirtualMachine`.
  2249  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
  2250  }
  2251  
  2252  func init() {
  2253  	t["ApplyStorageRecommendationResult"] = reflect.TypeOf((*ApplyStorageRecommendationResult)(nil)).Elem()
  2254  }
  2255  
  2256  type AreAlarmActionsEnabled AreAlarmActionsEnabledRequestType
  2257  
  2258  func init() {
  2259  	t["AreAlarmActionsEnabled"] = reflect.TypeOf((*AreAlarmActionsEnabled)(nil)).Elem()
  2260  }
  2261  
  2262  // The parameters of `AlarmManager.AreAlarmActionsEnabled`.
  2263  type AreAlarmActionsEnabledRequestType struct {
  2264  	This ManagedObjectReference `xml:"_this" json:"-"`
  2265  	// The managed entity to look up.
  2266  	//
  2267  	// Required privileges: System.Read
  2268  	//
  2269  	// Refers instance of `ManagedEntity`.
  2270  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
  2271  }
  2272  
  2273  func init() {
  2274  	t["AreAlarmActionsEnabledRequestType"] = reflect.TypeOf((*AreAlarmActionsEnabledRequestType)(nil)).Elem()
  2275  }
  2276  
  2277  type AreAlarmActionsEnabledResponse struct {
  2278  	Returnval bool `xml:"returnval" json:"returnval"`
  2279  }
  2280  
  2281  // A boxed array of `AlarmAction`. To be used in `Any` placeholders.
  2282  type ArrayOfAlarmAction struct {
  2283  	AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr" json:"_value"`
  2284  }
  2285  
  2286  func init() {
  2287  	t["ArrayOfAlarmAction"] = reflect.TypeOf((*ArrayOfAlarmAction)(nil)).Elem()
  2288  }
  2289  
  2290  // A boxed array of `AlarmExpression`. To be used in `Any` placeholders.
  2291  type ArrayOfAlarmExpression struct {
  2292  	AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr" json:"_value"`
  2293  }
  2294  
  2295  func init() {
  2296  	t["ArrayOfAlarmExpression"] = reflect.TypeOf((*ArrayOfAlarmExpression)(nil)).Elem()
  2297  }
  2298  
  2299  // A boxed array of `AlarmState`. To be used in `Any` placeholders.
  2300  type ArrayOfAlarmState struct {
  2301  	AlarmState []AlarmState `xml:"AlarmState,omitempty" json:"_value"`
  2302  }
  2303  
  2304  func init() {
  2305  	t["ArrayOfAlarmState"] = reflect.TypeOf((*ArrayOfAlarmState)(nil)).Elem()
  2306  }
  2307  
  2308  // A boxed array of `AlarmTriggeringActionTransitionSpec`. To be used in `Any` placeholders.
  2309  type ArrayOfAlarmTriggeringActionTransitionSpec struct {
  2310  	AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty" json:"_value"`
  2311  }
  2312  
  2313  func init() {
  2314  	t["ArrayOfAlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*ArrayOfAlarmTriggeringActionTransitionSpec)(nil)).Elem()
  2315  }
  2316  
  2317  // A boxed array of `AnswerFileStatusError`. To be used in `Any` placeholders.
  2318  type ArrayOfAnswerFileStatusError struct {
  2319  	AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty" json:"_value"`
  2320  }
  2321  
  2322  func init() {
  2323  	t["ArrayOfAnswerFileStatusError"] = reflect.TypeOf((*ArrayOfAnswerFileStatusError)(nil)).Elem()
  2324  }
  2325  
  2326  // A boxed array of `AnswerFileStatusResult`. To be used in `Any` placeholders.
  2327  type ArrayOfAnswerFileStatusResult struct {
  2328  	AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty" json:"_value"`
  2329  }
  2330  
  2331  func init() {
  2332  	t["ArrayOfAnswerFileStatusResult"] = reflect.TypeOf((*ArrayOfAnswerFileStatusResult)(nil)).Elem()
  2333  }
  2334  
  2335  // A boxed array of `AnswerFileUpdateFailure`. To be used in `Any` placeholders.
  2336  type ArrayOfAnswerFileUpdateFailure struct {
  2337  	AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty" json:"_value"`
  2338  }
  2339  
  2340  func init() {
  2341  	t["ArrayOfAnswerFileUpdateFailure"] = reflect.TypeOf((*ArrayOfAnswerFileUpdateFailure)(nil)).Elem()
  2342  }
  2343  
  2344  // A boxed array of `Any`. To be used in `Any` placeholders.
  2345  type ArrayOfAnyType struct {
  2346  	AnyType []AnyType `xml:"anyType,omitempty,typeattr" json:"_value"`
  2347  }
  2348  
  2349  func init() {
  2350  	t["ArrayOfAnyType"] = reflect.TypeOf((*ArrayOfAnyType)(nil)).Elem()
  2351  }
  2352  
  2353  type ArrayOfAnyURI struct {
  2354  	AnyURI []string `xml:"anyURI,omitempty" json:"_value"`
  2355  }
  2356  
  2357  func init() {
  2358  	t["ArrayOfAnyURI"] = reflect.TypeOf((*ArrayOfAnyURI)(nil)).Elem()
  2359  }
  2360  
  2361  // A boxed array of `ApplyHostProfileConfigurationResult`. To be used in `Any` placeholders.
  2362  type ArrayOfApplyHostProfileConfigurationResult struct {
  2363  	ApplyHostProfileConfigurationResult []ApplyHostProfileConfigurationResult `xml:"ApplyHostProfileConfigurationResult,omitempty" json:"_value"`
  2364  }
  2365  
  2366  func init() {
  2367  	t["ArrayOfApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationResult)(nil)).Elem()
  2368  }
  2369  
  2370  // A boxed array of `ApplyHostProfileConfigurationSpec`. To be used in `Any` placeholders.
  2371  type ArrayOfApplyHostProfileConfigurationSpec struct {
  2372  	ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty" json:"_value"`
  2373  }
  2374  
  2375  func init() {
  2376  	t["ArrayOfApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationSpec)(nil)).Elem()
  2377  }
  2378  
  2379  // A boxed array of `ApplyProfile`. To be used in `Any` placeholders.
  2380  type ArrayOfApplyProfile struct {
  2381  	ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr" json:"_value"`
  2382  }
  2383  
  2384  func init() {
  2385  	t["ArrayOfApplyProfile"] = reflect.TypeOf((*ArrayOfApplyProfile)(nil)).Elem()
  2386  }
  2387  
  2388  // A boxed array of `AuthorizationPrivilege`. To be used in `Any` placeholders.
  2389  type ArrayOfAuthorizationPrivilege struct {
  2390  	AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty" json:"_value"`
  2391  }
  2392  
  2393  func init() {
  2394  	t["ArrayOfAuthorizationPrivilege"] = reflect.TypeOf((*ArrayOfAuthorizationPrivilege)(nil)).Elem()
  2395  }
  2396  
  2397  // A boxed array of `AuthorizationRole`. To be used in `Any` placeholders.
  2398  type ArrayOfAuthorizationRole struct {
  2399  	AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty" json:"_value"`
  2400  }
  2401  
  2402  func init() {
  2403  	t["ArrayOfAuthorizationRole"] = reflect.TypeOf((*ArrayOfAuthorizationRole)(nil)).Elem()
  2404  }
  2405  
  2406  // A boxed array of `AutoStartPowerInfo`. To be used in `Any` placeholders.
  2407  type ArrayOfAutoStartPowerInfo struct {
  2408  	AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty" json:"_value"`
  2409  }
  2410  
  2411  func init() {
  2412  	t["ArrayOfAutoStartPowerInfo"] = reflect.TypeOf((*ArrayOfAutoStartPowerInfo)(nil)).Elem()
  2413  }
  2414  
  2415  type ArrayOfBase64Binary struct {
  2416  	Base64Binary [][]byte `xml:"base64Binary,omitempty" json:"_value"`
  2417  }
  2418  
  2419  func init() {
  2420  	t["ArrayOfBase64Binary"] = reflect.TypeOf((*ArrayOfBase64Binary)(nil)).Elem()
  2421  }
  2422  
  2423  // A boxed array of `PrimitiveBoolean`. To be used in `Any` placeholders.
  2424  type ArrayOfBoolean struct {
  2425  	Boolean []bool `xml:"boolean,omitempty" json:"_value"`
  2426  }
  2427  
  2428  func init() {
  2429  	t["ArrayOfBoolean"] = reflect.TypeOf((*ArrayOfBoolean)(nil)).Elem()
  2430  }
  2431  
  2432  // A boxed array of `PrimitiveByte`. To be used in `Any` placeholders.
  2433  type ArrayOfByte struct {
  2434  	Byte ByteSlice `xml:"byte,omitempty" json:"_value"`
  2435  }
  2436  
  2437  func init() {
  2438  	t["ArrayOfByte"] = reflect.TypeOf((*ArrayOfByte)(nil)).Elem()
  2439  }
  2440  
  2441  // A boxed array of `ChangesInfoEventArgument`. To be used in `Any` placeholders.
  2442  type ArrayOfChangesInfoEventArgument struct {
  2443  	ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty" json:"_value"`
  2444  }
  2445  
  2446  func init() {
  2447  	t["ArrayOfChangesInfoEventArgument"] = reflect.TypeOf((*ArrayOfChangesInfoEventArgument)(nil)).Elem()
  2448  }
  2449  
  2450  // A boxed array of `CheckResult`. To be used in `Any` placeholders.
  2451  type ArrayOfCheckResult struct {
  2452  	CheckResult []CheckResult `xml:"CheckResult,omitempty" json:"_value"`
  2453  }
  2454  
  2455  func init() {
  2456  	t["ArrayOfCheckResult"] = reflect.TypeOf((*ArrayOfCheckResult)(nil)).Elem()
  2457  }
  2458  
  2459  // A boxed array of `ClusterAction`. To be used in `Any` placeholders.
  2460  type ArrayOfClusterAction struct {
  2461  	ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr" json:"_value"`
  2462  }
  2463  
  2464  func init() {
  2465  	t["ArrayOfClusterAction"] = reflect.TypeOf((*ArrayOfClusterAction)(nil)).Elem()
  2466  }
  2467  
  2468  // A boxed array of `ClusterActionHistory`. To be used in `Any` placeholders.
  2469  type ArrayOfClusterActionHistory struct {
  2470  	ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty" json:"_value"`
  2471  }
  2472  
  2473  func init() {
  2474  	t["ArrayOfClusterActionHistory"] = reflect.TypeOf((*ArrayOfClusterActionHistory)(nil)).Elem()
  2475  }
  2476  
  2477  // A boxed array of `ClusterAttemptedVmInfo`. To be used in `Any` placeholders.
  2478  type ArrayOfClusterAttemptedVmInfo struct {
  2479  	ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty" json:"_value"`
  2480  }
  2481  
  2482  func init() {
  2483  	t["ArrayOfClusterAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterAttemptedVmInfo)(nil)).Elem()
  2484  }
  2485  
  2486  // A boxed array of `ClusterComputeResourceDVSSetting`. To be used in `Any` placeholders.
  2487  type ArrayOfClusterComputeResourceDVSSetting struct {
  2488  	ClusterComputeResourceDVSSetting []ClusterComputeResourceDVSSetting `xml:"ClusterComputeResourceDVSSetting,omitempty" json:"_value"`
  2489  }
  2490  
  2491  func init() {
  2492  	t["ArrayOfClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSetting)(nil)).Elem()
  2493  }
  2494  
  2495  // A boxed array of `ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping`. To be used in `Any` placeholders.
  2496  type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
  2497  	ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping,omitempty" json:"_value"`
  2498  }
  2499  
  2500  func init() {
  2501  	t["ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
  2502  }
  2503  
  2504  // A boxed array of `ClusterComputeResourceDvsProfile`. To be used in `Any` placeholders.
  2505  type ArrayOfClusterComputeResourceDvsProfile struct {
  2506  	ClusterComputeResourceDvsProfile []ClusterComputeResourceDvsProfile `xml:"ClusterComputeResourceDvsProfile,omitempty" json:"_value"`
  2507  }
  2508  
  2509  func init() {
  2510  	t["ArrayOfClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfile)(nil)).Elem()
  2511  }
  2512  
  2513  // A boxed array of `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping`. To be used in `Any` placeholders.
  2514  type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
  2515  	ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping,omitempty" json:"_value"`
  2516  }
  2517  
  2518  func init() {
  2519  	t["ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
  2520  }
  2521  
  2522  // A boxed array of `ClusterComputeResourceHostConfigurationInput`. To be used in `Any` placeholders.
  2523  type ArrayOfClusterComputeResourceHostConfigurationInput struct {
  2524  	ClusterComputeResourceHostConfigurationInput []ClusterComputeResourceHostConfigurationInput `xml:"ClusterComputeResourceHostConfigurationInput,omitempty" json:"_value"`
  2525  }
  2526  
  2527  func init() {
  2528  	t["ArrayOfClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostConfigurationInput)(nil)).Elem()
  2529  }
  2530  
  2531  // A boxed array of `ClusterComputeResourceHostEvacuationInfo`. To be used in `Any` placeholders.
  2532  type ArrayOfClusterComputeResourceHostEvacuationInfo struct {
  2533  	ClusterComputeResourceHostEvacuationInfo []ClusterComputeResourceHostEvacuationInfo `xml:"ClusterComputeResourceHostEvacuationInfo,omitempty" json:"_value"`
  2534  }
  2535  
  2536  func init() {
  2537  	t["ArrayOfClusterComputeResourceHostEvacuationInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostEvacuationInfo)(nil)).Elem()
  2538  	minAPIVersionForType["ArrayOfClusterComputeResourceHostEvacuationInfo"] = "8.0.3.0"
  2539  }
  2540  
  2541  // A boxed array of `ClusterComputeResourceHostVmkNicInfo`. To be used in `Any` placeholders.
  2542  type ArrayOfClusterComputeResourceHostVmkNicInfo struct {
  2543  	ClusterComputeResourceHostVmkNicInfo []ClusterComputeResourceHostVmkNicInfo `xml:"ClusterComputeResourceHostVmkNicInfo,omitempty" json:"_value"`
  2544  }
  2545  
  2546  func init() {
  2547  	t["ArrayOfClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
  2548  }
  2549  
  2550  // A boxed array of `ClusterComputeResourceValidationResultBase`. To be used in `Any` placeholders.
  2551  type ArrayOfClusterComputeResourceValidationResultBase struct {
  2552  	ClusterComputeResourceValidationResultBase []BaseClusterComputeResourceValidationResultBase `xml:"ClusterComputeResourceValidationResultBase,omitempty,typeattr" json:"_value"`
  2553  }
  2554  
  2555  func init() {
  2556  	t["ArrayOfClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ArrayOfClusterComputeResourceValidationResultBase)(nil)).Elem()
  2557  }
  2558  
  2559  // A boxed array of `ClusterComputeResourceVcsSlots`. To be used in `Any` placeholders.
  2560  type ArrayOfClusterComputeResourceVcsSlots struct {
  2561  	ClusterComputeResourceVcsSlots []ClusterComputeResourceVcsSlots `xml:"ClusterComputeResourceVcsSlots,omitempty" json:"_value"`
  2562  }
  2563  
  2564  func init() {
  2565  	t["ArrayOfClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ArrayOfClusterComputeResourceVcsSlots)(nil)).Elem()
  2566  	minAPIVersionForType["ArrayOfClusterComputeResourceVcsSlots"] = "7.0.1.1"
  2567  }
  2568  
  2569  // A boxed array of `ClusterDasAamNodeState`. To be used in `Any` placeholders.
  2570  type ArrayOfClusterDasAamNodeState struct {
  2571  	ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty" json:"_value"`
  2572  }
  2573  
  2574  func init() {
  2575  	t["ArrayOfClusterDasAamNodeState"] = reflect.TypeOf((*ArrayOfClusterDasAamNodeState)(nil)).Elem()
  2576  }
  2577  
  2578  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots`. To be used in `Any` placeholders.
  2579  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
  2580  	ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty" json:"_value"`
  2581  }
  2582  
  2583  func init() {
  2584  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
  2585  }
  2586  
  2587  // A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots`. To be used in `Any` placeholders.
  2588  type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
  2589  	ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty" json:"_value"`
  2590  }
  2591  
  2592  func init() {
  2593  	t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
  2594  }
  2595  
  2596  // A boxed array of `ClusterDasVmConfigInfo`. To be used in `Any` placeholders.
  2597  type ArrayOfClusterDasVmConfigInfo struct {
  2598  	ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty" json:"_value"`
  2599  }
  2600  
  2601  func init() {
  2602  	t["ArrayOfClusterDasVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigInfo)(nil)).Elem()
  2603  }
  2604  
  2605  // A boxed array of `ClusterDasVmConfigSpec`. To be used in `Any` placeholders.
  2606  type ArrayOfClusterDasVmConfigSpec struct {
  2607  	ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty" json:"_value"`
  2608  }
  2609  
  2610  func init() {
  2611  	t["ArrayOfClusterDasVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigSpec)(nil)).Elem()
  2612  }
  2613  
  2614  // A boxed array of `ClusterDatastoreUpdateSpec`. To be used in `Any` placeholders.
  2615  type ArrayOfClusterDatastoreUpdateSpec struct {
  2616  	ClusterDatastoreUpdateSpec []ClusterDatastoreUpdateSpec `xml:"ClusterDatastoreUpdateSpec,omitempty" json:"_value"`
  2617  }
  2618  
  2619  func init() {
  2620  	t["ArrayOfClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterDatastoreUpdateSpec)(nil)).Elem()
  2621  	minAPIVersionForType["ArrayOfClusterDatastoreUpdateSpec"] = "7.0.3.0"
  2622  }
  2623  
  2624  // A boxed array of `ClusterDpmHostConfigInfo`. To be used in `Any` placeholders.
  2625  type ArrayOfClusterDpmHostConfigInfo struct {
  2626  	ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty" json:"_value"`
  2627  }
  2628  
  2629  func init() {
  2630  	t["ArrayOfClusterDpmHostConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigInfo)(nil)).Elem()
  2631  }
  2632  
  2633  // A boxed array of `ClusterDpmHostConfigSpec`. To be used in `Any` placeholders.
  2634  type ArrayOfClusterDpmHostConfigSpec struct {
  2635  	ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty" json:"_value"`
  2636  }
  2637  
  2638  func init() {
  2639  	t["ArrayOfClusterDpmHostConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigSpec)(nil)).Elem()
  2640  }
  2641  
  2642  // A boxed array of `ClusterDrsFaults`. To be used in `Any` placeholders.
  2643  type ArrayOfClusterDrsFaults struct {
  2644  	ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty" json:"_value"`
  2645  }
  2646  
  2647  func init() {
  2648  	t["ArrayOfClusterDrsFaults"] = reflect.TypeOf((*ArrayOfClusterDrsFaults)(nil)).Elem()
  2649  }
  2650  
  2651  // A boxed array of `ClusterDrsFaultsFaultsByVm`. To be used in `Any` placeholders.
  2652  type ArrayOfClusterDrsFaultsFaultsByVm struct {
  2653  	ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr" json:"_value"`
  2654  }
  2655  
  2656  func init() {
  2657  	t["ArrayOfClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ArrayOfClusterDrsFaultsFaultsByVm)(nil)).Elem()
  2658  }
  2659  
  2660  // A boxed array of `ClusterDrsMigration`. To be used in `Any` placeholders.
  2661  type ArrayOfClusterDrsMigration struct {
  2662  	ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty" json:"_value"`
  2663  }
  2664  
  2665  func init() {
  2666  	t["ArrayOfClusterDrsMigration"] = reflect.TypeOf((*ArrayOfClusterDrsMigration)(nil)).Elem()
  2667  }
  2668  
  2669  // A boxed array of `ClusterDrsRecommendation`. To be used in `Any` placeholders.
  2670  type ArrayOfClusterDrsRecommendation struct {
  2671  	ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty" json:"_value"`
  2672  }
  2673  
  2674  func init() {
  2675  	t["ArrayOfClusterDrsRecommendation"] = reflect.TypeOf((*ArrayOfClusterDrsRecommendation)(nil)).Elem()
  2676  }
  2677  
  2678  // A boxed array of `ClusterDrsVmConfigInfo`. To be used in `Any` placeholders.
  2679  type ArrayOfClusterDrsVmConfigInfo struct {
  2680  	ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty" json:"_value"`
  2681  }
  2682  
  2683  func init() {
  2684  	t["ArrayOfClusterDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigInfo)(nil)).Elem()
  2685  }
  2686  
  2687  // A boxed array of `ClusterDrsVmConfigSpec`. To be used in `Any` placeholders.
  2688  type ArrayOfClusterDrsVmConfigSpec struct {
  2689  	ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty" json:"_value"`
  2690  }
  2691  
  2692  func init() {
  2693  	t["ArrayOfClusterDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigSpec)(nil)).Elem()
  2694  }
  2695  
  2696  // A boxed array of `ClusterEVCManagerCheckResult`. To be used in `Any` placeholders.
  2697  type ArrayOfClusterEVCManagerCheckResult struct {
  2698  	ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty" json:"_value"`
  2699  }
  2700  
  2701  func init() {
  2702  	t["ArrayOfClusterEVCManagerCheckResult"] = reflect.TypeOf((*ArrayOfClusterEVCManagerCheckResult)(nil)).Elem()
  2703  }
  2704  
  2705  // A boxed array of `ClusterFailoverHostAdmissionControlInfoHostStatus`. To be used in `Any` placeholders.
  2706  type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct {
  2707  	ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty" json:"_value"`
  2708  }
  2709  
  2710  func init() {
  2711  	t["ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
  2712  }
  2713  
  2714  // A boxed array of `ClusterGroupInfo`. To be used in `Any` placeholders.
  2715  type ArrayOfClusterGroupInfo struct {
  2716  	ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr" json:"_value"`
  2717  }
  2718  
  2719  func init() {
  2720  	t["ArrayOfClusterGroupInfo"] = reflect.TypeOf((*ArrayOfClusterGroupInfo)(nil)).Elem()
  2721  }
  2722  
  2723  // A boxed array of `ClusterGroupSpec`. To be used in `Any` placeholders.
  2724  type ArrayOfClusterGroupSpec struct {
  2725  	ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty" json:"_value"`
  2726  }
  2727  
  2728  func init() {
  2729  	t["ArrayOfClusterGroupSpec"] = reflect.TypeOf((*ArrayOfClusterGroupSpec)(nil)).Elem()
  2730  }
  2731  
  2732  // A boxed array of `ClusterHostRecommendation`. To be used in `Any` placeholders.
  2733  type ArrayOfClusterHostRecommendation struct {
  2734  	ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty" json:"_value"`
  2735  }
  2736  
  2737  func init() {
  2738  	t["ArrayOfClusterHostRecommendation"] = reflect.TypeOf((*ArrayOfClusterHostRecommendation)(nil)).Elem()
  2739  }
  2740  
  2741  // A boxed array of `ClusterIoFilterInfo`. To be used in `Any` placeholders.
  2742  type ArrayOfClusterIoFilterInfo struct {
  2743  	ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty" json:"_value"`
  2744  }
  2745  
  2746  func init() {
  2747  	t["ArrayOfClusterIoFilterInfo"] = reflect.TypeOf((*ArrayOfClusterIoFilterInfo)(nil)).Elem()
  2748  }
  2749  
  2750  // A boxed array of `ClusterNotAttemptedVmInfo`. To be used in `Any` placeholders.
  2751  type ArrayOfClusterNotAttemptedVmInfo struct {
  2752  	ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty" json:"_value"`
  2753  }
  2754  
  2755  func init() {
  2756  	t["ArrayOfClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterNotAttemptedVmInfo)(nil)).Elem()
  2757  }
  2758  
  2759  // A boxed array of `ClusterRecommendation`. To be used in `Any` placeholders.
  2760  type ArrayOfClusterRecommendation struct {
  2761  	ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty" json:"_value"`
  2762  }
  2763  
  2764  func init() {
  2765  	t["ArrayOfClusterRecommendation"] = reflect.TypeOf((*ArrayOfClusterRecommendation)(nil)).Elem()
  2766  }
  2767  
  2768  // A boxed array of `ClusterRuleInfo`. To be used in `Any` placeholders.
  2769  type ArrayOfClusterRuleInfo struct {
  2770  	ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr" json:"_value"`
  2771  }
  2772  
  2773  func init() {
  2774  	t["ArrayOfClusterRuleInfo"] = reflect.TypeOf((*ArrayOfClusterRuleInfo)(nil)).Elem()
  2775  }
  2776  
  2777  // A boxed array of `ClusterRuleSpec`. To be used in `Any` placeholders.
  2778  type ArrayOfClusterRuleSpec struct {
  2779  	ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty" json:"_value"`
  2780  }
  2781  
  2782  func init() {
  2783  	t["ArrayOfClusterRuleSpec"] = reflect.TypeOf((*ArrayOfClusterRuleSpec)(nil)).Elem()
  2784  }
  2785  
  2786  // A boxed array of `ClusterTagCategoryUpdateSpec`. To be used in `Any` placeholders.
  2787  type ArrayOfClusterTagCategoryUpdateSpec struct {
  2788  	ClusterTagCategoryUpdateSpec []ClusterTagCategoryUpdateSpec `xml:"ClusterTagCategoryUpdateSpec,omitempty" json:"_value"`
  2789  }
  2790  
  2791  func init() {
  2792  	t["ArrayOfClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterTagCategoryUpdateSpec)(nil)).Elem()
  2793  	minAPIVersionForType["ArrayOfClusterTagCategoryUpdateSpec"] = "7.0.3.0"
  2794  }
  2795  
  2796  // A boxed array of `ClusterVmOrchestrationInfo`. To be used in `Any` placeholders.
  2797  type ArrayOfClusterVmOrchestrationInfo struct {
  2798  	ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty" json:"_value"`
  2799  }
  2800  
  2801  func init() {
  2802  	t["ArrayOfClusterVmOrchestrationInfo"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationInfo)(nil)).Elem()
  2803  }
  2804  
  2805  // A boxed array of `ClusterVmOrchestrationSpec`. To be used in `Any` placeholders.
  2806  type ArrayOfClusterVmOrchestrationSpec struct {
  2807  	ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty" json:"_value"`
  2808  }
  2809  
  2810  func init() {
  2811  	t["ArrayOfClusterVmOrchestrationSpec"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationSpec)(nil)).Elem()
  2812  }
  2813  
  2814  // A boxed array of `ComplianceFailure`. To be used in `Any` placeholders.
  2815  type ArrayOfComplianceFailure struct {
  2816  	ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty" json:"_value"`
  2817  }
  2818  
  2819  func init() {
  2820  	t["ArrayOfComplianceFailure"] = reflect.TypeOf((*ArrayOfComplianceFailure)(nil)).Elem()
  2821  }
  2822  
  2823  // A boxed array of `ComplianceFailureComplianceFailureValues`. To be used in `Any` placeholders.
  2824  type ArrayOfComplianceFailureComplianceFailureValues struct {
  2825  	ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty" json:"_value"`
  2826  }
  2827  
  2828  func init() {
  2829  	t["ArrayOfComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ArrayOfComplianceFailureComplianceFailureValues)(nil)).Elem()
  2830  }
  2831  
  2832  // A boxed array of `ComplianceLocator`. To be used in `Any` placeholders.
  2833  type ArrayOfComplianceLocator struct {
  2834  	ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty" json:"_value"`
  2835  }
  2836  
  2837  func init() {
  2838  	t["ArrayOfComplianceLocator"] = reflect.TypeOf((*ArrayOfComplianceLocator)(nil)).Elem()
  2839  }
  2840  
  2841  // A boxed array of `ComplianceResult`. To be used in `Any` placeholders.
  2842  type ArrayOfComplianceResult struct {
  2843  	ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty" json:"_value"`
  2844  }
  2845  
  2846  func init() {
  2847  	t["ArrayOfComplianceResult"] = reflect.TypeOf((*ArrayOfComplianceResult)(nil)).Elem()
  2848  }
  2849  
  2850  // A boxed array of `ComputeResourceHostSPBMLicenseInfo`. To be used in `Any` placeholders.
  2851  type ArrayOfComputeResourceHostSPBMLicenseInfo struct {
  2852  	ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty" json:"_value"`
  2853  }
  2854  
  2855  func init() {
  2856  	t["ArrayOfComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ArrayOfComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
  2857  }
  2858  
  2859  // A boxed array of `ConflictingConfigurationConfig`. To be used in `Any` placeholders.
  2860  type ArrayOfConflictingConfigurationConfig struct {
  2861  	ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty" json:"_value"`
  2862  }
  2863  
  2864  func init() {
  2865  	t["ArrayOfConflictingConfigurationConfig"] = reflect.TypeOf((*ArrayOfConflictingConfigurationConfig)(nil)).Elem()
  2866  }
  2867  
  2868  // A boxed array of `CryptoKeyId`. To be used in `Any` placeholders.
  2869  type ArrayOfCryptoKeyId struct {
  2870  	CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty" json:"_value"`
  2871  }
  2872  
  2873  func init() {
  2874  	t["ArrayOfCryptoKeyId"] = reflect.TypeOf((*ArrayOfCryptoKeyId)(nil)).Elem()
  2875  }
  2876  
  2877  // A boxed array of `CryptoKeyPlain`. To be used in `Any` placeholders.
  2878  type ArrayOfCryptoKeyPlain struct {
  2879  	CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty" json:"_value"`
  2880  }
  2881  
  2882  func init() {
  2883  	t["ArrayOfCryptoKeyPlain"] = reflect.TypeOf((*ArrayOfCryptoKeyPlain)(nil)).Elem()
  2884  }
  2885  
  2886  // A boxed array of `CryptoKeyResult`. To be used in `Any` placeholders.
  2887  type ArrayOfCryptoKeyResult struct {
  2888  	CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty" json:"_value"`
  2889  }
  2890  
  2891  func init() {
  2892  	t["ArrayOfCryptoKeyResult"] = reflect.TypeOf((*ArrayOfCryptoKeyResult)(nil)).Elem()
  2893  }
  2894  
  2895  // A boxed array of `CryptoManagerHostKeyStatus`. To be used in `Any` placeholders.
  2896  type ArrayOfCryptoManagerHostKeyStatus struct {
  2897  	CryptoManagerHostKeyStatus []CryptoManagerHostKeyStatus `xml:"CryptoManagerHostKeyStatus,omitempty" json:"_value"`
  2898  }
  2899  
  2900  func init() {
  2901  	t["ArrayOfCryptoManagerHostKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerHostKeyStatus)(nil)).Elem()
  2902  	minAPIVersionForType["ArrayOfCryptoManagerHostKeyStatus"] = "8.0.1.0"
  2903  }
  2904  
  2905  // A boxed array of `CryptoManagerKmipClusterStatus`. To be used in `Any` placeholders.
  2906  type ArrayOfCryptoManagerKmipClusterStatus struct {
  2907  	CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty" json:"_value"`
  2908  }
  2909  
  2910  func init() {
  2911  	t["ArrayOfCryptoManagerKmipClusterStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipClusterStatus)(nil)).Elem()
  2912  }
  2913  
  2914  // A boxed array of `CryptoManagerKmipCryptoKeyStatus`. To be used in `Any` placeholders.
  2915  type ArrayOfCryptoManagerKmipCryptoKeyStatus struct {
  2916  	CryptoManagerKmipCryptoKeyStatus []CryptoManagerKmipCryptoKeyStatus `xml:"CryptoManagerKmipCryptoKeyStatus,omitempty" json:"_value"`
  2917  }
  2918  
  2919  func init() {
  2920  	t["ArrayOfCryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
  2921  }
  2922  
  2923  // A boxed array of `CryptoManagerKmipServerStatus`. To be used in `Any` placeholders.
  2924  type ArrayOfCryptoManagerKmipServerStatus struct {
  2925  	CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty" json:"_value"`
  2926  }
  2927  
  2928  func init() {
  2929  	t["ArrayOfCryptoManagerKmipServerStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipServerStatus)(nil)).Elem()
  2930  }
  2931  
  2932  // A boxed array of `CustomFieldDef`. To be used in `Any` placeholders.
  2933  type ArrayOfCustomFieldDef struct {
  2934  	CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty" json:"_value"`
  2935  }
  2936  
  2937  func init() {
  2938  	t["ArrayOfCustomFieldDef"] = reflect.TypeOf((*ArrayOfCustomFieldDef)(nil)).Elem()
  2939  }
  2940  
  2941  // A boxed array of `CustomFieldValue`. To be used in `Any` placeholders.
  2942  type ArrayOfCustomFieldValue struct {
  2943  	CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr" json:"_value"`
  2944  }
  2945  
  2946  func init() {
  2947  	t["ArrayOfCustomFieldValue"] = reflect.TypeOf((*ArrayOfCustomFieldValue)(nil)).Elem()
  2948  }
  2949  
  2950  // A boxed array of `CustomizationAdapterMapping`. To be used in `Any` placeholders.
  2951  type ArrayOfCustomizationAdapterMapping struct {
  2952  	CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty" json:"_value"`
  2953  }
  2954  
  2955  func init() {
  2956  	t["ArrayOfCustomizationAdapterMapping"] = reflect.TypeOf((*ArrayOfCustomizationAdapterMapping)(nil)).Elem()
  2957  }
  2958  
  2959  // A boxed array of `CustomizationIpV6Generator`. To be used in `Any` placeholders.
  2960  type ArrayOfCustomizationIpV6Generator struct {
  2961  	CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr" json:"_value"`
  2962  }
  2963  
  2964  func init() {
  2965  	t["ArrayOfCustomizationIpV6Generator"] = reflect.TypeOf((*ArrayOfCustomizationIpV6Generator)(nil)).Elem()
  2966  }
  2967  
  2968  // A boxed array of `CustomizationSpecInfo`. To be used in `Any` placeholders.
  2969  type ArrayOfCustomizationSpecInfo struct {
  2970  	CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty" json:"_value"`
  2971  }
  2972  
  2973  func init() {
  2974  	t["ArrayOfCustomizationSpecInfo"] = reflect.TypeOf((*ArrayOfCustomizationSpecInfo)(nil)).Elem()
  2975  }
  2976  
  2977  // A boxed array of `DVPortConfigSpec`. To be used in `Any` placeholders.
  2978  type ArrayOfDVPortConfigSpec struct {
  2979  	DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty" json:"_value"`
  2980  }
  2981  
  2982  func init() {
  2983  	t["ArrayOfDVPortConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortConfigSpec)(nil)).Elem()
  2984  }
  2985  
  2986  // A boxed array of `DVPortgroupConfigSpec`. To be used in `Any` placeholders.
  2987  type ArrayOfDVPortgroupConfigSpec struct {
  2988  	DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty" json:"_value"`
  2989  }
  2990  
  2991  func init() {
  2992  	t["ArrayOfDVPortgroupConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortgroupConfigSpec)(nil)).Elem()
  2993  }
  2994  
  2995  // A boxed array of `DVSHealthCheckConfig`. To be used in `Any` placeholders.
  2996  type ArrayOfDVSHealthCheckConfig struct {
  2997  	DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr" json:"_value"`
  2998  }
  2999  
  3000  func init() {
  3001  	t["ArrayOfDVSHealthCheckConfig"] = reflect.TypeOf((*ArrayOfDVSHealthCheckConfig)(nil)).Elem()
  3002  }
  3003  
  3004  // A boxed array of `DVSManagerPhysicalNicsList`. To be used in `Any` placeholders.
  3005  type ArrayOfDVSManagerPhysicalNicsList struct {
  3006  	DVSManagerPhysicalNicsList []DVSManagerPhysicalNicsList `xml:"DVSManagerPhysicalNicsList,omitempty" json:"_value"`
  3007  }
  3008  
  3009  func init() {
  3010  	t["ArrayOfDVSManagerPhysicalNicsList"] = reflect.TypeOf((*ArrayOfDVSManagerPhysicalNicsList)(nil)).Elem()
  3011  	minAPIVersionForType["ArrayOfDVSManagerPhysicalNicsList"] = "8.0.0.1"
  3012  }
  3013  
  3014  // A boxed array of `DVSNetworkResourcePool`. To be used in `Any` placeholders.
  3015  type ArrayOfDVSNetworkResourcePool struct {
  3016  	DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty" json:"_value"`
  3017  }
  3018  
  3019  func init() {
  3020  	t["ArrayOfDVSNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePool)(nil)).Elem()
  3021  }
  3022  
  3023  // A boxed array of `DVSNetworkResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3024  type ArrayOfDVSNetworkResourcePoolConfigSpec struct {
  3025  	DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty" json:"_value"`
  3026  }
  3027  
  3028  func init() {
  3029  	t["ArrayOfDVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePoolConfigSpec)(nil)).Elem()
  3030  }
  3031  
  3032  // A boxed array of `DVSVmVnicNetworkResourcePool`. To be used in `Any` placeholders.
  3033  type ArrayOfDVSVmVnicNetworkResourcePool struct {
  3034  	DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty" json:"_value"`
  3035  }
  3036  
  3037  func init() {
  3038  	t["ArrayOfDVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSVmVnicNetworkResourcePool)(nil)).Elem()
  3039  }
  3040  
  3041  // A boxed array of `DasHeartbeatDatastoreInfo`. To be used in `Any` placeholders.
  3042  type ArrayOfDasHeartbeatDatastoreInfo struct {
  3043  	DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty" json:"_value"`
  3044  }
  3045  
  3046  func init() {
  3047  	t["ArrayOfDasHeartbeatDatastoreInfo"] = reflect.TypeOf((*ArrayOfDasHeartbeatDatastoreInfo)(nil)).Elem()
  3048  }
  3049  
  3050  // A boxed array of `DatacenterBasicConnectInfo`. To be used in `Any` placeholders.
  3051  type ArrayOfDatacenterBasicConnectInfo struct {
  3052  	DatacenterBasicConnectInfo []DatacenterBasicConnectInfo `xml:"DatacenterBasicConnectInfo,omitempty" json:"_value"`
  3053  }
  3054  
  3055  func init() {
  3056  	t["ArrayOfDatacenterBasicConnectInfo"] = reflect.TypeOf((*ArrayOfDatacenterBasicConnectInfo)(nil)).Elem()
  3057  }
  3058  
  3059  // A boxed array of `DatacenterMismatchArgument`. To be used in `Any` placeholders.
  3060  type ArrayOfDatacenterMismatchArgument struct {
  3061  	DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty" json:"_value"`
  3062  }
  3063  
  3064  func init() {
  3065  	t["ArrayOfDatacenterMismatchArgument"] = reflect.TypeOf((*ArrayOfDatacenterMismatchArgument)(nil)).Elem()
  3066  }
  3067  
  3068  // A boxed array of `DatastoreHostMount`. To be used in `Any` placeholders.
  3069  type ArrayOfDatastoreHostMount struct {
  3070  	DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty" json:"_value"`
  3071  }
  3072  
  3073  func init() {
  3074  	t["ArrayOfDatastoreHostMount"] = reflect.TypeOf((*ArrayOfDatastoreHostMount)(nil)).Elem()
  3075  }
  3076  
  3077  // A boxed array of `DatastoreMountPathDatastorePair`. To be used in `Any` placeholders.
  3078  type ArrayOfDatastoreMountPathDatastorePair struct {
  3079  	DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty" json:"_value"`
  3080  }
  3081  
  3082  func init() {
  3083  	t["ArrayOfDatastoreMountPathDatastorePair"] = reflect.TypeOf((*ArrayOfDatastoreMountPathDatastorePair)(nil)).Elem()
  3084  }
  3085  
  3086  // A boxed array of `DatastoreVVolContainerFailoverPair`. To be used in `Any` placeholders.
  3087  type ArrayOfDatastoreVVolContainerFailoverPair struct {
  3088  	DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty" json:"_value"`
  3089  }
  3090  
  3091  func init() {
  3092  	t["ArrayOfDatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*ArrayOfDatastoreVVolContainerFailoverPair)(nil)).Elem()
  3093  }
  3094  
  3095  // A boxed array of `DesiredSoftwareSpecComponentSpec`. To be used in `Any` placeholders.
  3096  type ArrayOfDesiredSoftwareSpecComponentSpec struct {
  3097  	DesiredSoftwareSpecComponentSpec []DesiredSoftwareSpecComponentSpec `xml:"DesiredSoftwareSpecComponentSpec,omitempty" json:"_value"`
  3098  }
  3099  
  3100  func init() {
  3101  	t["ArrayOfDesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*ArrayOfDesiredSoftwareSpecComponentSpec)(nil)).Elem()
  3102  	minAPIVersionForType["ArrayOfDesiredSoftwareSpecComponentSpec"] = "7.0.2.0"
  3103  }
  3104  
  3105  // A boxed array of `DiagnosticManagerBundleInfo`. To be used in `Any` placeholders.
  3106  type ArrayOfDiagnosticManagerBundleInfo struct {
  3107  	DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty" json:"_value"`
  3108  }
  3109  
  3110  func init() {
  3111  	t["ArrayOfDiagnosticManagerBundleInfo"] = reflect.TypeOf((*ArrayOfDiagnosticManagerBundleInfo)(nil)).Elem()
  3112  }
  3113  
  3114  // A boxed array of `DiagnosticManagerLogDescriptor`. To be used in `Any` placeholders.
  3115  type ArrayOfDiagnosticManagerLogDescriptor struct {
  3116  	DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty" json:"_value"`
  3117  }
  3118  
  3119  func init() {
  3120  	t["ArrayOfDiagnosticManagerLogDescriptor"] = reflect.TypeOf((*ArrayOfDiagnosticManagerLogDescriptor)(nil)).Elem()
  3121  }
  3122  
  3123  // A boxed array of `DiskChangeExtent`. To be used in `Any` placeholders.
  3124  type ArrayOfDiskChangeExtent struct {
  3125  	DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty" json:"_value"`
  3126  }
  3127  
  3128  func init() {
  3129  	t["ArrayOfDiskChangeExtent"] = reflect.TypeOf((*ArrayOfDiskChangeExtent)(nil)).Elem()
  3130  }
  3131  
  3132  // A boxed array of `DistributedVirtualPort`. To be used in `Any` placeholders.
  3133  type ArrayOfDistributedVirtualPort struct {
  3134  	DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty" json:"_value"`
  3135  }
  3136  
  3137  func init() {
  3138  	t["ArrayOfDistributedVirtualPort"] = reflect.TypeOf((*ArrayOfDistributedVirtualPort)(nil)).Elem()
  3139  }
  3140  
  3141  // A boxed array of `DistributedVirtualPortgroupInfo`. To be used in `Any` placeholders.
  3142  type ArrayOfDistributedVirtualPortgroupInfo struct {
  3143  	DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty" json:"_value"`
  3144  }
  3145  
  3146  func init() {
  3147  	t["ArrayOfDistributedVirtualPortgroupInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupInfo)(nil)).Elem()
  3148  }
  3149  
  3150  // A boxed array of `DistributedVirtualPortgroupProblem`. To be used in `Any` placeholders.
  3151  type ArrayOfDistributedVirtualPortgroupProblem struct {
  3152  	DistributedVirtualPortgroupProblem []DistributedVirtualPortgroupProblem `xml:"DistributedVirtualPortgroupProblem,omitempty" json:"_value"`
  3153  }
  3154  
  3155  func init() {
  3156  	t["ArrayOfDistributedVirtualPortgroupProblem"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupProblem)(nil)).Elem()
  3157  }
  3158  
  3159  // A boxed array of `DistributedVirtualSwitchHostMember`. To be used in `Any` placeholders.
  3160  type ArrayOfDistributedVirtualSwitchHostMember struct {
  3161  	DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty" json:"_value"`
  3162  }
  3163  
  3164  func init() {
  3165  	t["ArrayOfDistributedVirtualSwitchHostMember"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMember)(nil)).Elem()
  3166  }
  3167  
  3168  // A boxed array of `DistributedVirtualSwitchHostMemberConfigSpec`. To be used in `Any` placeholders.
  3169  type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct {
  3170  	DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty" json:"_value"`
  3171  }
  3172  
  3173  func init() {
  3174  	t["ArrayOfDistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
  3175  }
  3176  
  3177  // A boxed array of `DistributedVirtualSwitchHostMemberHostUplinkState`. To be used in `Any` placeholders.
  3178  type ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState struct {
  3179  	DistributedVirtualSwitchHostMemberHostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"DistributedVirtualSwitchHostMemberHostUplinkState,omitempty" json:"_value"`
  3180  }
  3181  
  3182  func init() {
  3183  	t["ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState)(nil)).Elem()
  3184  	minAPIVersionForType["ArrayOfDistributedVirtualSwitchHostMemberHostUplinkState"] = "8.0.3.0"
  3185  }
  3186  
  3187  // A boxed array of `DistributedVirtualSwitchHostMemberPnicSpec`. To be used in `Any` placeholders.
  3188  type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct {
  3189  	DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty" json:"_value"`
  3190  }
  3191  
  3192  func init() {
  3193  	t["ArrayOfDistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
  3194  }
  3195  
  3196  // A boxed array of `DistributedVirtualSwitchHostMemberTransportZoneInfo`. To be used in `Any` placeholders.
  3197  type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo struct {
  3198  	DistributedVirtualSwitchHostMemberTransportZoneInfo []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"DistributedVirtualSwitchHostMemberTransportZoneInfo,omitempty" json:"_value"`
  3199  }
  3200  
  3201  func init() {
  3202  	t["ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
  3203  }
  3204  
  3205  // A boxed array of `DistributedVirtualSwitchHostProductSpec`. To be used in `Any` placeholders.
  3206  type ArrayOfDistributedVirtualSwitchHostProductSpec struct {
  3207  	DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty" json:"_value"`
  3208  }
  3209  
  3210  func init() {
  3211  	t["ArrayOfDistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostProductSpec)(nil)).Elem()
  3212  }
  3213  
  3214  // A boxed array of `DistributedVirtualSwitchInfo`. To be used in `Any` placeholders.
  3215  type ArrayOfDistributedVirtualSwitchInfo struct {
  3216  	DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty" json:"_value"`
  3217  }
  3218  
  3219  func init() {
  3220  	t["ArrayOfDistributedVirtualSwitchInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchInfo)(nil)).Elem()
  3221  }
  3222  
  3223  // A boxed array of `DistributedVirtualSwitchKeyedOpaqueBlob`. To be used in `Any` placeholders.
  3224  type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct {
  3225  	DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty" json:"_value"`
  3226  }
  3227  
  3228  func init() {
  3229  	t["ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
  3230  }
  3231  
  3232  // A boxed array of `DistributedVirtualSwitchManagerCompatibilityResult`. To be used in `Any` placeholders.
  3233  type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct {
  3234  	DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty" json:"_value"`
  3235  }
  3236  
  3237  func init() {
  3238  	t["ArrayOfDistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
  3239  }
  3240  
  3241  // A boxed array of `DistributedVirtualSwitchManagerHostDvsFilterSpec`. To be used in `Any` placeholders.
  3242  type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct {
  3243  	DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr" json:"_value"`
  3244  }
  3245  
  3246  func init() {
  3247  	t["ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
  3248  }
  3249  
  3250  // A boxed array of `DistributedVirtualSwitchNetworkOffloadSpec`. To be used in `Any` placeholders.
  3251  type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec struct {
  3252  	DistributedVirtualSwitchNetworkOffloadSpec []DistributedVirtualSwitchNetworkOffloadSpec `xml:"DistributedVirtualSwitchNetworkOffloadSpec,omitempty" json:"_value"`
  3253  }
  3254  
  3255  func init() {
  3256  	t["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
  3257  	minAPIVersionForType["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = "8.0.0.1"
  3258  }
  3259  
  3260  // A boxed array of `DistributedVirtualSwitchProductSpec`. To be used in `Any` placeholders.
  3261  type ArrayOfDistributedVirtualSwitchProductSpec struct {
  3262  	DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty" json:"_value"`
  3263  }
  3264  
  3265  func init() {
  3266  	t["ArrayOfDistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchProductSpec)(nil)).Elem()
  3267  }
  3268  
  3269  // A boxed array of `PrimitiveDouble`. To be used in `Any` placeholders.
  3270  type ArrayOfDouble struct {
  3271  	Double []float64 `xml:"double,omitempty" json:"_value"`
  3272  }
  3273  
  3274  func init() {
  3275  	t["ArrayOfDouble"] = reflect.TypeOf((*ArrayOfDouble)(nil)).Elem()
  3276  }
  3277  
  3278  // A boxed array of `DpuStatusInfo`. To be used in `Any` placeholders.
  3279  type ArrayOfDpuStatusInfo struct {
  3280  	DpuStatusInfo []DpuStatusInfo `xml:"DpuStatusInfo,omitempty" json:"_value"`
  3281  }
  3282  
  3283  func init() {
  3284  	t["ArrayOfDpuStatusInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfo)(nil)).Elem()
  3285  	minAPIVersionForType["ArrayOfDpuStatusInfo"] = "8.0.0.1"
  3286  }
  3287  
  3288  // A boxed array of `DpuStatusInfoOperationalInfo`. To be used in `Any` placeholders.
  3289  type ArrayOfDpuStatusInfoOperationalInfo struct {
  3290  	DpuStatusInfoOperationalInfo []DpuStatusInfoOperationalInfo `xml:"DpuStatusInfoOperationalInfo,omitempty" json:"_value"`
  3291  }
  3292  
  3293  func init() {
  3294  	t["ArrayOfDpuStatusInfoOperationalInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfoOperationalInfo)(nil)).Elem()
  3295  	minAPIVersionForType["ArrayOfDpuStatusInfoOperationalInfo"] = "8.0.0.1"
  3296  }
  3297  
  3298  // A boxed array of `DvsApplyOperationFaultFaultOnObject`. To be used in `Any` placeholders.
  3299  type ArrayOfDvsApplyOperationFaultFaultOnObject struct {
  3300  	DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty" json:"_value"`
  3301  }
  3302  
  3303  func init() {
  3304  	t["ArrayOfDvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*ArrayOfDvsApplyOperationFaultFaultOnObject)(nil)).Elem()
  3305  }
  3306  
  3307  // A boxed array of `DvsFilterConfig`. To be used in `Any` placeholders.
  3308  type ArrayOfDvsFilterConfig struct {
  3309  	DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr" json:"_value"`
  3310  }
  3311  
  3312  func init() {
  3313  	t["ArrayOfDvsFilterConfig"] = reflect.TypeOf((*ArrayOfDvsFilterConfig)(nil)).Elem()
  3314  }
  3315  
  3316  // A boxed array of `DvsHostInfrastructureTrafficResource`. To be used in `Any` placeholders.
  3317  type ArrayOfDvsHostInfrastructureTrafficResource struct {
  3318  	DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty" json:"_value"`
  3319  }
  3320  
  3321  func init() {
  3322  	t["ArrayOfDvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*ArrayOfDvsHostInfrastructureTrafficResource)(nil)).Elem()
  3323  }
  3324  
  3325  // A boxed array of `DvsHostVNicProfile`. To be used in `Any` placeholders.
  3326  type ArrayOfDvsHostVNicProfile struct {
  3327  	DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty" json:"_value"`
  3328  }
  3329  
  3330  func init() {
  3331  	t["ArrayOfDvsHostVNicProfile"] = reflect.TypeOf((*ArrayOfDvsHostVNicProfile)(nil)).Elem()
  3332  }
  3333  
  3334  // A boxed array of `DvsNetworkRuleQualifier`. To be used in `Any` placeholders.
  3335  type ArrayOfDvsNetworkRuleQualifier struct {
  3336  	DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr" json:"_value"`
  3337  }
  3338  
  3339  func init() {
  3340  	t["ArrayOfDvsNetworkRuleQualifier"] = reflect.TypeOf((*ArrayOfDvsNetworkRuleQualifier)(nil)).Elem()
  3341  }
  3342  
  3343  // A boxed array of `DvsOperationBulkFaultFaultOnHost`. To be used in `Any` placeholders.
  3344  type ArrayOfDvsOperationBulkFaultFaultOnHost struct {
  3345  	DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty" json:"_value"`
  3346  }
  3347  
  3348  func init() {
  3349  	t["ArrayOfDvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*ArrayOfDvsOperationBulkFaultFaultOnHost)(nil)).Elem()
  3350  }
  3351  
  3352  // A boxed array of `DvsOutOfSyncHostArgument`. To be used in `Any` placeholders.
  3353  type ArrayOfDvsOutOfSyncHostArgument struct {
  3354  	DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty" json:"_value"`
  3355  }
  3356  
  3357  func init() {
  3358  	t["ArrayOfDvsOutOfSyncHostArgument"] = reflect.TypeOf((*ArrayOfDvsOutOfSyncHostArgument)(nil)).Elem()
  3359  }
  3360  
  3361  // A boxed array of `DvsProfile`. To be used in `Any` placeholders.
  3362  type ArrayOfDvsProfile struct {
  3363  	DvsProfile []DvsProfile `xml:"DvsProfile,omitempty" json:"_value"`
  3364  }
  3365  
  3366  func init() {
  3367  	t["ArrayOfDvsProfile"] = reflect.TypeOf((*ArrayOfDvsProfile)(nil)).Elem()
  3368  }
  3369  
  3370  // A boxed array of `DvsServiceConsoleVNicProfile`. To be used in `Any` placeholders.
  3371  type ArrayOfDvsServiceConsoleVNicProfile struct {
  3372  	DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty" json:"_value"`
  3373  }
  3374  
  3375  func init() {
  3376  	t["ArrayOfDvsServiceConsoleVNicProfile"] = reflect.TypeOf((*ArrayOfDvsServiceConsoleVNicProfile)(nil)).Elem()
  3377  }
  3378  
  3379  // A boxed array of `DvsTrafficRule`. To be used in `Any` placeholders.
  3380  type ArrayOfDvsTrafficRule struct {
  3381  	DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty" json:"_value"`
  3382  }
  3383  
  3384  func init() {
  3385  	t["ArrayOfDvsTrafficRule"] = reflect.TypeOf((*ArrayOfDvsTrafficRule)(nil)).Elem()
  3386  }
  3387  
  3388  // A boxed array of `DvsVmVnicNetworkResourcePoolRuntimeInfo`. To be used in `Any` placeholders.
  3389  type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct {
  3390  	DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty" json:"_value"`
  3391  }
  3392  
  3393  func init() {
  3394  	t["ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
  3395  }
  3396  
  3397  // A boxed array of `DvsVmVnicResourcePoolConfigSpec`. To be used in `Any` placeholders.
  3398  type ArrayOfDvsVmVnicResourcePoolConfigSpec struct {
  3399  	DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty" json:"_value"`
  3400  }
  3401  
  3402  func init() {
  3403  	t["ArrayOfDvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
  3404  }
  3405  
  3406  // A boxed array of `DvsVnicAllocatedResource`. To be used in `Any` placeholders.
  3407  type ArrayOfDvsVnicAllocatedResource struct {
  3408  	DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty" json:"_value"`
  3409  }
  3410  
  3411  func init() {
  3412  	t["ArrayOfDvsVnicAllocatedResource"] = reflect.TypeOf((*ArrayOfDvsVnicAllocatedResource)(nil)).Elem()
  3413  }
  3414  
  3415  // A boxed array of `DynamicProperty`. To be used in `Any` placeholders.
  3416  type ArrayOfDynamicProperty struct {
  3417  	DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty" json:"_value"`
  3418  }
  3419  
  3420  func init() {
  3421  	t["ArrayOfDynamicProperty"] = reflect.TypeOf((*ArrayOfDynamicProperty)(nil)).Elem()
  3422  }
  3423  
  3424  // A boxed array of `EVCMode`. To be used in `Any` placeholders.
  3425  type ArrayOfEVCMode struct {
  3426  	EVCMode []EVCMode `xml:"EVCMode,omitempty" json:"_value"`
  3427  }
  3428  
  3429  func init() {
  3430  	t["ArrayOfEVCMode"] = reflect.TypeOf((*ArrayOfEVCMode)(nil)).Elem()
  3431  }
  3432  
  3433  // A boxed array of `ElementDescription`. To be used in `Any` placeholders.
  3434  type ArrayOfElementDescription struct {
  3435  	ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr" json:"_value"`
  3436  }
  3437  
  3438  func init() {
  3439  	t["ArrayOfElementDescription"] = reflect.TypeOf((*ArrayOfElementDescription)(nil)).Elem()
  3440  }
  3441  
  3442  // A boxed array of `EntityBackupConfig`. To be used in `Any` placeholders.
  3443  type ArrayOfEntityBackupConfig struct {
  3444  	EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty" json:"_value"`
  3445  }
  3446  
  3447  func init() {
  3448  	t["ArrayOfEntityBackupConfig"] = reflect.TypeOf((*ArrayOfEntityBackupConfig)(nil)).Elem()
  3449  }
  3450  
  3451  // A boxed array of `EntityPrivilege`. To be used in `Any` placeholders.
  3452  type ArrayOfEntityPrivilege struct {
  3453  	EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty" json:"_value"`
  3454  }
  3455  
  3456  func init() {
  3457  	t["ArrayOfEntityPrivilege"] = reflect.TypeOf((*ArrayOfEntityPrivilege)(nil)).Elem()
  3458  }
  3459  
  3460  // A boxed array of `EnumDescription`. To be used in `Any` placeholders.
  3461  type ArrayOfEnumDescription struct {
  3462  	EnumDescription []EnumDescription `xml:"EnumDescription,omitempty" json:"_value"`
  3463  }
  3464  
  3465  func init() {
  3466  	t["ArrayOfEnumDescription"] = reflect.TypeOf((*ArrayOfEnumDescription)(nil)).Elem()
  3467  }
  3468  
  3469  // A boxed array of `Event`. To be used in `Any` placeholders.
  3470  type ArrayOfEvent struct {
  3471  	Event []BaseEvent `xml:"Event,omitempty,typeattr" json:"_value"`
  3472  }
  3473  
  3474  func init() {
  3475  	t["ArrayOfEvent"] = reflect.TypeOf((*ArrayOfEvent)(nil)).Elem()
  3476  }
  3477  
  3478  // A boxed array of `EventAlarmExpressionComparison`. To be used in `Any` placeholders.
  3479  type ArrayOfEventAlarmExpressionComparison struct {
  3480  	EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty" json:"_value"`
  3481  }
  3482  
  3483  func init() {
  3484  	t["ArrayOfEventAlarmExpressionComparison"] = reflect.TypeOf((*ArrayOfEventAlarmExpressionComparison)(nil)).Elem()
  3485  }
  3486  
  3487  // A boxed array of `EventArgDesc`. To be used in `Any` placeholders.
  3488  type ArrayOfEventArgDesc struct {
  3489  	EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty" json:"_value"`
  3490  }
  3491  
  3492  func init() {
  3493  	t["ArrayOfEventArgDesc"] = reflect.TypeOf((*ArrayOfEventArgDesc)(nil)).Elem()
  3494  }
  3495  
  3496  // A boxed array of `EventDescriptionEventDetail`. To be used in `Any` placeholders.
  3497  type ArrayOfEventDescriptionEventDetail struct {
  3498  	EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty" json:"_value"`
  3499  }
  3500  
  3501  func init() {
  3502  	t["ArrayOfEventDescriptionEventDetail"] = reflect.TypeOf((*ArrayOfEventDescriptionEventDetail)(nil)).Elem()
  3503  }
  3504  
  3505  // A boxed array of `ExtManagedEntityInfo`. To be used in `Any` placeholders.
  3506  type ArrayOfExtManagedEntityInfo struct {
  3507  	ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty" json:"_value"`
  3508  }
  3509  
  3510  func init() {
  3511  	t["ArrayOfExtManagedEntityInfo"] = reflect.TypeOf((*ArrayOfExtManagedEntityInfo)(nil)).Elem()
  3512  }
  3513  
  3514  // A boxed array of `ExtSolutionManagerInfoTabInfo`. To be used in `Any` placeholders.
  3515  type ArrayOfExtSolutionManagerInfoTabInfo struct {
  3516  	ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty" json:"_value"`
  3517  }
  3518  
  3519  func init() {
  3520  	t["ArrayOfExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ArrayOfExtSolutionManagerInfoTabInfo)(nil)).Elem()
  3521  }
  3522  
  3523  // A boxed array of `ExtendedEventPair`. To be used in `Any` placeholders.
  3524  type ArrayOfExtendedEventPair struct {
  3525  	ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty" json:"_value"`
  3526  }
  3527  
  3528  func init() {
  3529  	t["ArrayOfExtendedEventPair"] = reflect.TypeOf((*ArrayOfExtendedEventPair)(nil)).Elem()
  3530  }
  3531  
  3532  // A boxed array of `Extension`. To be used in `Any` placeholders.
  3533  type ArrayOfExtension struct {
  3534  	Extension []Extension `xml:"Extension,omitempty" json:"_value"`
  3535  }
  3536  
  3537  func init() {
  3538  	t["ArrayOfExtension"] = reflect.TypeOf((*ArrayOfExtension)(nil)).Elem()
  3539  }
  3540  
  3541  // A boxed array of `ExtensionClientInfo`. To be used in `Any` placeholders.
  3542  type ArrayOfExtensionClientInfo struct {
  3543  	ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty" json:"_value"`
  3544  }
  3545  
  3546  func init() {
  3547  	t["ArrayOfExtensionClientInfo"] = reflect.TypeOf((*ArrayOfExtensionClientInfo)(nil)).Elem()
  3548  }
  3549  
  3550  // A boxed array of `ExtensionEventTypeInfo`. To be used in `Any` placeholders.
  3551  type ArrayOfExtensionEventTypeInfo struct {
  3552  	ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty" json:"_value"`
  3553  }
  3554  
  3555  func init() {
  3556  	t["ArrayOfExtensionEventTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionEventTypeInfo)(nil)).Elem()
  3557  }
  3558  
  3559  // A boxed array of `ExtensionFaultTypeInfo`. To be used in `Any` placeholders.
  3560  type ArrayOfExtensionFaultTypeInfo struct {
  3561  	ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty" json:"_value"`
  3562  }
  3563  
  3564  func init() {
  3565  	t["ArrayOfExtensionFaultTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionFaultTypeInfo)(nil)).Elem()
  3566  }
  3567  
  3568  // A boxed array of `ExtensionManagerIpAllocationUsage`. To be used in `Any` placeholders.
  3569  type ArrayOfExtensionManagerIpAllocationUsage struct {
  3570  	ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty" json:"_value"`
  3571  }
  3572  
  3573  func init() {
  3574  	t["ArrayOfExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ArrayOfExtensionManagerIpAllocationUsage)(nil)).Elem()
  3575  }
  3576  
  3577  // A boxed array of `ExtensionPrivilegeInfo`. To be used in `Any` placeholders.
  3578  type ArrayOfExtensionPrivilegeInfo struct {
  3579  	ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty" json:"_value"`
  3580  }
  3581  
  3582  func init() {
  3583  	t["ArrayOfExtensionPrivilegeInfo"] = reflect.TypeOf((*ArrayOfExtensionPrivilegeInfo)(nil)).Elem()
  3584  }
  3585  
  3586  // A boxed array of `ExtensionResourceInfo`. To be used in `Any` placeholders.
  3587  type ArrayOfExtensionResourceInfo struct {
  3588  	ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty" json:"_value"`
  3589  }
  3590  
  3591  func init() {
  3592  	t["ArrayOfExtensionResourceInfo"] = reflect.TypeOf((*ArrayOfExtensionResourceInfo)(nil)).Elem()
  3593  }
  3594  
  3595  // A boxed array of `ExtensionServerInfo`. To be used in `Any` placeholders.
  3596  type ArrayOfExtensionServerInfo struct {
  3597  	ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty" json:"_value"`
  3598  }
  3599  
  3600  func init() {
  3601  	t["ArrayOfExtensionServerInfo"] = reflect.TypeOf((*ArrayOfExtensionServerInfo)(nil)).Elem()
  3602  }
  3603  
  3604  // A boxed array of `ExtensionTaskTypeInfo`. To be used in `Any` placeholders.
  3605  type ArrayOfExtensionTaskTypeInfo struct {
  3606  	ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty" json:"_value"`
  3607  }
  3608  
  3609  func init() {
  3610  	t["ArrayOfExtensionTaskTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionTaskTypeInfo)(nil)).Elem()
  3611  }
  3612  
  3613  // A boxed array of `FaultToleranceDiskSpec`. To be used in `Any` placeholders.
  3614  type ArrayOfFaultToleranceDiskSpec struct {
  3615  	FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty" json:"_value"`
  3616  }
  3617  
  3618  func init() {
  3619  	t["ArrayOfFaultToleranceDiskSpec"] = reflect.TypeOf((*ArrayOfFaultToleranceDiskSpec)(nil)).Elem()
  3620  }
  3621  
  3622  // A boxed array of `FaultsByHost`. To be used in `Any` placeholders.
  3623  type ArrayOfFaultsByHost struct {
  3624  	FaultsByHost []FaultsByHost `xml:"FaultsByHost,omitempty" json:"_value"`
  3625  }
  3626  
  3627  func init() {
  3628  	t["ArrayOfFaultsByHost"] = reflect.TypeOf((*ArrayOfFaultsByHost)(nil)).Elem()
  3629  }
  3630  
  3631  // A boxed array of `FaultsByVM`. To be used in `Any` placeholders.
  3632  type ArrayOfFaultsByVM struct {
  3633  	FaultsByVM []FaultsByVM `xml:"FaultsByVM,omitempty" json:"_value"`
  3634  }
  3635  
  3636  func init() {
  3637  	t["ArrayOfFaultsByVM"] = reflect.TypeOf((*ArrayOfFaultsByVM)(nil)).Elem()
  3638  }
  3639  
  3640  // A boxed array of `FcoeConfigVlanRange`. To be used in `Any` placeholders.
  3641  type ArrayOfFcoeConfigVlanRange struct {
  3642  	FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty" json:"_value"`
  3643  }
  3644  
  3645  func init() {
  3646  	t["ArrayOfFcoeConfigVlanRange"] = reflect.TypeOf((*ArrayOfFcoeConfigVlanRange)(nil)).Elem()
  3647  }
  3648  
  3649  // A boxed array of `FeatureEVCMode`. To be used in `Any` placeholders.
  3650  type ArrayOfFeatureEVCMode struct {
  3651  	FeatureEVCMode []FeatureEVCMode `xml:"FeatureEVCMode,omitempty" json:"_value"`
  3652  }
  3653  
  3654  func init() {
  3655  	t["ArrayOfFeatureEVCMode"] = reflect.TypeOf((*ArrayOfFeatureEVCMode)(nil)).Elem()
  3656  	minAPIVersionForType["ArrayOfFeatureEVCMode"] = "7.0.1.0"
  3657  }
  3658  
  3659  // A boxed array of `FileInfo`. To be used in `Any` placeholders.
  3660  type ArrayOfFileInfo struct {
  3661  	FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr" json:"_value"`
  3662  }
  3663  
  3664  func init() {
  3665  	t["ArrayOfFileInfo"] = reflect.TypeOf((*ArrayOfFileInfo)(nil)).Elem()
  3666  }
  3667  
  3668  // A boxed array of `FileLockInfo`. To be used in `Any` placeholders.
  3669  type ArrayOfFileLockInfo struct {
  3670  	FileLockInfo []FileLockInfo `xml:"FileLockInfo,omitempty" json:"_value"`
  3671  }
  3672  
  3673  func init() {
  3674  	t["ArrayOfFileLockInfo"] = reflect.TypeOf((*ArrayOfFileLockInfo)(nil)).Elem()
  3675  	minAPIVersionForType["ArrayOfFileLockInfo"] = "8.0.2.0"
  3676  }
  3677  
  3678  // A boxed array of `FileQuery`. To be used in `Any` placeholders.
  3679  type ArrayOfFileQuery struct {
  3680  	FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr" json:"_value"`
  3681  }
  3682  
  3683  func init() {
  3684  	t["ArrayOfFileQuery"] = reflect.TypeOf((*ArrayOfFileQuery)(nil)).Elem()
  3685  }
  3686  
  3687  // A boxed array of `FirewallProfileRulesetProfile`. To be used in `Any` placeholders.
  3688  type ArrayOfFirewallProfileRulesetProfile struct {
  3689  	FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty" json:"_value"`
  3690  }
  3691  
  3692  func init() {
  3693  	t["ArrayOfFirewallProfileRulesetProfile"] = reflect.TypeOf((*ArrayOfFirewallProfileRulesetProfile)(nil)).Elem()
  3694  }
  3695  
  3696  // A boxed array of `FolderFailedHostResult`. To be used in `Any` placeholders.
  3697  type ArrayOfFolderFailedHostResult struct {
  3698  	FolderFailedHostResult []FolderFailedHostResult `xml:"FolderFailedHostResult,omitempty" json:"_value"`
  3699  }
  3700  
  3701  func init() {
  3702  	t["ArrayOfFolderFailedHostResult"] = reflect.TypeOf((*ArrayOfFolderFailedHostResult)(nil)).Elem()
  3703  }
  3704  
  3705  // A boxed array of `FolderNewHostSpec`. To be used in `Any` placeholders.
  3706  type ArrayOfFolderNewHostSpec struct {
  3707  	FolderNewHostSpec []FolderNewHostSpec `xml:"FolderNewHostSpec,omitempty" json:"_value"`
  3708  }
  3709  
  3710  func init() {
  3711  	t["ArrayOfFolderNewHostSpec"] = reflect.TypeOf((*ArrayOfFolderNewHostSpec)(nil)).Elem()
  3712  }
  3713  
  3714  // A boxed array of `GuestAliases`. To be used in `Any` placeholders.
  3715  type ArrayOfGuestAliases struct {
  3716  	GuestAliases []GuestAliases `xml:"GuestAliases,omitempty" json:"_value"`
  3717  }
  3718  
  3719  func init() {
  3720  	t["ArrayOfGuestAliases"] = reflect.TypeOf((*ArrayOfGuestAliases)(nil)).Elem()
  3721  }
  3722  
  3723  // A boxed array of `GuestAuthAliasInfo`. To be used in `Any` placeholders.
  3724  type ArrayOfGuestAuthAliasInfo struct {
  3725  	GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty" json:"_value"`
  3726  }
  3727  
  3728  func init() {
  3729  	t["ArrayOfGuestAuthAliasInfo"] = reflect.TypeOf((*ArrayOfGuestAuthAliasInfo)(nil)).Elem()
  3730  }
  3731  
  3732  // A boxed array of `GuestAuthSubject`. To be used in `Any` placeholders.
  3733  type ArrayOfGuestAuthSubject struct {
  3734  	GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr" json:"_value"`
  3735  }
  3736  
  3737  func init() {
  3738  	t["ArrayOfGuestAuthSubject"] = reflect.TypeOf((*ArrayOfGuestAuthSubject)(nil)).Elem()
  3739  }
  3740  
  3741  // A boxed array of `GuestDiskInfo`. To be used in `Any` placeholders.
  3742  type ArrayOfGuestDiskInfo struct {
  3743  	GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty" json:"_value"`
  3744  }
  3745  
  3746  func init() {
  3747  	t["ArrayOfGuestDiskInfo"] = reflect.TypeOf((*ArrayOfGuestDiskInfo)(nil)).Elem()
  3748  }
  3749  
  3750  // A boxed array of `GuestFileInfo`. To be used in `Any` placeholders.
  3751  type ArrayOfGuestFileInfo struct {
  3752  	GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty" json:"_value"`
  3753  }
  3754  
  3755  func init() {
  3756  	t["ArrayOfGuestFileInfo"] = reflect.TypeOf((*ArrayOfGuestFileInfo)(nil)).Elem()
  3757  }
  3758  
  3759  // A boxed array of `GuestInfoNamespaceGenerationInfo`. To be used in `Any` placeholders.
  3760  type ArrayOfGuestInfoNamespaceGenerationInfo struct {
  3761  	GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty" json:"_value"`
  3762  }
  3763  
  3764  func init() {
  3765  	t["ArrayOfGuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*ArrayOfGuestInfoNamespaceGenerationInfo)(nil)).Elem()
  3766  }
  3767  
  3768  // A boxed array of `GuestInfoVirtualDiskMapping`. To be used in `Any` placeholders.
  3769  type ArrayOfGuestInfoVirtualDiskMapping struct {
  3770  	GuestInfoVirtualDiskMapping []GuestInfoVirtualDiskMapping `xml:"GuestInfoVirtualDiskMapping,omitempty" json:"_value"`
  3771  }
  3772  
  3773  func init() {
  3774  	t["ArrayOfGuestInfoVirtualDiskMapping"] = reflect.TypeOf((*ArrayOfGuestInfoVirtualDiskMapping)(nil)).Elem()
  3775  }
  3776  
  3777  // A boxed array of `GuestMappedAliases`. To be used in `Any` placeholders.
  3778  type ArrayOfGuestMappedAliases struct {
  3779  	GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty" json:"_value"`
  3780  }
  3781  
  3782  func init() {
  3783  	t["ArrayOfGuestMappedAliases"] = reflect.TypeOf((*ArrayOfGuestMappedAliases)(nil)).Elem()
  3784  }
  3785  
  3786  // A boxed array of `GuestNicInfo`. To be used in `Any` placeholders.
  3787  type ArrayOfGuestNicInfo struct {
  3788  	GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty" json:"_value"`
  3789  }
  3790  
  3791  func init() {
  3792  	t["ArrayOfGuestNicInfo"] = reflect.TypeOf((*ArrayOfGuestNicInfo)(nil)).Elem()
  3793  }
  3794  
  3795  // A boxed array of `GuestOsDescriptor`. To be used in `Any` placeholders.
  3796  type ArrayOfGuestOsDescriptor struct {
  3797  	GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty" json:"_value"`
  3798  }
  3799  
  3800  func init() {
  3801  	t["ArrayOfGuestOsDescriptor"] = reflect.TypeOf((*ArrayOfGuestOsDescriptor)(nil)).Elem()
  3802  }
  3803  
  3804  // A boxed array of `GuestProcessInfo`. To be used in `Any` placeholders.
  3805  type ArrayOfGuestProcessInfo struct {
  3806  	GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty" json:"_value"`
  3807  }
  3808  
  3809  func init() {
  3810  	t["ArrayOfGuestProcessInfo"] = reflect.TypeOf((*ArrayOfGuestProcessInfo)(nil)).Elem()
  3811  }
  3812  
  3813  // A boxed array of `GuestRegKeyRecordSpec`. To be used in `Any` placeholders.
  3814  type ArrayOfGuestRegKeyRecordSpec struct {
  3815  	GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty" json:"_value"`
  3816  }
  3817  
  3818  func init() {
  3819  	t["ArrayOfGuestRegKeyRecordSpec"] = reflect.TypeOf((*ArrayOfGuestRegKeyRecordSpec)(nil)).Elem()
  3820  }
  3821  
  3822  // A boxed array of `GuestRegValueSpec`. To be used in `Any` placeholders.
  3823  type ArrayOfGuestRegValueSpec struct {
  3824  	GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty" json:"_value"`
  3825  }
  3826  
  3827  func init() {
  3828  	t["ArrayOfGuestRegValueSpec"] = reflect.TypeOf((*ArrayOfGuestRegValueSpec)(nil)).Elem()
  3829  }
  3830  
  3831  // A boxed array of `GuestStackInfo`. To be used in `Any` placeholders.
  3832  type ArrayOfGuestStackInfo struct {
  3833  	GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty" json:"_value"`
  3834  }
  3835  
  3836  func init() {
  3837  	t["ArrayOfGuestStackInfo"] = reflect.TypeOf((*ArrayOfGuestStackInfo)(nil)).Elem()
  3838  }
  3839  
  3840  // A boxed array of `HbrManagerVmReplicationCapability`. To be used in `Any` placeholders.
  3841  type ArrayOfHbrManagerVmReplicationCapability struct {
  3842  	HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty" json:"_value"`
  3843  }
  3844  
  3845  func init() {
  3846  	t["ArrayOfHbrManagerVmReplicationCapability"] = reflect.TypeOf((*ArrayOfHbrManagerVmReplicationCapability)(nil)).Elem()
  3847  }
  3848  
  3849  // A boxed array of `HealthUpdate`. To be used in `Any` placeholders.
  3850  type ArrayOfHealthUpdate struct {
  3851  	HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty" json:"_value"`
  3852  }
  3853  
  3854  func init() {
  3855  	t["ArrayOfHealthUpdate"] = reflect.TypeOf((*ArrayOfHealthUpdate)(nil)).Elem()
  3856  }
  3857  
  3858  // A boxed array of `HealthUpdateInfo`. To be used in `Any` placeholders.
  3859  type ArrayOfHealthUpdateInfo struct {
  3860  	HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty" json:"_value"`
  3861  }
  3862  
  3863  func init() {
  3864  	t["ArrayOfHealthUpdateInfo"] = reflect.TypeOf((*ArrayOfHealthUpdateInfo)(nil)).Elem()
  3865  }
  3866  
  3867  // A boxed array of `HostAccessControlEntry`. To be used in `Any` placeholders.
  3868  type ArrayOfHostAccessControlEntry struct {
  3869  	HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty" json:"_value"`
  3870  }
  3871  
  3872  func init() {
  3873  	t["ArrayOfHostAccessControlEntry"] = reflect.TypeOf((*ArrayOfHostAccessControlEntry)(nil)).Elem()
  3874  }
  3875  
  3876  // A boxed array of `HostAccountSpec`. To be used in `Any` placeholders.
  3877  type ArrayOfHostAccountSpec struct {
  3878  	HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr" json:"_value"`
  3879  }
  3880  
  3881  func init() {
  3882  	t["ArrayOfHostAccountSpec"] = reflect.TypeOf((*ArrayOfHostAccountSpec)(nil)).Elem()
  3883  }
  3884  
  3885  // A boxed array of `HostActiveDirectory`. To be used in `Any` placeholders.
  3886  type ArrayOfHostActiveDirectory struct {
  3887  	HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty" json:"_value"`
  3888  }
  3889  
  3890  func init() {
  3891  	t["ArrayOfHostActiveDirectory"] = reflect.TypeOf((*ArrayOfHostActiveDirectory)(nil)).Elem()
  3892  }
  3893  
  3894  // A boxed array of `HostAssignableHardwareBinding`. To be used in `Any` placeholders.
  3895  type ArrayOfHostAssignableHardwareBinding struct {
  3896  	HostAssignableHardwareBinding []HostAssignableHardwareBinding `xml:"HostAssignableHardwareBinding,omitempty" json:"_value"`
  3897  }
  3898  
  3899  func init() {
  3900  	t["ArrayOfHostAssignableHardwareBinding"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareBinding)(nil)).Elem()
  3901  }
  3902  
  3903  // A boxed array of `HostAssignableHardwareConfigAttributeOverride`. To be used in `Any` placeholders.
  3904  type ArrayOfHostAssignableHardwareConfigAttributeOverride struct {
  3905  	HostAssignableHardwareConfigAttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"HostAssignableHardwareConfigAttributeOverride,omitempty" json:"_value"`
  3906  }
  3907  
  3908  func init() {
  3909  	t["ArrayOfHostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
  3910  }
  3911  
  3912  // A boxed array of `HostAuthenticationStoreInfo`. To be used in `Any` placeholders.
  3913  type ArrayOfHostAuthenticationStoreInfo struct {
  3914  	HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr" json:"_value"`
  3915  }
  3916  
  3917  func init() {
  3918  	t["ArrayOfHostAuthenticationStoreInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationStoreInfo)(nil)).Elem()
  3919  }
  3920  
  3921  // A boxed array of `HostBootDevice`. To be used in `Any` placeholders.
  3922  type ArrayOfHostBootDevice struct {
  3923  	HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty" json:"_value"`
  3924  }
  3925  
  3926  func init() {
  3927  	t["ArrayOfHostBootDevice"] = reflect.TypeOf((*ArrayOfHostBootDevice)(nil)).Elem()
  3928  }
  3929  
  3930  // A boxed array of `HostCacheConfigurationInfo`. To be used in `Any` placeholders.
  3931  type ArrayOfHostCacheConfigurationInfo struct {
  3932  	HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty" json:"_value"`
  3933  }
  3934  
  3935  func init() {
  3936  	t["ArrayOfHostCacheConfigurationInfo"] = reflect.TypeOf((*ArrayOfHostCacheConfigurationInfo)(nil)).Elem()
  3937  }
  3938  
  3939  // A boxed array of `HostCertificateManagerCertificateInfo`. To be used in `Any` placeholders.
  3940  type ArrayOfHostCertificateManagerCertificateInfo struct {
  3941  	HostCertificateManagerCertificateInfo []HostCertificateManagerCertificateInfo `xml:"HostCertificateManagerCertificateInfo,omitempty" json:"_value"`
  3942  }
  3943  
  3944  func init() {
  3945  	t["ArrayOfHostCertificateManagerCertificateInfo"] = reflect.TypeOf((*ArrayOfHostCertificateManagerCertificateInfo)(nil)).Elem()
  3946  }
  3947  
  3948  // A boxed array of `HostConnectInfoNetworkInfo`. To be used in `Any` placeholders.
  3949  type ArrayOfHostConnectInfoNetworkInfo struct {
  3950  	HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr" json:"_value"`
  3951  }
  3952  
  3953  func init() {
  3954  	t["ArrayOfHostConnectInfoNetworkInfo"] = reflect.TypeOf((*ArrayOfHostConnectInfoNetworkInfo)(nil)).Elem()
  3955  }
  3956  
  3957  // A boxed array of `HostConnectSpec`. To be used in `Any` placeholders.
  3958  type ArrayOfHostConnectSpec struct {
  3959  	HostConnectSpec []HostConnectSpec `xml:"HostConnectSpec,omitempty" json:"_value"`
  3960  }
  3961  
  3962  func init() {
  3963  	t["ArrayOfHostConnectSpec"] = reflect.TypeOf((*ArrayOfHostConnectSpec)(nil)).Elem()
  3964  }
  3965  
  3966  // A boxed array of `HostCpuIdInfo`. To be used in `Any` placeholders.
  3967  type ArrayOfHostCpuIdInfo struct {
  3968  	HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty" json:"_value"`
  3969  }
  3970  
  3971  func init() {
  3972  	t["ArrayOfHostCpuIdInfo"] = reflect.TypeOf((*ArrayOfHostCpuIdInfo)(nil)).Elem()
  3973  }
  3974  
  3975  // A boxed array of `HostCpuPackage`. To be used in `Any` placeholders.
  3976  type ArrayOfHostCpuPackage struct {
  3977  	HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty" json:"_value"`
  3978  }
  3979  
  3980  func init() {
  3981  	t["ArrayOfHostCpuPackage"] = reflect.TypeOf((*ArrayOfHostCpuPackage)(nil)).Elem()
  3982  }
  3983  
  3984  // A boxed array of `HostDatastoreBrowserSearchResults`. To be used in `Any` placeholders.
  3985  type ArrayOfHostDatastoreBrowserSearchResults struct {
  3986  	HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty" json:"_value"`
  3987  }
  3988  
  3989  func init() {
  3990  	t["ArrayOfHostDatastoreBrowserSearchResults"] = reflect.TypeOf((*ArrayOfHostDatastoreBrowserSearchResults)(nil)).Elem()
  3991  }
  3992  
  3993  // A boxed array of `HostDatastoreConnectInfo`. To be used in `Any` placeholders.
  3994  type ArrayOfHostDatastoreConnectInfo struct {
  3995  	HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr" json:"_value"`
  3996  }
  3997  
  3998  func init() {
  3999  	t["ArrayOfHostDatastoreConnectInfo"] = reflect.TypeOf((*ArrayOfHostDatastoreConnectInfo)(nil)).Elem()
  4000  }
  4001  
  4002  // A boxed array of `HostDatastoreSystemDatastoreResult`. To be used in `Any` placeholders.
  4003  type ArrayOfHostDatastoreSystemDatastoreResult struct {
  4004  	HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty" json:"_value"`
  4005  }
  4006  
  4007  func init() {
  4008  	t["ArrayOfHostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*ArrayOfHostDatastoreSystemDatastoreResult)(nil)).Elem()
  4009  }
  4010  
  4011  // A boxed array of `HostDateTimeSystemTimeZone`. To be used in `Any` placeholders.
  4012  type ArrayOfHostDateTimeSystemTimeZone struct {
  4013  	HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty" json:"_value"`
  4014  }
  4015  
  4016  func init() {
  4017  	t["ArrayOfHostDateTimeSystemTimeZone"] = reflect.TypeOf((*ArrayOfHostDateTimeSystemTimeZone)(nil)).Elem()
  4018  }
  4019  
  4020  // A boxed array of `HostDhcpService`. To be used in `Any` placeholders.
  4021  type ArrayOfHostDhcpService struct {
  4022  	HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty" json:"_value"`
  4023  }
  4024  
  4025  func init() {
  4026  	t["ArrayOfHostDhcpService"] = reflect.TypeOf((*ArrayOfHostDhcpService)(nil)).Elem()
  4027  }
  4028  
  4029  // A boxed array of `HostDhcpServiceConfig`. To be used in `Any` placeholders.
  4030  type ArrayOfHostDhcpServiceConfig struct {
  4031  	HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty" json:"_value"`
  4032  }
  4033  
  4034  func init() {
  4035  	t["ArrayOfHostDhcpServiceConfig"] = reflect.TypeOf((*ArrayOfHostDhcpServiceConfig)(nil)).Elem()
  4036  }
  4037  
  4038  // A boxed array of `HostDiagnosticPartition`. To be used in `Any` placeholders.
  4039  type ArrayOfHostDiagnosticPartition struct {
  4040  	HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty" json:"_value"`
  4041  }
  4042  
  4043  func init() {
  4044  	t["ArrayOfHostDiagnosticPartition"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartition)(nil)).Elem()
  4045  }
  4046  
  4047  // A boxed array of `HostDiagnosticPartitionCreateOption`. To be used in `Any` placeholders.
  4048  type ArrayOfHostDiagnosticPartitionCreateOption struct {
  4049  	HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty" json:"_value"`
  4050  }
  4051  
  4052  func init() {
  4053  	t["ArrayOfHostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartitionCreateOption)(nil)).Elem()
  4054  }
  4055  
  4056  // A boxed array of `HostDiskConfigurationResult`. To be used in `Any` placeholders.
  4057  type ArrayOfHostDiskConfigurationResult struct {
  4058  	HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty" json:"_value"`
  4059  }
  4060  
  4061  func init() {
  4062  	t["ArrayOfHostDiskConfigurationResult"] = reflect.TypeOf((*ArrayOfHostDiskConfigurationResult)(nil)).Elem()
  4063  }
  4064  
  4065  // A boxed array of `HostDiskMappingPartitionOption`. To be used in `Any` placeholders.
  4066  type ArrayOfHostDiskMappingPartitionOption struct {
  4067  	HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty" json:"_value"`
  4068  }
  4069  
  4070  func init() {
  4071  	t["ArrayOfHostDiskMappingPartitionOption"] = reflect.TypeOf((*ArrayOfHostDiskMappingPartitionOption)(nil)).Elem()
  4072  }
  4073  
  4074  // A boxed array of `HostDiskPartitionAttributes`. To be used in `Any` placeholders.
  4075  type ArrayOfHostDiskPartitionAttributes struct {
  4076  	HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty" json:"_value"`
  4077  }
  4078  
  4079  func init() {
  4080  	t["ArrayOfHostDiskPartitionAttributes"] = reflect.TypeOf((*ArrayOfHostDiskPartitionAttributes)(nil)).Elem()
  4081  }
  4082  
  4083  // A boxed array of `HostDiskPartitionBlockRange`. To be used in `Any` placeholders.
  4084  type ArrayOfHostDiskPartitionBlockRange struct {
  4085  	HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty" json:"_value"`
  4086  }
  4087  
  4088  func init() {
  4089  	t["ArrayOfHostDiskPartitionBlockRange"] = reflect.TypeOf((*ArrayOfHostDiskPartitionBlockRange)(nil)).Elem()
  4090  }
  4091  
  4092  // A boxed array of `HostDiskPartitionInfo`. To be used in `Any` placeholders.
  4093  type ArrayOfHostDiskPartitionInfo struct {
  4094  	HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty" json:"_value"`
  4095  }
  4096  
  4097  func init() {
  4098  	t["ArrayOfHostDiskPartitionInfo"] = reflect.TypeOf((*ArrayOfHostDiskPartitionInfo)(nil)).Elem()
  4099  }
  4100  
  4101  // A boxed array of `HostDvxClass`. To be used in `Any` placeholders.
  4102  type ArrayOfHostDvxClass struct {
  4103  	HostDvxClass []HostDvxClass `xml:"HostDvxClass,omitempty" json:"_value"`
  4104  }
  4105  
  4106  func init() {
  4107  	t["ArrayOfHostDvxClass"] = reflect.TypeOf((*ArrayOfHostDvxClass)(nil)).Elem()
  4108  	minAPIVersionForType["ArrayOfHostDvxClass"] = "8.0.0.1"
  4109  }
  4110  
  4111  // A boxed array of `HostEventArgument`. To be used in `Any` placeholders.
  4112  type ArrayOfHostEventArgument struct {
  4113  	HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty" json:"_value"`
  4114  }
  4115  
  4116  func init() {
  4117  	t["ArrayOfHostEventArgument"] = reflect.TypeOf((*ArrayOfHostEventArgument)(nil)).Elem()
  4118  }
  4119  
  4120  // A boxed array of `HostFeatureCapability`. To be used in `Any` placeholders.
  4121  type ArrayOfHostFeatureCapability struct {
  4122  	HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty" json:"_value"`
  4123  }
  4124  
  4125  func init() {
  4126  	t["ArrayOfHostFeatureCapability"] = reflect.TypeOf((*ArrayOfHostFeatureCapability)(nil)).Elem()
  4127  }
  4128  
  4129  // A boxed array of `HostFeatureMask`. To be used in `Any` placeholders.
  4130  type ArrayOfHostFeatureMask struct {
  4131  	HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty" json:"_value"`
  4132  }
  4133  
  4134  func init() {
  4135  	t["ArrayOfHostFeatureMask"] = reflect.TypeOf((*ArrayOfHostFeatureMask)(nil)).Elem()
  4136  }
  4137  
  4138  // A boxed array of `HostFeatureVersionInfo`. To be used in `Any` placeholders.
  4139  type ArrayOfHostFeatureVersionInfo struct {
  4140  	HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty" json:"_value"`
  4141  }
  4142  
  4143  func init() {
  4144  	t["ArrayOfHostFeatureVersionInfo"] = reflect.TypeOf((*ArrayOfHostFeatureVersionInfo)(nil)).Elem()
  4145  }
  4146  
  4147  // A boxed array of `HostFileSystemMountInfo`. To be used in `Any` placeholders.
  4148  type ArrayOfHostFileSystemMountInfo struct {
  4149  	HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty" json:"_value"`
  4150  }
  4151  
  4152  func init() {
  4153  	t["ArrayOfHostFileSystemMountInfo"] = reflect.TypeOf((*ArrayOfHostFileSystemMountInfo)(nil)).Elem()
  4154  }
  4155  
  4156  // A boxed array of `HostFirewallConfigRuleSetConfig`. To be used in `Any` placeholders.
  4157  type ArrayOfHostFirewallConfigRuleSetConfig struct {
  4158  	HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty" json:"_value"`
  4159  }
  4160  
  4161  func init() {
  4162  	t["ArrayOfHostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*ArrayOfHostFirewallConfigRuleSetConfig)(nil)).Elem()
  4163  }
  4164  
  4165  // A boxed array of `HostFirewallRule`. To be used in `Any` placeholders.
  4166  type ArrayOfHostFirewallRule struct {
  4167  	HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty" json:"_value"`
  4168  }
  4169  
  4170  func init() {
  4171  	t["ArrayOfHostFirewallRule"] = reflect.TypeOf((*ArrayOfHostFirewallRule)(nil)).Elem()
  4172  }
  4173  
  4174  // A boxed array of `HostFirewallRuleset`. To be used in `Any` placeholders.
  4175  type ArrayOfHostFirewallRuleset struct {
  4176  	HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty" json:"_value"`
  4177  }
  4178  
  4179  func init() {
  4180  	t["ArrayOfHostFirewallRuleset"] = reflect.TypeOf((*ArrayOfHostFirewallRuleset)(nil)).Elem()
  4181  }
  4182  
  4183  // A boxed array of `HostFirewallRulesetIpNetwork`. To be used in `Any` placeholders.
  4184  type ArrayOfHostFirewallRulesetIpNetwork struct {
  4185  	HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty" json:"_value"`
  4186  }
  4187  
  4188  func init() {
  4189  	t["ArrayOfHostFirewallRulesetIpNetwork"] = reflect.TypeOf((*ArrayOfHostFirewallRulesetIpNetwork)(nil)).Elem()
  4190  }
  4191  
  4192  // A boxed array of `HostGraphicsConfigDeviceType`. To be used in `Any` placeholders.
  4193  type ArrayOfHostGraphicsConfigDeviceType struct {
  4194  	HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty" json:"_value"`
  4195  }
  4196  
  4197  func init() {
  4198  	t["ArrayOfHostGraphicsConfigDeviceType"] = reflect.TypeOf((*ArrayOfHostGraphicsConfigDeviceType)(nil)).Elem()
  4199  }
  4200  
  4201  // A boxed array of `HostGraphicsInfo`. To be used in `Any` placeholders.
  4202  type ArrayOfHostGraphicsInfo struct {
  4203  	HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty" json:"_value"`
  4204  }
  4205  
  4206  func init() {
  4207  	t["ArrayOfHostGraphicsInfo"] = reflect.TypeOf((*ArrayOfHostGraphicsInfo)(nil)).Elem()
  4208  }
  4209  
  4210  // A boxed array of `HostHardwareElementInfo`. To be used in `Any` placeholders.
  4211  type ArrayOfHostHardwareElementInfo struct {
  4212  	HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr" json:"_value"`
  4213  }
  4214  
  4215  func init() {
  4216  	t["ArrayOfHostHardwareElementInfo"] = reflect.TypeOf((*ArrayOfHostHardwareElementInfo)(nil)).Elem()
  4217  }
  4218  
  4219  // A boxed array of `HostHostBusAdapter`. To be used in `Any` placeholders.
  4220  type ArrayOfHostHostBusAdapter struct {
  4221  	HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr" json:"_value"`
  4222  }
  4223  
  4224  func init() {
  4225  	t["ArrayOfHostHostBusAdapter"] = reflect.TypeOf((*ArrayOfHostHostBusAdapter)(nil)).Elem()
  4226  }
  4227  
  4228  // A boxed array of `HostInternetScsiHbaIscsiIpv6Address`. To be used in `Any` placeholders.
  4229  type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct {
  4230  	HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty" json:"_value"`
  4231  }
  4232  
  4233  func init() {
  4234  	t["ArrayOfHostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
  4235  }
  4236  
  4237  // A boxed array of `HostInternetScsiHbaParamValue`. To be used in `Any` placeholders.
  4238  type ArrayOfHostInternetScsiHbaParamValue struct {
  4239  	HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty" json:"_value"`
  4240  }
  4241  
  4242  func init() {
  4243  	t["ArrayOfHostInternetScsiHbaParamValue"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaParamValue)(nil)).Elem()
  4244  }
  4245  
  4246  // A boxed array of `HostInternetScsiHbaSendTarget`. To be used in `Any` placeholders.
  4247  type ArrayOfHostInternetScsiHbaSendTarget struct {
  4248  	HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty" json:"_value"`
  4249  }
  4250  
  4251  func init() {
  4252  	t["ArrayOfHostInternetScsiHbaSendTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaSendTarget)(nil)).Elem()
  4253  }
  4254  
  4255  // A boxed array of `HostInternetScsiHbaStaticTarget`. To be used in `Any` placeholders.
  4256  type ArrayOfHostInternetScsiHbaStaticTarget struct {
  4257  	HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty" json:"_value"`
  4258  }
  4259  
  4260  func init() {
  4261  	t["ArrayOfHostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaStaticTarget)(nil)).Elem()
  4262  }
  4263  
  4264  // A boxed array of `HostIoFilterInfo`. To be used in `Any` placeholders.
  4265  type ArrayOfHostIoFilterInfo struct {
  4266  	HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty" json:"_value"`
  4267  }
  4268  
  4269  func init() {
  4270  	t["ArrayOfHostIoFilterInfo"] = reflect.TypeOf((*ArrayOfHostIoFilterInfo)(nil)).Elem()
  4271  }
  4272  
  4273  // A boxed array of `HostIpConfigIpV6Address`. To be used in `Any` placeholders.
  4274  type ArrayOfHostIpConfigIpV6Address struct {
  4275  	HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty" json:"_value"`
  4276  }
  4277  
  4278  func init() {
  4279  	t["ArrayOfHostIpConfigIpV6Address"] = reflect.TypeOf((*ArrayOfHostIpConfigIpV6Address)(nil)).Elem()
  4280  }
  4281  
  4282  // A boxed array of `HostIpRouteEntry`. To be used in `Any` placeholders.
  4283  type ArrayOfHostIpRouteEntry struct {
  4284  	HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty" json:"_value"`
  4285  }
  4286  
  4287  func init() {
  4288  	t["ArrayOfHostIpRouteEntry"] = reflect.TypeOf((*ArrayOfHostIpRouteEntry)(nil)).Elem()
  4289  }
  4290  
  4291  // A boxed array of `HostIpRouteOp`. To be used in `Any` placeholders.
  4292  type ArrayOfHostIpRouteOp struct {
  4293  	HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty" json:"_value"`
  4294  }
  4295  
  4296  func init() {
  4297  	t["ArrayOfHostIpRouteOp"] = reflect.TypeOf((*ArrayOfHostIpRouteOp)(nil)).Elem()
  4298  }
  4299  
  4300  // A boxed array of `HostLowLevelProvisioningManagerDiskLayoutSpec`. To be used in `Any` placeholders.
  4301  type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct {
  4302  	HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty" json:"_value"`
  4303  }
  4304  
  4305  func init() {
  4306  	t["ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
  4307  }
  4308  
  4309  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteResult`. To be used in `Any` placeholders.
  4310  type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct {
  4311  	HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty" json:"_value"`
  4312  }
  4313  
  4314  func init() {
  4315  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
  4316  }
  4317  
  4318  // A boxed array of `HostLowLevelProvisioningManagerFileDeleteSpec`. To be used in `Any` placeholders.
  4319  type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct {
  4320  	HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty" json:"_value"`
  4321  }
  4322  
  4323  func init() {
  4324  	t["ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
  4325  }
  4326  
  4327  // A boxed array of `HostLowLevelProvisioningManagerFileReserveResult`. To be used in `Any` placeholders.
  4328  type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct {
  4329  	HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty" json:"_value"`
  4330  }
  4331  
  4332  func init() {
  4333  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
  4334  }
  4335  
  4336  // A boxed array of `HostLowLevelProvisioningManagerFileReserveSpec`. To be used in `Any` placeholders.
  4337  type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct {
  4338  	HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty" json:"_value"`
  4339  }
  4340  
  4341  func init() {
  4342  	t["ArrayOfHostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
  4343  }
  4344  
  4345  // A boxed array of `HostLowLevelProvisioningManagerSnapshotLayoutSpec`. To be used in `Any` placeholders.
  4346  type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
  4347  	HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty" json:"_value"`
  4348  }
  4349  
  4350  func init() {
  4351  	t["ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
  4352  }
  4353  
  4354  // A boxed array of `HostMemberHealthCheckResult`. To be used in `Any` placeholders.
  4355  type ArrayOfHostMemberHealthCheckResult struct {
  4356  	HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr" json:"_value"`
  4357  }
  4358  
  4359  func init() {
  4360  	t["ArrayOfHostMemberHealthCheckResult"] = reflect.TypeOf((*ArrayOfHostMemberHealthCheckResult)(nil)).Elem()
  4361  }
  4362  
  4363  // A boxed array of `HostMemberRuntimeInfo`. To be used in `Any` placeholders.
  4364  type ArrayOfHostMemberRuntimeInfo struct {
  4365  	HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty" json:"_value"`
  4366  }
  4367  
  4368  func init() {
  4369  	t["ArrayOfHostMemberRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostMemberRuntimeInfo)(nil)).Elem()
  4370  }
  4371  
  4372  // A boxed array of `HostMemoryTierInfo`. To be used in `Any` placeholders.
  4373  type ArrayOfHostMemoryTierInfo struct {
  4374  	HostMemoryTierInfo []HostMemoryTierInfo `xml:"HostMemoryTierInfo,omitempty" json:"_value"`
  4375  }
  4376  
  4377  func init() {
  4378  	t["ArrayOfHostMemoryTierInfo"] = reflect.TypeOf((*ArrayOfHostMemoryTierInfo)(nil)).Elem()
  4379  	minAPIVersionForType["ArrayOfHostMemoryTierInfo"] = "7.0.3.0"
  4380  }
  4381  
  4382  // A boxed array of `HostMultipathInfoLogicalUnit`. To be used in `Any` placeholders.
  4383  type ArrayOfHostMultipathInfoLogicalUnit struct {
  4384  	HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty" json:"_value"`
  4385  }
  4386  
  4387  func init() {
  4388  	t["ArrayOfHostMultipathInfoLogicalUnit"] = reflect.TypeOf((*ArrayOfHostMultipathInfoLogicalUnit)(nil)).Elem()
  4389  }
  4390  
  4391  // A boxed array of `HostMultipathInfoPath`. To be used in `Any` placeholders.
  4392  type ArrayOfHostMultipathInfoPath struct {
  4393  	HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty" json:"_value"`
  4394  }
  4395  
  4396  func init() {
  4397  	t["ArrayOfHostMultipathInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathInfoPath)(nil)).Elem()
  4398  }
  4399  
  4400  // A boxed array of `HostMultipathStateInfoPath`. To be used in `Any` placeholders.
  4401  type ArrayOfHostMultipathStateInfoPath struct {
  4402  	HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty" json:"_value"`
  4403  }
  4404  
  4405  func init() {
  4406  	t["ArrayOfHostMultipathStateInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathStateInfoPath)(nil)).Elem()
  4407  }
  4408  
  4409  // A boxed array of `HostNasVolumeConfig`. To be used in `Any` placeholders.
  4410  type ArrayOfHostNasVolumeConfig struct {
  4411  	HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty" json:"_value"`
  4412  }
  4413  
  4414  func init() {
  4415  	t["ArrayOfHostNasVolumeConfig"] = reflect.TypeOf((*ArrayOfHostNasVolumeConfig)(nil)).Elem()
  4416  }
  4417  
  4418  // A boxed array of `HostNatService`. To be used in `Any` placeholders.
  4419  type ArrayOfHostNatService struct {
  4420  	HostNatService []HostNatService `xml:"HostNatService,omitempty" json:"_value"`
  4421  }
  4422  
  4423  func init() {
  4424  	t["ArrayOfHostNatService"] = reflect.TypeOf((*ArrayOfHostNatService)(nil)).Elem()
  4425  }
  4426  
  4427  // A boxed array of `HostNatServiceConfig`. To be used in `Any` placeholders.
  4428  type ArrayOfHostNatServiceConfig struct {
  4429  	HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty" json:"_value"`
  4430  }
  4431  
  4432  func init() {
  4433  	t["ArrayOfHostNatServiceConfig"] = reflect.TypeOf((*ArrayOfHostNatServiceConfig)(nil)).Elem()
  4434  }
  4435  
  4436  // A boxed array of `HostNatServicePortForwardSpec`. To be used in `Any` placeholders.
  4437  type ArrayOfHostNatServicePortForwardSpec struct {
  4438  	HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty" json:"_value"`
  4439  }
  4440  
  4441  func init() {
  4442  	t["ArrayOfHostNatServicePortForwardSpec"] = reflect.TypeOf((*ArrayOfHostNatServicePortForwardSpec)(nil)).Elem()
  4443  }
  4444  
  4445  // A boxed array of `HostNetStackInstance`. To be used in `Any` placeholders.
  4446  type ArrayOfHostNetStackInstance struct {
  4447  	HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty" json:"_value"`
  4448  }
  4449  
  4450  func init() {
  4451  	t["ArrayOfHostNetStackInstance"] = reflect.TypeOf((*ArrayOfHostNetStackInstance)(nil)).Elem()
  4452  }
  4453  
  4454  // A boxed array of `HostNetworkConfigNetStackSpec`. To be used in `Any` placeholders.
  4455  type ArrayOfHostNetworkConfigNetStackSpec struct {
  4456  	HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty" json:"_value"`
  4457  }
  4458  
  4459  func init() {
  4460  	t["ArrayOfHostNetworkConfigNetStackSpec"] = reflect.TypeOf((*ArrayOfHostNetworkConfigNetStackSpec)(nil)).Elem()
  4461  }
  4462  
  4463  // A boxed array of `HostNumaNode`. To be used in `Any` placeholders.
  4464  type ArrayOfHostNumaNode struct {
  4465  	HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty" json:"_value"`
  4466  }
  4467  
  4468  func init() {
  4469  	t["ArrayOfHostNumaNode"] = reflect.TypeOf((*ArrayOfHostNumaNode)(nil)).Elem()
  4470  }
  4471  
  4472  // A boxed array of `HostNumericSensorInfo`. To be used in `Any` placeholders.
  4473  type ArrayOfHostNumericSensorInfo struct {
  4474  	HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty" json:"_value"`
  4475  }
  4476  
  4477  func init() {
  4478  	t["ArrayOfHostNumericSensorInfo"] = reflect.TypeOf((*ArrayOfHostNumericSensorInfo)(nil)).Elem()
  4479  }
  4480  
  4481  // A boxed array of `HostNvmeConnectSpec`. To be used in `Any` placeholders.
  4482  type ArrayOfHostNvmeConnectSpec struct {
  4483  	HostNvmeConnectSpec []HostNvmeConnectSpec `xml:"HostNvmeConnectSpec,omitempty" json:"_value"`
  4484  }
  4485  
  4486  func init() {
  4487  	t["ArrayOfHostNvmeConnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeConnectSpec)(nil)).Elem()
  4488  }
  4489  
  4490  // A boxed array of `HostNvmeController`. To be used in `Any` placeholders.
  4491  type ArrayOfHostNvmeController struct {
  4492  	HostNvmeController []HostNvmeController `xml:"HostNvmeController,omitempty" json:"_value"`
  4493  }
  4494  
  4495  func init() {
  4496  	t["ArrayOfHostNvmeController"] = reflect.TypeOf((*ArrayOfHostNvmeController)(nil)).Elem()
  4497  }
  4498  
  4499  // A boxed array of `HostNvmeDisconnectSpec`. To be used in `Any` placeholders.
  4500  type ArrayOfHostNvmeDisconnectSpec struct {
  4501  	HostNvmeDisconnectSpec []HostNvmeDisconnectSpec `xml:"HostNvmeDisconnectSpec,omitempty" json:"_value"`
  4502  }
  4503  
  4504  func init() {
  4505  	t["ArrayOfHostNvmeDisconnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeDisconnectSpec)(nil)).Elem()
  4506  }
  4507  
  4508  // A boxed array of `HostNvmeDiscoveryLogEntry`. To be used in `Any` placeholders.
  4509  type ArrayOfHostNvmeDiscoveryLogEntry struct {
  4510  	HostNvmeDiscoveryLogEntry []HostNvmeDiscoveryLogEntry `xml:"HostNvmeDiscoveryLogEntry,omitempty" json:"_value"`
  4511  }
  4512  
  4513  func init() {
  4514  	t["ArrayOfHostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*ArrayOfHostNvmeDiscoveryLogEntry)(nil)).Elem()
  4515  }
  4516  
  4517  // A boxed array of `HostNvmeNamespace`. To be used in `Any` placeholders.
  4518  type ArrayOfHostNvmeNamespace struct {
  4519  	HostNvmeNamespace []HostNvmeNamespace `xml:"HostNvmeNamespace,omitempty" json:"_value"`
  4520  }
  4521  
  4522  func init() {
  4523  	t["ArrayOfHostNvmeNamespace"] = reflect.TypeOf((*ArrayOfHostNvmeNamespace)(nil)).Elem()
  4524  }
  4525  
  4526  // A boxed array of `HostNvmeTopologyInterface`. To be used in `Any` placeholders.
  4527  type ArrayOfHostNvmeTopologyInterface struct {
  4528  	HostNvmeTopologyInterface []HostNvmeTopologyInterface `xml:"HostNvmeTopologyInterface,omitempty" json:"_value"`
  4529  }
  4530  
  4531  func init() {
  4532  	t["ArrayOfHostNvmeTopologyInterface"] = reflect.TypeOf((*ArrayOfHostNvmeTopologyInterface)(nil)).Elem()
  4533  }
  4534  
  4535  // A boxed array of `HostOpaqueNetworkInfo`. To be used in `Any` placeholders.
  4536  type ArrayOfHostOpaqueNetworkInfo struct {
  4537  	HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty" json:"_value"`
  4538  }
  4539  
  4540  func init() {
  4541  	t["ArrayOfHostOpaqueNetworkInfo"] = reflect.TypeOf((*ArrayOfHostOpaqueNetworkInfo)(nil)).Elem()
  4542  }
  4543  
  4544  // A boxed array of `HostOpaqueSwitch`. To be used in `Any` placeholders.
  4545  type ArrayOfHostOpaqueSwitch struct {
  4546  	HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty" json:"_value"`
  4547  }
  4548  
  4549  func init() {
  4550  	t["ArrayOfHostOpaqueSwitch"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitch)(nil)).Elem()
  4551  }
  4552  
  4553  // A boxed array of `HostOpaqueSwitchPhysicalNicZone`. To be used in `Any` placeholders.
  4554  type ArrayOfHostOpaqueSwitchPhysicalNicZone struct {
  4555  	HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty" json:"_value"`
  4556  }
  4557  
  4558  func init() {
  4559  	t["ArrayOfHostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
  4560  }
  4561  
  4562  // A boxed array of `HostPartialMaintenanceModeRuntimeInfo`. To be used in `Any` placeholders.
  4563  type ArrayOfHostPartialMaintenanceModeRuntimeInfo struct {
  4564  	HostPartialMaintenanceModeRuntimeInfo []HostPartialMaintenanceModeRuntimeInfo `xml:"HostPartialMaintenanceModeRuntimeInfo,omitempty" json:"_value"`
  4565  }
  4566  
  4567  func init() {
  4568  	t["ArrayOfHostPartialMaintenanceModeRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostPartialMaintenanceModeRuntimeInfo)(nil)).Elem()
  4569  	minAPIVersionForType["ArrayOfHostPartialMaintenanceModeRuntimeInfo"] = "8.0.3.0"
  4570  }
  4571  
  4572  // A boxed array of `HostPatchManagerStatus`. To be used in `Any` placeholders.
  4573  type ArrayOfHostPatchManagerStatus struct {
  4574  	HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty" json:"_value"`
  4575  }
  4576  
  4577  func init() {
  4578  	t["ArrayOfHostPatchManagerStatus"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatus)(nil)).Elem()
  4579  }
  4580  
  4581  // A boxed array of `HostPatchManagerStatusPrerequisitePatch`. To be used in `Any` placeholders.
  4582  type ArrayOfHostPatchManagerStatusPrerequisitePatch struct {
  4583  	HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty" json:"_value"`
  4584  }
  4585  
  4586  func init() {
  4587  	t["ArrayOfHostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
  4588  }
  4589  
  4590  // A boxed array of `HostPathSelectionPolicyOption`. To be used in `Any` placeholders.
  4591  type ArrayOfHostPathSelectionPolicyOption struct {
  4592  	HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty" json:"_value"`
  4593  }
  4594  
  4595  func init() {
  4596  	t["ArrayOfHostPathSelectionPolicyOption"] = reflect.TypeOf((*ArrayOfHostPathSelectionPolicyOption)(nil)).Elem()
  4597  }
  4598  
  4599  // A boxed array of `HostPciDevice`. To be used in `Any` placeholders.
  4600  type ArrayOfHostPciDevice struct {
  4601  	HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty" json:"_value"`
  4602  }
  4603  
  4604  func init() {
  4605  	t["ArrayOfHostPciDevice"] = reflect.TypeOf((*ArrayOfHostPciDevice)(nil)).Elem()
  4606  }
  4607  
  4608  // A boxed array of `HostPciPassthruConfig`. To be used in `Any` placeholders.
  4609  type ArrayOfHostPciPassthruConfig struct {
  4610  	HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr" json:"_value"`
  4611  }
  4612  
  4613  func init() {
  4614  	t["ArrayOfHostPciPassthruConfig"] = reflect.TypeOf((*ArrayOfHostPciPassthruConfig)(nil)).Elem()
  4615  }
  4616  
  4617  // A boxed array of `HostPciPassthruInfo`. To be used in `Any` placeholders.
  4618  type ArrayOfHostPciPassthruInfo struct {
  4619  	HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr" json:"_value"`
  4620  }
  4621  
  4622  func init() {
  4623  	t["ArrayOfHostPciPassthruInfo"] = reflect.TypeOf((*ArrayOfHostPciPassthruInfo)(nil)).Elem()
  4624  }
  4625  
  4626  // A boxed array of `HostPlacedVirtualNicIdentifier`. To be used in `Any` placeholders.
  4627  type ArrayOfHostPlacedVirtualNicIdentifier struct {
  4628  	HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty" json:"_value"`
  4629  }
  4630  
  4631  func init() {
  4632  	t["ArrayOfHostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*ArrayOfHostPlacedVirtualNicIdentifier)(nil)).Elem()
  4633  }
  4634  
  4635  // A boxed array of `HostPlugStoreTopologyAdapter`. To be used in `Any` placeholders.
  4636  type ArrayOfHostPlugStoreTopologyAdapter struct {
  4637  	HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty" json:"_value"`
  4638  }
  4639  
  4640  func init() {
  4641  	t["ArrayOfHostPlugStoreTopologyAdapter"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyAdapter)(nil)).Elem()
  4642  }
  4643  
  4644  // A boxed array of `HostPlugStoreTopologyDevice`. To be used in `Any` placeholders.
  4645  type ArrayOfHostPlugStoreTopologyDevice struct {
  4646  	HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty" json:"_value"`
  4647  }
  4648  
  4649  func init() {
  4650  	t["ArrayOfHostPlugStoreTopologyDevice"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyDevice)(nil)).Elem()
  4651  }
  4652  
  4653  // A boxed array of `HostPlugStoreTopologyPath`. To be used in `Any` placeholders.
  4654  type ArrayOfHostPlugStoreTopologyPath struct {
  4655  	HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty" json:"_value"`
  4656  }
  4657  
  4658  func init() {
  4659  	t["ArrayOfHostPlugStoreTopologyPath"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPath)(nil)).Elem()
  4660  }
  4661  
  4662  // A boxed array of `HostPlugStoreTopologyPlugin`. To be used in `Any` placeholders.
  4663  type ArrayOfHostPlugStoreTopologyPlugin struct {
  4664  	HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty" json:"_value"`
  4665  }
  4666  
  4667  func init() {
  4668  	t["ArrayOfHostPlugStoreTopologyPlugin"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPlugin)(nil)).Elem()
  4669  }
  4670  
  4671  // A boxed array of `HostPlugStoreTopologyTarget`. To be used in `Any` placeholders.
  4672  type ArrayOfHostPlugStoreTopologyTarget struct {
  4673  	HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty" json:"_value"`
  4674  }
  4675  
  4676  func init() {
  4677  	t["ArrayOfHostPlugStoreTopologyTarget"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyTarget)(nil)).Elem()
  4678  }
  4679  
  4680  // A boxed array of `HostPnicNetworkResourceInfo`. To be used in `Any` placeholders.
  4681  type ArrayOfHostPnicNetworkResourceInfo struct {
  4682  	HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty" json:"_value"`
  4683  }
  4684  
  4685  func init() {
  4686  	t["ArrayOfHostPnicNetworkResourceInfo"] = reflect.TypeOf((*ArrayOfHostPnicNetworkResourceInfo)(nil)).Elem()
  4687  }
  4688  
  4689  // A boxed array of `HostPortGroup`. To be used in `Any` placeholders.
  4690  type ArrayOfHostPortGroup struct {
  4691  	HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty" json:"_value"`
  4692  }
  4693  
  4694  func init() {
  4695  	t["ArrayOfHostPortGroup"] = reflect.TypeOf((*ArrayOfHostPortGroup)(nil)).Elem()
  4696  }
  4697  
  4698  // A boxed array of `HostPortGroupConfig`. To be used in `Any` placeholders.
  4699  type ArrayOfHostPortGroupConfig struct {
  4700  	HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty" json:"_value"`
  4701  }
  4702  
  4703  func init() {
  4704  	t["ArrayOfHostPortGroupConfig"] = reflect.TypeOf((*ArrayOfHostPortGroupConfig)(nil)).Elem()
  4705  }
  4706  
  4707  // A boxed array of `HostPortGroupPort`. To be used in `Any` placeholders.
  4708  type ArrayOfHostPortGroupPort struct {
  4709  	HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty" json:"_value"`
  4710  }
  4711  
  4712  func init() {
  4713  	t["ArrayOfHostPortGroupPort"] = reflect.TypeOf((*ArrayOfHostPortGroupPort)(nil)).Elem()
  4714  }
  4715  
  4716  // A boxed array of `HostPortGroupProfile`. To be used in `Any` placeholders.
  4717  type ArrayOfHostPortGroupProfile struct {
  4718  	HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty" json:"_value"`
  4719  }
  4720  
  4721  func init() {
  4722  	t["ArrayOfHostPortGroupProfile"] = reflect.TypeOf((*ArrayOfHostPortGroupProfile)(nil)).Elem()
  4723  }
  4724  
  4725  // A boxed array of `HostPowerPolicy`. To be used in `Any` placeholders.
  4726  type ArrayOfHostPowerPolicy struct {
  4727  	HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty" json:"_value"`
  4728  }
  4729  
  4730  func init() {
  4731  	t["ArrayOfHostPowerPolicy"] = reflect.TypeOf((*ArrayOfHostPowerPolicy)(nil)).Elem()
  4732  }
  4733  
  4734  // A boxed array of `HostProfileManagerCompositionResultResultElement`. To be used in `Any` placeholders.
  4735  type ArrayOfHostProfileManagerCompositionResultResultElement struct {
  4736  	HostProfileManagerCompositionResultResultElement []HostProfileManagerCompositionResultResultElement `xml:"HostProfileManagerCompositionResultResultElement,omitempty" json:"_value"`
  4737  }
  4738  
  4739  func init() {
  4740  	t["ArrayOfHostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionResultResultElement)(nil)).Elem()
  4741  }
  4742  
  4743  // A boxed array of `HostProfileManagerCompositionValidationResultResultElement`. To be used in `Any` placeholders.
  4744  type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct {
  4745  	HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty" json:"_value"`
  4746  }
  4747  
  4748  func init() {
  4749  	t["ArrayOfHostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
  4750  }
  4751  
  4752  // A boxed array of `HostProfilesEntityCustomizations`. To be used in `Any` placeholders.
  4753  type ArrayOfHostProfilesEntityCustomizations struct {
  4754  	HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr" json:"_value"`
  4755  }
  4756  
  4757  func init() {
  4758  	t["ArrayOfHostProfilesEntityCustomizations"] = reflect.TypeOf((*ArrayOfHostProfilesEntityCustomizations)(nil)).Elem()
  4759  }
  4760  
  4761  // A boxed array of `HostProtocolEndpoint`. To be used in `Any` placeholders.
  4762  type ArrayOfHostProtocolEndpoint struct {
  4763  	HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty" json:"_value"`
  4764  }
  4765  
  4766  func init() {
  4767  	t["ArrayOfHostProtocolEndpoint"] = reflect.TypeOf((*ArrayOfHostProtocolEndpoint)(nil)).Elem()
  4768  }
  4769  
  4770  // A boxed array of `HostProxySwitch`. To be used in `Any` placeholders.
  4771  type ArrayOfHostProxySwitch struct {
  4772  	HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty" json:"_value"`
  4773  }
  4774  
  4775  func init() {
  4776  	t["ArrayOfHostProxySwitch"] = reflect.TypeOf((*ArrayOfHostProxySwitch)(nil)).Elem()
  4777  }
  4778  
  4779  // A boxed array of `HostProxySwitchConfig`. To be used in `Any` placeholders.
  4780  type ArrayOfHostProxySwitchConfig struct {
  4781  	HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty" json:"_value"`
  4782  }
  4783  
  4784  func init() {
  4785  	t["ArrayOfHostProxySwitchConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchConfig)(nil)).Elem()
  4786  }
  4787  
  4788  // A boxed array of `HostProxySwitchHostLagConfig`. To be used in `Any` placeholders.
  4789  type ArrayOfHostProxySwitchHostLagConfig struct {
  4790  	HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty" json:"_value"`
  4791  }
  4792  
  4793  func init() {
  4794  	t["ArrayOfHostProxySwitchHostLagConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchHostLagConfig)(nil)).Elem()
  4795  }
  4796  
  4797  // A boxed array of `HostPtpConfigPtpPort`. To be used in `Any` placeholders.
  4798  type ArrayOfHostPtpConfigPtpPort struct {
  4799  	HostPtpConfigPtpPort []HostPtpConfigPtpPort `xml:"HostPtpConfigPtpPort,omitempty" json:"_value"`
  4800  }
  4801  
  4802  func init() {
  4803  	t["ArrayOfHostPtpConfigPtpPort"] = reflect.TypeOf((*ArrayOfHostPtpConfigPtpPort)(nil)).Elem()
  4804  	minAPIVersionForType["ArrayOfHostPtpConfigPtpPort"] = "7.0.3.0"
  4805  }
  4806  
  4807  // A boxed array of `HostQualifiedName`. To be used in `Any` placeholders.
  4808  type ArrayOfHostQualifiedName struct {
  4809  	HostQualifiedName []HostQualifiedName `xml:"HostQualifiedName,omitempty" json:"_value"`
  4810  }
  4811  
  4812  func init() {
  4813  	t["ArrayOfHostQualifiedName"] = reflect.TypeOf((*ArrayOfHostQualifiedName)(nil)).Elem()
  4814  	minAPIVersionForType["ArrayOfHostQualifiedName"] = "7.0.3.0"
  4815  }
  4816  
  4817  // A boxed array of `HostRdmaDevice`. To be used in `Any` placeholders.
  4818  type ArrayOfHostRdmaDevice struct {
  4819  	HostRdmaDevice []HostRdmaDevice `xml:"HostRdmaDevice,omitempty" json:"_value"`
  4820  }
  4821  
  4822  func init() {
  4823  	t["ArrayOfHostRdmaDevice"] = reflect.TypeOf((*ArrayOfHostRdmaDevice)(nil)).Elem()
  4824  }
  4825  
  4826  // A boxed array of `HostRuntimeInfoNetStackInstanceRuntimeInfo`. To be used in `Any` placeholders.
  4827  type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct {
  4828  	HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty" json:"_value"`
  4829  }
  4830  
  4831  func init() {
  4832  	t["ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
  4833  }
  4834  
  4835  // A boxed array of `HostScsiDisk`. To be used in `Any` placeholders.
  4836  type ArrayOfHostScsiDisk struct {
  4837  	HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty" json:"_value"`
  4838  }
  4839  
  4840  func init() {
  4841  	t["ArrayOfHostScsiDisk"] = reflect.TypeOf((*ArrayOfHostScsiDisk)(nil)).Elem()
  4842  }
  4843  
  4844  // A boxed array of `HostScsiDiskPartition`. To be used in `Any` placeholders.
  4845  type ArrayOfHostScsiDiskPartition struct {
  4846  	HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty" json:"_value"`
  4847  }
  4848  
  4849  func init() {
  4850  	t["ArrayOfHostScsiDiskPartition"] = reflect.TypeOf((*ArrayOfHostScsiDiskPartition)(nil)).Elem()
  4851  }
  4852  
  4853  // A boxed array of `HostScsiTopologyInterface`. To be used in `Any` placeholders.
  4854  type ArrayOfHostScsiTopologyInterface struct {
  4855  	HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty" json:"_value"`
  4856  }
  4857  
  4858  func init() {
  4859  	t["ArrayOfHostScsiTopologyInterface"] = reflect.TypeOf((*ArrayOfHostScsiTopologyInterface)(nil)).Elem()
  4860  }
  4861  
  4862  // A boxed array of `HostScsiTopologyLun`. To be used in `Any` placeholders.
  4863  type ArrayOfHostScsiTopologyLun struct {
  4864  	HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty" json:"_value"`
  4865  }
  4866  
  4867  func init() {
  4868  	t["ArrayOfHostScsiTopologyLun"] = reflect.TypeOf((*ArrayOfHostScsiTopologyLun)(nil)).Elem()
  4869  }
  4870  
  4871  // A boxed array of `HostScsiTopologyTarget`. To be used in `Any` placeholders.
  4872  type ArrayOfHostScsiTopologyTarget struct {
  4873  	HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty" json:"_value"`
  4874  }
  4875  
  4876  func init() {
  4877  	t["ArrayOfHostScsiTopologyTarget"] = reflect.TypeOf((*ArrayOfHostScsiTopologyTarget)(nil)).Elem()
  4878  }
  4879  
  4880  // A boxed array of `HostService`. To be used in `Any` placeholders.
  4881  type ArrayOfHostService struct {
  4882  	HostService []HostService `xml:"HostService,omitempty" json:"_value"`
  4883  }
  4884  
  4885  func init() {
  4886  	t["ArrayOfHostService"] = reflect.TypeOf((*ArrayOfHostService)(nil)).Elem()
  4887  }
  4888  
  4889  // A boxed array of `HostServiceConfig`. To be used in `Any` placeholders.
  4890  type ArrayOfHostServiceConfig struct {
  4891  	HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty" json:"_value"`
  4892  }
  4893  
  4894  func init() {
  4895  	t["ArrayOfHostServiceConfig"] = reflect.TypeOf((*ArrayOfHostServiceConfig)(nil)).Elem()
  4896  }
  4897  
  4898  // A boxed array of `HostSharedGpuCapabilities`. To be used in `Any` placeholders.
  4899  type ArrayOfHostSharedGpuCapabilities struct {
  4900  	HostSharedGpuCapabilities []HostSharedGpuCapabilities `xml:"HostSharedGpuCapabilities,omitempty" json:"_value"`
  4901  }
  4902  
  4903  func init() {
  4904  	t["ArrayOfHostSharedGpuCapabilities"] = reflect.TypeOf((*ArrayOfHostSharedGpuCapabilities)(nil)).Elem()
  4905  }
  4906  
  4907  // A boxed array of `HostSnmpDestination`. To be used in `Any` placeholders.
  4908  type ArrayOfHostSnmpDestination struct {
  4909  	HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty" json:"_value"`
  4910  }
  4911  
  4912  func init() {
  4913  	t["ArrayOfHostSnmpDestination"] = reflect.TypeOf((*ArrayOfHostSnmpDestination)(nil)).Elem()
  4914  }
  4915  
  4916  // A boxed array of `HostSriovDevicePoolInfo`. To be used in `Any` placeholders.
  4917  type ArrayOfHostSriovDevicePoolInfo struct {
  4918  	HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr" json:"_value"`
  4919  }
  4920  
  4921  func init() {
  4922  	t["ArrayOfHostSriovDevicePoolInfo"] = reflect.TypeOf((*ArrayOfHostSriovDevicePoolInfo)(nil)).Elem()
  4923  }
  4924  
  4925  // A boxed array of `HostSslThumbprintInfo`. To be used in `Any` placeholders.
  4926  type ArrayOfHostSslThumbprintInfo struct {
  4927  	HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty" json:"_value"`
  4928  }
  4929  
  4930  func init() {
  4931  	t["ArrayOfHostSslThumbprintInfo"] = reflect.TypeOf((*ArrayOfHostSslThumbprintInfo)(nil)).Elem()
  4932  }
  4933  
  4934  // A boxed array of `HostStorageArrayTypePolicyOption`. To be used in `Any` placeholders.
  4935  type ArrayOfHostStorageArrayTypePolicyOption struct {
  4936  	HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty" json:"_value"`
  4937  }
  4938  
  4939  func init() {
  4940  	t["ArrayOfHostStorageArrayTypePolicyOption"] = reflect.TypeOf((*ArrayOfHostStorageArrayTypePolicyOption)(nil)).Elem()
  4941  }
  4942  
  4943  // A boxed array of `HostStorageElementInfo`. To be used in `Any` placeholders.
  4944  type ArrayOfHostStorageElementInfo struct {
  4945  	HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty" json:"_value"`
  4946  }
  4947  
  4948  func init() {
  4949  	t["ArrayOfHostStorageElementInfo"] = reflect.TypeOf((*ArrayOfHostStorageElementInfo)(nil)).Elem()
  4950  }
  4951  
  4952  // A boxed array of `HostStorageOperationalInfo`. To be used in `Any` placeholders.
  4953  type ArrayOfHostStorageOperationalInfo struct {
  4954  	HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty" json:"_value"`
  4955  }
  4956  
  4957  func init() {
  4958  	t["ArrayOfHostStorageOperationalInfo"] = reflect.TypeOf((*ArrayOfHostStorageOperationalInfo)(nil)).Elem()
  4959  }
  4960  
  4961  // A boxed array of `HostStorageSystemDiskLocatorLedResult`. To be used in `Any` placeholders.
  4962  type ArrayOfHostStorageSystemDiskLocatorLedResult struct {
  4963  	HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty" json:"_value"`
  4964  }
  4965  
  4966  func init() {
  4967  	t["ArrayOfHostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemDiskLocatorLedResult)(nil)).Elem()
  4968  }
  4969  
  4970  // A boxed array of `HostStorageSystemScsiLunResult`. To be used in `Any` placeholders.
  4971  type ArrayOfHostStorageSystemScsiLunResult struct {
  4972  	HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty" json:"_value"`
  4973  }
  4974  
  4975  func init() {
  4976  	t["ArrayOfHostStorageSystemScsiLunResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemScsiLunResult)(nil)).Elem()
  4977  }
  4978  
  4979  // A boxed array of `HostStorageSystemVmfsVolumeResult`. To be used in `Any` placeholders.
  4980  type ArrayOfHostStorageSystemVmfsVolumeResult struct {
  4981  	HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty" json:"_value"`
  4982  }
  4983  
  4984  func init() {
  4985  	t["ArrayOfHostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemVmfsVolumeResult)(nil)).Elem()
  4986  }
  4987  
  4988  // A boxed array of `HostSubSpecification`. To be used in `Any` placeholders.
  4989  type ArrayOfHostSubSpecification struct {
  4990  	HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty" json:"_value"`
  4991  }
  4992  
  4993  func init() {
  4994  	t["ArrayOfHostSubSpecification"] = reflect.TypeOf((*ArrayOfHostSubSpecification)(nil)).Elem()
  4995  }
  4996  
  4997  // A boxed array of `HostSystemIdentificationInfo`. To be used in `Any` placeholders.
  4998  type ArrayOfHostSystemIdentificationInfo struct {
  4999  	HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty" json:"_value"`
  5000  }
  5001  
  5002  func init() {
  5003  	t["ArrayOfHostSystemIdentificationInfo"] = reflect.TypeOf((*ArrayOfHostSystemIdentificationInfo)(nil)).Elem()
  5004  }
  5005  
  5006  // A boxed array of `HostSystemResourceInfo`. To be used in `Any` placeholders.
  5007  type ArrayOfHostSystemResourceInfo struct {
  5008  	HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty" json:"_value"`
  5009  }
  5010  
  5011  func init() {
  5012  	t["ArrayOfHostSystemResourceInfo"] = reflect.TypeOf((*ArrayOfHostSystemResourceInfo)(nil)).Elem()
  5013  }
  5014  
  5015  // A boxed array of `HostSystemSwapConfigurationSystemSwapOption`. To be used in `Any` placeholders.
  5016  type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct {
  5017  	HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr" json:"_value"`
  5018  }
  5019  
  5020  func init() {
  5021  	t["ArrayOfHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*ArrayOfHostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
  5022  }
  5023  
  5024  // A boxed array of `HostTpmDigestInfo`. To be used in `Any` placeholders.
  5025  type ArrayOfHostTpmDigestInfo struct {
  5026  	HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty" json:"_value"`
  5027  }
  5028  
  5029  func init() {
  5030  	t["ArrayOfHostTpmDigestInfo"] = reflect.TypeOf((*ArrayOfHostTpmDigestInfo)(nil)).Elem()
  5031  }
  5032  
  5033  // A boxed array of `HostTpmEventLogEntry`. To be used in `Any` placeholders.
  5034  type ArrayOfHostTpmEventLogEntry struct {
  5035  	HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty" json:"_value"`
  5036  }
  5037  
  5038  func init() {
  5039  	t["ArrayOfHostTpmEventLogEntry"] = reflect.TypeOf((*ArrayOfHostTpmEventLogEntry)(nil)).Elem()
  5040  }
  5041  
  5042  // A boxed array of `HostTrustAuthorityAttestationInfo`. To be used in `Any` placeholders.
  5043  type ArrayOfHostTrustAuthorityAttestationInfo struct {
  5044  	HostTrustAuthorityAttestationInfo []HostTrustAuthorityAttestationInfo `xml:"HostTrustAuthorityAttestationInfo,omitempty" json:"_value"`
  5045  }
  5046  
  5047  func init() {
  5048  	t["ArrayOfHostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*ArrayOfHostTrustAuthorityAttestationInfo)(nil)).Elem()
  5049  	minAPIVersionForType["ArrayOfHostTrustAuthorityAttestationInfo"] = "7.0.1.0"
  5050  }
  5051  
  5052  // A boxed array of `HostUnresolvedVmfsExtent`. To be used in `Any` placeholders.
  5053  type ArrayOfHostUnresolvedVmfsExtent struct {
  5054  	HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty" json:"_value"`
  5055  }
  5056  
  5057  func init() {
  5058  	t["ArrayOfHostUnresolvedVmfsExtent"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsExtent)(nil)).Elem()
  5059  }
  5060  
  5061  // A boxed array of `HostUnresolvedVmfsResolutionResult`. To be used in `Any` placeholders.
  5062  type ArrayOfHostUnresolvedVmfsResolutionResult struct {
  5063  	HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty" json:"_value"`
  5064  }
  5065  
  5066  func init() {
  5067  	t["ArrayOfHostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionResult)(nil)).Elem()
  5068  }
  5069  
  5070  // A boxed array of `HostUnresolvedVmfsResolutionSpec`. To be used in `Any` placeholders.
  5071  type ArrayOfHostUnresolvedVmfsResolutionSpec struct {
  5072  	HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty" json:"_value"`
  5073  }
  5074  
  5075  func init() {
  5076  	t["ArrayOfHostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionSpec)(nil)).Elem()
  5077  }
  5078  
  5079  // A boxed array of `HostUnresolvedVmfsVolume`. To be used in `Any` placeholders.
  5080  type ArrayOfHostUnresolvedVmfsVolume struct {
  5081  	HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty" json:"_value"`
  5082  }
  5083  
  5084  func init() {
  5085  	t["ArrayOfHostUnresolvedVmfsVolume"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsVolume)(nil)).Elem()
  5086  }
  5087  
  5088  // A boxed array of `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`. To be used in `Any` placeholders.
  5089  type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
  5090  	HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty" json:"_value"`
  5091  }
  5092  
  5093  func init() {
  5094  	t["ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
  5095  }
  5096  
  5097  // A boxed array of `HostVMotionCompatibility`. To be used in `Any` placeholders.
  5098  type ArrayOfHostVMotionCompatibility struct {
  5099  	HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty" json:"_value"`
  5100  }
  5101  
  5102  func init() {
  5103  	t["ArrayOfHostVMotionCompatibility"] = reflect.TypeOf((*ArrayOfHostVMotionCompatibility)(nil)).Elem()
  5104  }
  5105  
  5106  // A boxed array of `HostVirtualNic`. To be used in `Any` placeholders.
  5107  type ArrayOfHostVirtualNic struct {
  5108  	HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty" json:"_value"`
  5109  }
  5110  
  5111  func init() {
  5112  	t["ArrayOfHostVirtualNic"] = reflect.TypeOf((*ArrayOfHostVirtualNic)(nil)).Elem()
  5113  }
  5114  
  5115  // A boxed array of `HostVirtualNicConfig`. To be used in `Any` placeholders.
  5116  type ArrayOfHostVirtualNicConfig struct {
  5117  	HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty" json:"_value"`
  5118  }
  5119  
  5120  func init() {
  5121  	t["ArrayOfHostVirtualNicConfig"] = reflect.TypeOf((*ArrayOfHostVirtualNicConfig)(nil)).Elem()
  5122  }
  5123  
  5124  // A boxed array of `HostVirtualNicManagerNicTypeSelection`. To be used in `Any` placeholders.
  5125  type ArrayOfHostVirtualNicManagerNicTypeSelection struct {
  5126  	HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty" json:"_value"`
  5127  }
  5128  
  5129  func init() {
  5130  	t["ArrayOfHostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*ArrayOfHostVirtualNicManagerNicTypeSelection)(nil)).Elem()
  5131  }
  5132  
  5133  // A boxed array of `HostVirtualSwitch`. To be used in `Any` placeholders.
  5134  type ArrayOfHostVirtualSwitch struct {
  5135  	HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty" json:"_value"`
  5136  }
  5137  
  5138  func init() {
  5139  	t["ArrayOfHostVirtualSwitch"] = reflect.TypeOf((*ArrayOfHostVirtualSwitch)(nil)).Elem()
  5140  }
  5141  
  5142  // A boxed array of `HostVirtualSwitchConfig`. To be used in `Any` placeholders.
  5143  type ArrayOfHostVirtualSwitchConfig struct {
  5144  	HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty" json:"_value"`
  5145  }
  5146  
  5147  func init() {
  5148  	t["ArrayOfHostVirtualSwitchConfig"] = reflect.TypeOf((*ArrayOfHostVirtualSwitchConfig)(nil)).Elem()
  5149  }
  5150  
  5151  // A boxed array of `HostVmciAccessManagerAccessSpec`. To be used in `Any` placeholders.
  5152  type ArrayOfHostVmciAccessManagerAccessSpec struct {
  5153  	HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty" json:"_value"`
  5154  }
  5155  
  5156  func init() {
  5157  	t["ArrayOfHostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*ArrayOfHostVmciAccessManagerAccessSpec)(nil)).Elem()
  5158  }
  5159  
  5160  // A boxed array of `HostVmfsRescanResult`. To be used in `Any` placeholders.
  5161  type ArrayOfHostVmfsRescanResult struct {
  5162  	HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty" json:"_value"`
  5163  }
  5164  
  5165  func init() {
  5166  	t["ArrayOfHostVmfsRescanResult"] = reflect.TypeOf((*ArrayOfHostVmfsRescanResult)(nil)).Elem()
  5167  }
  5168  
  5169  // A boxed array of `HostVsanInternalSystemCmmdsQuery`. To be used in `Any` placeholders.
  5170  type ArrayOfHostVsanInternalSystemCmmdsQuery struct {
  5171  	HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty" json:"_value"`
  5172  }
  5173  
  5174  func init() {
  5175  	t["ArrayOfHostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemCmmdsQuery)(nil)).Elem()
  5176  }
  5177  
  5178  // A boxed array of `HostVsanInternalSystemDeleteVsanObjectsResult`. To be used in `Any` placeholders.
  5179  type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct {
  5180  	HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty" json:"_value"`
  5181  }
  5182  
  5183  func init() {
  5184  	t["ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
  5185  }
  5186  
  5187  // A boxed array of `HostVsanInternalSystemVsanObjectOperationResult`. To be used in `Any` placeholders.
  5188  type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct {
  5189  	HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty" json:"_value"`
  5190  }
  5191  
  5192  func init() {
  5193  	t["ArrayOfHostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
  5194  }
  5195  
  5196  // A boxed array of `HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult`. To be used in `Any` placeholders.
  5197  type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
  5198  	HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty" json:"_value"`
  5199  }
  5200  
  5201  func init() {
  5202  	t["ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
  5203  }
  5204  
  5205  // A boxed array of `HostVvolNQN`. To be used in `Any` placeholders.
  5206  type ArrayOfHostVvolNQN struct {
  5207  	HostVvolNQN []HostVvolNQN `xml:"HostVvolNQN,omitempty" json:"_value"`
  5208  }
  5209  
  5210  func init() {
  5211  	t["ArrayOfHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolNQN)(nil)).Elem()
  5212  	minAPIVersionForType["ArrayOfHostVvolNQN"] = "8.0.2.0"
  5213  }
  5214  
  5215  // A boxed array of `HostVvolVolumeHostVvolNQN`. To be used in `Any` placeholders.
  5216  type ArrayOfHostVvolVolumeHostVvolNQN struct {
  5217  	HostVvolVolumeHostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"HostVvolVolumeHostVvolNQN,omitempty" json:"_value"`
  5218  }
  5219  
  5220  func init() {
  5221  	t["ArrayOfHostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*ArrayOfHostVvolVolumeHostVvolNQN)(nil)).Elem()
  5222  	minAPIVersionForType["ArrayOfHostVvolVolumeHostVvolNQN"] = "8.0.2.0"
  5223  }
  5224  
  5225  // A boxed array of `HttpNfcLeaseDatastoreLeaseInfo`. To be used in `Any` placeholders.
  5226  type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct {
  5227  	HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty" json:"_value"`
  5228  }
  5229  
  5230  func init() {
  5231  	t["ArrayOfHttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
  5232  }
  5233  
  5234  // A boxed array of `HttpNfcLeaseDeviceUrl`. To be used in `Any` placeholders.
  5235  type ArrayOfHttpNfcLeaseDeviceUrl struct {
  5236  	HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty" json:"_value"`
  5237  }
  5238  
  5239  func init() {
  5240  	t["ArrayOfHttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDeviceUrl)(nil)).Elem()
  5241  }
  5242  
  5243  // A boxed array of `HttpNfcLeaseHostInfo`. To be used in `Any` placeholders.
  5244  type ArrayOfHttpNfcLeaseHostInfo struct {
  5245  	HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty" json:"_value"`
  5246  }
  5247  
  5248  func init() {
  5249  	t["ArrayOfHttpNfcLeaseHostInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseHostInfo)(nil)).Elem()
  5250  }
  5251  
  5252  // A boxed array of `HttpNfcLeaseManifestEntry`. To be used in `Any` placeholders.
  5253  type ArrayOfHttpNfcLeaseManifestEntry struct {
  5254  	HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty" json:"_value"`
  5255  }
  5256  
  5257  func init() {
  5258  	t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(nil)).Elem()
  5259  }
  5260  
  5261  // A boxed array of `HttpNfcLeaseProbeResult`. To be used in `Any` placeholders.
  5262  type ArrayOfHttpNfcLeaseProbeResult struct {
  5263  	HttpNfcLeaseProbeResult []HttpNfcLeaseProbeResult `xml:"HttpNfcLeaseProbeResult,omitempty" json:"_value"`
  5264  }
  5265  
  5266  func init() {
  5267  	t["ArrayOfHttpNfcLeaseProbeResult"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseProbeResult)(nil)).Elem()
  5268  	minAPIVersionForType["ArrayOfHttpNfcLeaseProbeResult"] = "7.0.2.0"
  5269  }
  5270  
  5271  // A boxed array of `HttpNfcLeaseSourceFile`. To be used in `Any` placeholders.
  5272  type ArrayOfHttpNfcLeaseSourceFile struct {
  5273  	HttpNfcLeaseSourceFile []HttpNfcLeaseSourceFile `xml:"HttpNfcLeaseSourceFile,omitempty" json:"_value"`
  5274  }
  5275  
  5276  func init() {
  5277  	t["ArrayOfHttpNfcLeaseSourceFile"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseSourceFile)(nil)).Elem()
  5278  }
  5279  
  5280  // A boxed array of `ID`. To be used in `Any` placeholders.
  5281  type ArrayOfID struct {
  5282  	ID []ID `xml:"ID,omitempty" json:"_value"`
  5283  }
  5284  
  5285  func init() {
  5286  	t["ArrayOfID"] = reflect.TypeOf((*ArrayOfID)(nil)).Elem()
  5287  }
  5288  
  5289  // A boxed array of `ImportOperationBulkFaultFaultOnImport`. To be used in `Any` placeholders.
  5290  type ArrayOfImportOperationBulkFaultFaultOnImport struct {
  5291  	ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty" json:"_value"`
  5292  }
  5293  
  5294  func init() {
  5295  	t["ArrayOfImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ArrayOfImportOperationBulkFaultFaultOnImport)(nil)).Elem()
  5296  }
  5297  
  5298  // A boxed array of `ImportSpec`. To be used in `Any` placeholders.
  5299  type ArrayOfImportSpec struct {
  5300  	ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr" json:"_value"`
  5301  }
  5302  
  5303  func init() {
  5304  	t["ArrayOfImportSpec"] = reflect.TypeOf((*ArrayOfImportSpec)(nil)).Elem()
  5305  }
  5306  
  5307  // A boxed array of `PrimitiveInt`. To be used in `Any` placeholders.
  5308  type ArrayOfInt struct {
  5309  	Int []int32 `xml:"int,omitempty" json:"_value"`
  5310  }
  5311  
  5312  func init() {
  5313  	t["ArrayOfInt"] = reflect.TypeOf((*ArrayOfInt)(nil)).Elem()
  5314  }
  5315  
  5316  // A boxed array of `IoFilterHostIssue`. To be used in `Any` placeholders.
  5317  type ArrayOfIoFilterHostIssue struct {
  5318  	IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty" json:"_value"`
  5319  }
  5320  
  5321  func init() {
  5322  	t["ArrayOfIoFilterHostIssue"] = reflect.TypeOf((*ArrayOfIoFilterHostIssue)(nil)).Elem()
  5323  }
  5324  
  5325  // A boxed array of `IpPool`. To be used in `Any` placeholders.
  5326  type ArrayOfIpPool struct {
  5327  	IpPool []IpPool `xml:"IpPool,omitempty" json:"_value"`
  5328  }
  5329  
  5330  func init() {
  5331  	t["ArrayOfIpPool"] = reflect.TypeOf((*ArrayOfIpPool)(nil)).Elem()
  5332  }
  5333  
  5334  // A boxed array of `IpPoolAssociation`. To be used in `Any` placeholders.
  5335  type ArrayOfIpPoolAssociation struct {
  5336  	IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty" json:"_value"`
  5337  }
  5338  
  5339  func init() {
  5340  	t["ArrayOfIpPoolAssociation"] = reflect.TypeOf((*ArrayOfIpPoolAssociation)(nil)).Elem()
  5341  }
  5342  
  5343  // A boxed array of `IpPoolManagerIpAllocation`. To be used in `Any` placeholders.
  5344  type ArrayOfIpPoolManagerIpAllocation struct {
  5345  	IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty" json:"_value"`
  5346  }
  5347  
  5348  func init() {
  5349  	t["ArrayOfIpPoolManagerIpAllocation"] = reflect.TypeOf((*ArrayOfIpPoolManagerIpAllocation)(nil)).Elem()
  5350  }
  5351  
  5352  // A boxed array of `IscsiDependencyEntity`. To be used in `Any` placeholders.
  5353  type ArrayOfIscsiDependencyEntity struct {
  5354  	IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty" json:"_value"`
  5355  }
  5356  
  5357  func init() {
  5358  	t["ArrayOfIscsiDependencyEntity"] = reflect.TypeOf((*ArrayOfIscsiDependencyEntity)(nil)).Elem()
  5359  }
  5360  
  5361  // A boxed array of `IscsiPortInfo`. To be used in `Any` placeholders.
  5362  type ArrayOfIscsiPortInfo struct {
  5363  	IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty" json:"_value"`
  5364  }
  5365  
  5366  func init() {
  5367  	t["ArrayOfIscsiPortInfo"] = reflect.TypeOf((*ArrayOfIscsiPortInfo)(nil)).Elem()
  5368  }
  5369  
  5370  // A boxed array of `KernelModuleInfo`. To be used in `Any` placeholders.
  5371  type ArrayOfKernelModuleInfo struct {
  5372  	KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty" json:"_value"`
  5373  }
  5374  
  5375  func init() {
  5376  	t["ArrayOfKernelModuleInfo"] = reflect.TypeOf((*ArrayOfKernelModuleInfo)(nil)).Elem()
  5377  }
  5378  
  5379  // A boxed array of `KeyAnyValue`. To be used in `Any` placeholders.
  5380  type ArrayOfKeyAnyValue struct {
  5381  	KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty" json:"_value"`
  5382  }
  5383  
  5384  func init() {
  5385  	t["ArrayOfKeyAnyValue"] = reflect.TypeOf((*ArrayOfKeyAnyValue)(nil)).Elem()
  5386  }
  5387  
  5388  // A boxed array of `KeyValue`. To be used in `Any` placeholders.
  5389  type ArrayOfKeyValue struct {
  5390  	KeyValue []KeyValue `xml:"KeyValue,omitempty" json:"_value"`
  5391  }
  5392  
  5393  func init() {
  5394  	t["ArrayOfKeyValue"] = reflect.TypeOf((*ArrayOfKeyValue)(nil)).Elem()
  5395  }
  5396  
  5397  // A boxed array of `KmipClusterInfo`. To be used in `Any` placeholders.
  5398  type ArrayOfKmipClusterInfo struct {
  5399  	KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty" json:"_value"`
  5400  }
  5401  
  5402  func init() {
  5403  	t["ArrayOfKmipClusterInfo"] = reflect.TypeOf((*ArrayOfKmipClusterInfo)(nil)).Elem()
  5404  }
  5405  
  5406  // A boxed array of `KmipServerInfo`. To be used in `Any` placeholders.
  5407  type ArrayOfKmipServerInfo struct {
  5408  	KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty" json:"_value"`
  5409  }
  5410  
  5411  func init() {
  5412  	t["ArrayOfKmipServerInfo"] = reflect.TypeOf((*ArrayOfKmipServerInfo)(nil)).Elem()
  5413  }
  5414  
  5415  // A boxed array of `LicenseAssignmentManagerLicenseAssignment`. To be used in `Any` placeholders.
  5416  type ArrayOfLicenseAssignmentManagerLicenseAssignment struct {
  5417  	LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty" json:"_value"`
  5418  }
  5419  
  5420  func init() {
  5421  	t["ArrayOfLicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*ArrayOfLicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
  5422  }
  5423  
  5424  // A boxed array of `LicenseAvailabilityInfo`. To be used in `Any` placeholders.
  5425  type ArrayOfLicenseAvailabilityInfo struct {
  5426  	LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty" json:"_value"`
  5427  }
  5428  
  5429  func init() {
  5430  	t["ArrayOfLicenseAvailabilityInfo"] = reflect.TypeOf((*ArrayOfLicenseAvailabilityInfo)(nil)).Elem()
  5431  }
  5432  
  5433  // A boxed array of `LicenseFeatureInfo`. To be used in `Any` placeholders.
  5434  type ArrayOfLicenseFeatureInfo struct {
  5435  	LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty" json:"_value"`
  5436  }
  5437  
  5438  func init() {
  5439  	t["ArrayOfLicenseFeatureInfo"] = reflect.TypeOf((*ArrayOfLicenseFeatureInfo)(nil)).Elem()
  5440  }
  5441  
  5442  // A boxed array of `LicenseManagerLicenseInfo`. To be used in `Any` placeholders.
  5443  type ArrayOfLicenseManagerLicenseInfo struct {
  5444  	LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty" json:"_value"`
  5445  }
  5446  
  5447  func init() {
  5448  	t["ArrayOfLicenseManagerLicenseInfo"] = reflect.TypeOf((*ArrayOfLicenseManagerLicenseInfo)(nil)).Elem()
  5449  }
  5450  
  5451  // A boxed array of `LicenseReservationInfo`. To be used in `Any` placeholders.
  5452  type ArrayOfLicenseReservationInfo struct {
  5453  	LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty" json:"_value"`
  5454  }
  5455  
  5456  func init() {
  5457  	t["ArrayOfLicenseReservationInfo"] = reflect.TypeOf((*ArrayOfLicenseReservationInfo)(nil)).Elem()
  5458  }
  5459  
  5460  // A boxed array of `LocalizableMessage`. To be used in `Any` placeholders.
  5461  type ArrayOfLocalizableMessage struct {
  5462  	LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty" json:"_value"`
  5463  }
  5464  
  5465  func init() {
  5466  	t["ArrayOfLocalizableMessage"] = reflect.TypeOf((*ArrayOfLocalizableMessage)(nil)).Elem()
  5467  }
  5468  
  5469  // A boxed array of `LocalizationManagerMessageCatalog`. To be used in `Any` placeholders.
  5470  type ArrayOfLocalizationManagerMessageCatalog struct {
  5471  	LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty" json:"_value"`
  5472  }
  5473  
  5474  func init() {
  5475  	t["ArrayOfLocalizationManagerMessageCatalog"] = reflect.TypeOf((*ArrayOfLocalizationManagerMessageCatalog)(nil)).Elem()
  5476  }
  5477  
  5478  // A boxed array of `PrimitiveLong`. To be used in `Any` placeholders.
  5479  type ArrayOfLong struct {
  5480  	Long []int64 `xml:"long,omitempty" json:"_value"`
  5481  }
  5482  
  5483  func init() {
  5484  	t["ArrayOfLong"] = reflect.TypeOf((*ArrayOfLong)(nil)).Elem()
  5485  }
  5486  
  5487  // A boxed array of `ManagedEntityStatus_enum`. To be used in `Any` placeholders.
  5488  type ArrayOfManagedEntityStatus struct {
  5489  	ManagedEntityStatus []ManagedEntityStatus `xml:"ManagedEntityStatus,omitempty" json:"_value"`
  5490  }
  5491  
  5492  func init() {
  5493  	t["ArrayOfManagedEntityStatus"] = reflect.TypeOf((*ArrayOfManagedEntityStatus)(nil)).Elem()
  5494  }
  5495  
  5496  // A boxed array of `ManagedObjectReference`. To be used in `Any` placeholders.
  5497  type ArrayOfManagedObjectReference struct {
  5498  	ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty" json:"_value"`
  5499  }
  5500  
  5501  func init() {
  5502  	t["ArrayOfManagedObjectReference"] = reflect.TypeOf((*ArrayOfManagedObjectReference)(nil)).Elem()
  5503  }
  5504  
  5505  // A boxed array of `MethodActionArgument`. To be used in `Any` placeholders.
  5506  type ArrayOfMethodActionArgument struct {
  5507  	MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty" json:"_value"`
  5508  }
  5509  
  5510  func init() {
  5511  	t["ArrayOfMethodActionArgument"] = reflect.TypeOf((*ArrayOfMethodActionArgument)(nil)).Elem()
  5512  }
  5513  
  5514  // A boxed array of `MethodFault`. To be used in `Any` placeholders.
  5515  type ArrayOfMethodFault struct {
  5516  	MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr" json:"_value"`
  5517  }
  5518  
  5519  func init() {
  5520  	t["ArrayOfMethodFault"] = reflect.TypeOf((*ArrayOfMethodFault)(nil)).Elem()
  5521  }
  5522  
  5523  // A boxed array of `MissingObject`. To be used in `Any` placeholders.
  5524  type ArrayOfMissingObject struct {
  5525  	MissingObject []MissingObject `xml:"MissingObject,omitempty" json:"_value"`
  5526  }
  5527  
  5528  func init() {
  5529  	t["ArrayOfMissingObject"] = reflect.TypeOf((*ArrayOfMissingObject)(nil)).Elem()
  5530  }
  5531  
  5532  // A boxed array of `MissingProperty`. To be used in `Any` placeholders.
  5533  type ArrayOfMissingProperty struct {
  5534  	MissingProperty []MissingProperty `xml:"MissingProperty,omitempty" json:"_value"`
  5535  }
  5536  
  5537  func init() {
  5538  	t["ArrayOfMissingProperty"] = reflect.TypeOf((*ArrayOfMissingProperty)(nil)).Elem()
  5539  }
  5540  
  5541  // A boxed array of `MultipleCertificatesVerifyFaultThumbprintData`. To be used in `Any` placeholders.
  5542  type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct {
  5543  	MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty" json:"_value"`
  5544  }
  5545  
  5546  func init() {
  5547  	t["ArrayOfMultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*ArrayOfMultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
  5548  }
  5549  
  5550  // A boxed array of `NasStorageProfile`. To be used in `Any` placeholders.
  5551  type ArrayOfNasStorageProfile struct {
  5552  	NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty" json:"_value"`
  5553  }
  5554  
  5555  func init() {
  5556  	t["ArrayOfNasStorageProfile"] = reflect.TypeOf((*ArrayOfNasStorageProfile)(nil)).Elem()
  5557  }
  5558  
  5559  // A boxed array of `NetIpConfigInfoIpAddress`. To be used in `Any` placeholders.
  5560  type ArrayOfNetIpConfigInfoIpAddress struct {
  5561  	NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty" json:"_value"`
  5562  }
  5563  
  5564  func init() {
  5565  	t["ArrayOfNetIpConfigInfoIpAddress"] = reflect.TypeOf((*ArrayOfNetIpConfigInfoIpAddress)(nil)).Elem()
  5566  }
  5567  
  5568  // A boxed array of `NetIpConfigSpecIpAddressSpec`. To be used in `Any` placeholders.
  5569  type ArrayOfNetIpConfigSpecIpAddressSpec struct {
  5570  	NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty" json:"_value"`
  5571  }
  5572  
  5573  func init() {
  5574  	t["ArrayOfNetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*ArrayOfNetIpConfigSpecIpAddressSpec)(nil)).Elem()
  5575  }
  5576  
  5577  // A boxed array of `NetIpRouteConfigInfoIpRoute`. To be used in `Any` placeholders.
  5578  type ArrayOfNetIpRouteConfigInfoIpRoute struct {
  5579  	NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty" json:"_value"`
  5580  }
  5581  
  5582  func init() {
  5583  	t["ArrayOfNetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigInfoIpRoute)(nil)).Elem()
  5584  }
  5585  
  5586  // A boxed array of `NetIpRouteConfigSpecIpRouteSpec`. To be used in `Any` placeholders.
  5587  type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct {
  5588  	NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty" json:"_value"`
  5589  }
  5590  
  5591  func init() {
  5592  	t["ArrayOfNetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
  5593  }
  5594  
  5595  // A boxed array of `NetIpStackInfoDefaultRouter`. To be used in `Any` placeholders.
  5596  type ArrayOfNetIpStackInfoDefaultRouter struct {
  5597  	NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty" json:"_value"`
  5598  }
  5599  
  5600  func init() {
  5601  	t["ArrayOfNetIpStackInfoDefaultRouter"] = reflect.TypeOf((*ArrayOfNetIpStackInfoDefaultRouter)(nil)).Elem()
  5602  }
  5603  
  5604  // A boxed array of `NetIpStackInfoNetToMedia`. To be used in `Any` placeholders.
  5605  type ArrayOfNetIpStackInfoNetToMedia struct {
  5606  	NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty" json:"_value"`
  5607  }
  5608  
  5609  func init() {
  5610  	t["ArrayOfNetIpStackInfoNetToMedia"] = reflect.TypeOf((*ArrayOfNetIpStackInfoNetToMedia)(nil)).Elem()
  5611  }
  5612  
  5613  // A boxed array of `NetStackInstanceProfile`. To be used in `Any` placeholders.
  5614  type ArrayOfNetStackInstanceProfile struct {
  5615  	NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty" json:"_value"`
  5616  }
  5617  
  5618  func init() {
  5619  	t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(nil)).Elem()
  5620  }
  5621  
  5622  // A boxed array of `NoPermissionEntityPrivileges`. To be used in `Any` placeholders.
  5623  type ArrayOfNoPermissionEntityPrivileges struct {
  5624  	NoPermissionEntityPrivileges []NoPermissionEntityPrivileges `xml:"NoPermissionEntityPrivileges,omitempty" json:"_value"`
  5625  }
  5626  
  5627  func init() {
  5628  	t["ArrayOfNoPermissionEntityPrivileges"] = reflect.TypeOf((*ArrayOfNoPermissionEntityPrivileges)(nil)).Elem()
  5629  	minAPIVersionForType["ArrayOfNoPermissionEntityPrivileges"] = "7.0.3.2"
  5630  }
  5631  
  5632  // A boxed array of `NsxHostVNicProfile`. To be used in `Any` placeholders.
  5633  type ArrayOfNsxHostVNicProfile struct {
  5634  	NsxHostVNicProfile []NsxHostVNicProfile `xml:"NsxHostVNicProfile,omitempty" json:"_value"`
  5635  }
  5636  
  5637  func init() {
  5638  	t["ArrayOfNsxHostVNicProfile"] = reflect.TypeOf((*ArrayOfNsxHostVNicProfile)(nil)).Elem()
  5639  }
  5640  
  5641  // A boxed array of `NumericRange`. To be used in `Any` placeholders.
  5642  type ArrayOfNumericRange struct {
  5643  	NumericRange []NumericRange `xml:"NumericRange,omitempty" json:"_value"`
  5644  }
  5645  
  5646  func init() {
  5647  	t["ArrayOfNumericRange"] = reflect.TypeOf((*ArrayOfNumericRange)(nil)).Elem()
  5648  }
  5649  
  5650  // A boxed array of `NvdimmDimmInfo`. To be used in `Any` placeholders.
  5651  type ArrayOfNvdimmDimmInfo struct {
  5652  	NvdimmDimmInfo []NvdimmDimmInfo `xml:"NvdimmDimmInfo,omitempty" json:"_value"`
  5653  }
  5654  
  5655  func init() {
  5656  	t["ArrayOfNvdimmDimmInfo"] = reflect.TypeOf((*ArrayOfNvdimmDimmInfo)(nil)).Elem()
  5657  }
  5658  
  5659  // A boxed array of `NvdimmGuid`. To be used in `Any` placeholders.
  5660  type ArrayOfNvdimmGuid struct {
  5661  	NvdimmGuid []NvdimmGuid `xml:"NvdimmGuid,omitempty" json:"_value"`
  5662  }
  5663  
  5664  func init() {
  5665  	t["ArrayOfNvdimmGuid"] = reflect.TypeOf((*ArrayOfNvdimmGuid)(nil)).Elem()
  5666  }
  5667  
  5668  // A boxed array of `NvdimmInterleaveSetInfo`. To be used in `Any` placeholders.
  5669  type ArrayOfNvdimmInterleaveSetInfo struct {
  5670  	NvdimmInterleaveSetInfo []NvdimmInterleaveSetInfo `xml:"NvdimmInterleaveSetInfo,omitempty" json:"_value"`
  5671  }
  5672  
  5673  func init() {
  5674  	t["ArrayOfNvdimmInterleaveSetInfo"] = reflect.TypeOf((*ArrayOfNvdimmInterleaveSetInfo)(nil)).Elem()
  5675  }
  5676  
  5677  // A boxed array of `NvdimmNamespaceDetails`. To be used in `Any` placeholders.
  5678  type ArrayOfNvdimmNamespaceDetails struct {
  5679  	NvdimmNamespaceDetails []NvdimmNamespaceDetails `xml:"NvdimmNamespaceDetails,omitempty" json:"_value"`
  5680  }
  5681  
  5682  func init() {
  5683  	t["ArrayOfNvdimmNamespaceDetails"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceDetails)(nil)).Elem()
  5684  }
  5685  
  5686  // A boxed array of `NvdimmNamespaceInfo`. To be used in `Any` placeholders.
  5687  type ArrayOfNvdimmNamespaceInfo struct {
  5688  	NvdimmNamespaceInfo []NvdimmNamespaceInfo `xml:"NvdimmNamespaceInfo,omitempty" json:"_value"`
  5689  }
  5690  
  5691  func init() {
  5692  	t["ArrayOfNvdimmNamespaceInfo"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceInfo)(nil)).Elem()
  5693  }
  5694  
  5695  // A boxed array of `NvdimmRegionInfo`. To be used in `Any` placeholders.
  5696  type ArrayOfNvdimmRegionInfo struct {
  5697  	NvdimmRegionInfo []NvdimmRegionInfo `xml:"NvdimmRegionInfo,omitempty" json:"_value"`
  5698  }
  5699  
  5700  func init() {
  5701  	t["ArrayOfNvdimmRegionInfo"] = reflect.TypeOf((*ArrayOfNvdimmRegionInfo)(nil)).Elem()
  5702  }
  5703  
  5704  // A boxed array of `ObjectContent`. To be used in `Any` placeholders.
  5705  type ArrayOfObjectContent struct {
  5706  	ObjectContent []ObjectContent `xml:"ObjectContent,omitempty" json:"_value"`
  5707  }
  5708  
  5709  func init() {
  5710  	t["ArrayOfObjectContent"] = reflect.TypeOf((*ArrayOfObjectContent)(nil)).Elem()
  5711  }
  5712  
  5713  // A boxed array of `ObjectSpec`. To be used in `Any` placeholders.
  5714  type ArrayOfObjectSpec struct {
  5715  	ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty" json:"_value"`
  5716  }
  5717  
  5718  func init() {
  5719  	t["ArrayOfObjectSpec"] = reflect.TypeOf((*ArrayOfObjectSpec)(nil)).Elem()
  5720  }
  5721  
  5722  // A boxed array of `ObjectUpdate`. To be used in `Any` placeholders.
  5723  type ArrayOfObjectUpdate struct {
  5724  	ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty" json:"_value"`
  5725  }
  5726  
  5727  func init() {
  5728  	t["ArrayOfObjectUpdate"] = reflect.TypeOf((*ArrayOfObjectUpdate)(nil)).Elem()
  5729  }
  5730  
  5731  // A boxed array of `OpaqueNetworkTargetInfo`. To be used in `Any` placeholders.
  5732  type ArrayOfOpaqueNetworkTargetInfo struct {
  5733  	OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty" json:"_value"`
  5734  }
  5735  
  5736  func init() {
  5737  	t["ArrayOfOpaqueNetworkTargetInfo"] = reflect.TypeOf((*ArrayOfOpaqueNetworkTargetInfo)(nil)).Elem()
  5738  }
  5739  
  5740  // A boxed array of `OptionDef`. To be used in `Any` placeholders.
  5741  type ArrayOfOptionDef struct {
  5742  	OptionDef []OptionDef `xml:"OptionDef,omitempty" json:"_value"`
  5743  }
  5744  
  5745  func init() {
  5746  	t["ArrayOfOptionDef"] = reflect.TypeOf((*ArrayOfOptionDef)(nil)).Elem()
  5747  }
  5748  
  5749  // A boxed array of `OptionProfile`. To be used in `Any` placeholders.
  5750  type ArrayOfOptionProfile struct {
  5751  	OptionProfile []OptionProfile `xml:"OptionProfile,omitempty" json:"_value"`
  5752  }
  5753  
  5754  func init() {
  5755  	t["ArrayOfOptionProfile"] = reflect.TypeOf((*ArrayOfOptionProfile)(nil)).Elem()
  5756  }
  5757  
  5758  // A boxed array of `OptionValue`. To be used in `Any` placeholders.
  5759  type ArrayOfOptionValue struct {
  5760  	OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr" json:"_value"`
  5761  }
  5762  
  5763  func init() {
  5764  	t["ArrayOfOptionValue"] = reflect.TypeOf((*ArrayOfOptionValue)(nil)).Elem()
  5765  }
  5766  
  5767  // A boxed array of `OvfConsumerOstNode`. To be used in `Any` placeholders.
  5768  type ArrayOfOvfConsumerOstNode struct {
  5769  	OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty" json:"_value"`
  5770  }
  5771  
  5772  func init() {
  5773  	t["ArrayOfOvfConsumerOstNode"] = reflect.TypeOf((*ArrayOfOvfConsumerOstNode)(nil)).Elem()
  5774  }
  5775  
  5776  // A boxed array of `OvfConsumerOvfSection`. To be used in `Any` placeholders.
  5777  type ArrayOfOvfConsumerOvfSection struct {
  5778  	OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty" json:"_value"`
  5779  }
  5780  
  5781  func init() {
  5782  	t["ArrayOfOvfConsumerOvfSection"] = reflect.TypeOf((*ArrayOfOvfConsumerOvfSection)(nil)).Elem()
  5783  }
  5784  
  5785  // A boxed array of `OvfDeploymentOption`. To be used in `Any` placeholders.
  5786  type ArrayOfOvfDeploymentOption struct {
  5787  	OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty" json:"_value"`
  5788  }
  5789  
  5790  func init() {
  5791  	t["ArrayOfOvfDeploymentOption"] = reflect.TypeOf((*ArrayOfOvfDeploymentOption)(nil)).Elem()
  5792  }
  5793  
  5794  // A boxed array of `OvfFile`. To be used in `Any` placeholders.
  5795  type ArrayOfOvfFile struct {
  5796  	OvfFile []OvfFile `xml:"OvfFile,omitempty" json:"_value"`
  5797  }
  5798  
  5799  func init() {
  5800  	t["ArrayOfOvfFile"] = reflect.TypeOf((*ArrayOfOvfFile)(nil)).Elem()
  5801  }
  5802  
  5803  // A boxed array of `OvfFileItem`. To be used in `Any` placeholders.
  5804  type ArrayOfOvfFileItem struct {
  5805  	OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty" json:"_value"`
  5806  }
  5807  
  5808  func init() {
  5809  	t["ArrayOfOvfFileItem"] = reflect.TypeOf((*ArrayOfOvfFileItem)(nil)).Elem()
  5810  }
  5811  
  5812  // A boxed array of `OvfNetworkInfo`. To be used in `Any` placeholders.
  5813  type ArrayOfOvfNetworkInfo struct {
  5814  	OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty" json:"_value"`
  5815  }
  5816  
  5817  func init() {
  5818  	t["ArrayOfOvfNetworkInfo"] = reflect.TypeOf((*ArrayOfOvfNetworkInfo)(nil)).Elem()
  5819  }
  5820  
  5821  // A boxed array of `OvfNetworkMapping`. To be used in `Any` placeholders.
  5822  type ArrayOfOvfNetworkMapping struct {
  5823  	OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty" json:"_value"`
  5824  }
  5825  
  5826  func init() {
  5827  	t["ArrayOfOvfNetworkMapping"] = reflect.TypeOf((*ArrayOfOvfNetworkMapping)(nil)).Elem()
  5828  }
  5829  
  5830  // A boxed array of `OvfOptionInfo`. To be used in `Any` placeholders.
  5831  type ArrayOfOvfOptionInfo struct {
  5832  	OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty" json:"_value"`
  5833  }
  5834  
  5835  func init() {
  5836  	t["ArrayOfOvfOptionInfo"] = reflect.TypeOf((*ArrayOfOvfOptionInfo)(nil)).Elem()
  5837  }
  5838  
  5839  // A boxed array of `OvfResourceMap`. To be used in `Any` placeholders.
  5840  type ArrayOfOvfResourceMap struct {
  5841  	OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty" json:"_value"`
  5842  }
  5843  
  5844  func init() {
  5845  	t["ArrayOfOvfResourceMap"] = reflect.TypeOf((*ArrayOfOvfResourceMap)(nil)).Elem()
  5846  }
  5847  
  5848  // A boxed array of `PerfCounterInfo`. To be used in `Any` placeholders.
  5849  type ArrayOfPerfCounterInfo struct {
  5850  	PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty" json:"_value"`
  5851  }
  5852  
  5853  func init() {
  5854  	t["ArrayOfPerfCounterInfo"] = reflect.TypeOf((*ArrayOfPerfCounterInfo)(nil)).Elem()
  5855  }
  5856  
  5857  // A boxed array of `PerfEntityMetricBase`. To be used in `Any` placeholders.
  5858  type ArrayOfPerfEntityMetricBase struct {
  5859  	PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr" json:"_value"`
  5860  }
  5861  
  5862  func init() {
  5863  	t["ArrayOfPerfEntityMetricBase"] = reflect.TypeOf((*ArrayOfPerfEntityMetricBase)(nil)).Elem()
  5864  }
  5865  
  5866  // A boxed array of `PerfInterval`. To be used in `Any` placeholders.
  5867  type ArrayOfPerfInterval struct {
  5868  	PerfInterval []PerfInterval `xml:"PerfInterval,omitempty" json:"_value"`
  5869  }
  5870  
  5871  func init() {
  5872  	t["ArrayOfPerfInterval"] = reflect.TypeOf((*ArrayOfPerfInterval)(nil)).Elem()
  5873  }
  5874  
  5875  // A boxed array of `PerfMetricId`. To be used in `Any` placeholders.
  5876  type ArrayOfPerfMetricId struct {
  5877  	PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty" json:"_value"`
  5878  }
  5879  
  5880  func init() {
  5881  	t["ArrayOfPerfMetricId"] = reflect.TypeOf((*ArrayOfPerfMetricId)(nil)).Elem()
  5882  }
  5883  
  5884  // A boxed array of `PerfMetricSeries`. To be used in `Any` placeholders.
  5885  type ArrayOfPerfMetricSeries struct {
  5886  	PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr" json:"_value"`
  5887  }
  5888  
  5889  func init() {
  5890  	t["ArrayOfPerfMetricSeries"] = reflect.TypeOf((*ArrayOfPerfMetricSeries)(nil)).Elem()
  5891  }
  5892  
  5893  // A boxed array of `PerfMetricSeriesCSV`. To be used in `Any` placeholders.
  5894  type ArrayOfPerfMetricSeriesCSV struct {
  5895  	PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty" json:"_value"`
  5896  }
  5897  
  5898  func init() {
  5899  	t["ArrayOfPerfMetricSeriesCSV"] = reflect.TypeOf((*ArrayOfPerfMetricSeriesCSV)(nil)).Elem()
  5900  }
  5901  
  5902  // A boxed array of `PerfQuerySpec`. To be used in `Any` placeholders.
  5903  type ArrayOfPerfQuerySpec struct {
  5904  	PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty" json:"_value"`
  5905  }
  5906  
  5907  func init() {
  5908  	t["ArrayOfPerfQuerySpec"] = reflect.TypeOf((*ArrayOfPerfQuerySpec)(nil)).Elem()
  5909  }
  5910  
  5911  // A boxed array of `PerfSampleInfo`. To be used in `Any` placeholders.
  5912  type ArrayOfPerfSampleInfo struct {
  5913  	PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty" json:"_value"`
  5914  }
  5915  
  5916  func init() {
  5917  	t["ArrayOfPerfSampleInfo"] = reflect.TypeOf((*ArrayOfPerfSampleInfo)(nil)).Elem()
  5918  }
  5919  
  5920  // A boxed array of `PerformanceManagerCounterLevelMapping`. To be used in `Any` placeholders.
  5921  type ArrayOfPerformanceManagerCounterLevelMapping struct {
  5922  	PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty" json:"_value"`
  5923  }
  5924  
  5925  func init() {
  5926  	t["ArrayOfPerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*ArrayOfPerformanceManagerCounterLevelMapping)(nil)).Elem()
  5927  }
  5928  
  5929  // A boxed array of `Permission`. To be used in `Any` placeholders.
  5930  type ArrayOfPermission struct {
  5931  	Permission []Permission `xml:"Permission,omitempty" json:"_value"`
  5932  }
  5933  
  5934  func init() {
  5935  	t["ArrayOfPermission"] = reflect.TypeOf((*ArrayOfPermission)(nil)).Elem()
  5936  }
  5937  
  5938  // A boxed array of `PermissionProfile`. To be used in `Any` placeholders.
  5939  type ArrayOfPermissionProfile struct {
  5940  	PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty" json:"_value"`
  5941  }
  5942  
  5943  func init() {
  5944  	t["ArrayOfPermissionProfile"] = reflect.TypeOf((*ArrayOfPermissionProfile)(nil)).Elem()
  5945  }
  5946  
  5947  // A boxed array of `PhysicalNic`. To be used in `Any` placeholders.
  5948  type ArrayOfPhysicalNic struct {
  5949  	PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty" json:"_value"`
  5950  }
  5951  
  5952  func init() {
  5953  	t["ArrayOfPhysicalNic"] = reflect.TypeOf((*ArrayOfPhysicalNic)(nil)).Elem()
  5954  }
  5955  
  5956  // A boxed array of `PhysicalNicConfig`. To be used in `Any` placeholders.
  5957  type ArrayOfPhysicalNicConfig struct {
  5958  	PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty" json:"_value"`
  5959  }
  5960  
  5961  func init() {
  5962  	t["ArrayOfPhysicalNicConfig"] = reflect.TypeOf((*ArrayOfPhysicalNicConfig)(nil)).Elem()
  5963  }
  5964  
  5965  // A boxed array of `PhysicalNicHintInfo`. To be used in `Any` placeholders.
  5966  type ArrayOfPhysicalNicHintInfo struct {
  5967  	PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty" json:"_value"`
  5968  }
  5969  
  5970  func init() {
  5971  	t["ArrayOfPhysicalNicHintInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicHintInfo)(nil)).Elem()
  5972  }
  5973  
  5974  // A boxed array of `PhysicalNicIpHint`. To be used in `Any` placeholders.
  5975  type ArrayOfPhysicalNicIpHint struct {
  5976  	PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty" json:"_value"`
  5977  }
  5978  
  5979  func init() {
  5980  	t["ArrayOfPhysicalNicIpHint"] = reflect.TypeOf((*ArrayOfPhysicalNicIpHint)(nil)).Elem()
  5981  }
  5982  
  5983  // A boxed array of `PhysicalNicLinkInfo`. To be used in `Any` placeholders.
  5984  type ArrayOfPhysicalNicLinkInfo struct {
  5985  	PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty" json:"_value"`
  5986  }
  5987  
  5988  func init() {
  5989  	t["ArrayOfPhysicalNicLinkInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicLinkInfo)(nil)).Elem()
  5990  }
  5991  
  5992  // A boxed array of `PhysicalNicNameHint`. To be used in `Any` placeholders.
  5993  type ArrayOfPhysicalNicNameHint struct {
  5994  	PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty" json:"_value"`
  5995  }
  5996  
  5997  func init() {
  5998  	t["ArrayOfPhysicalNicNameHint"] = reflect.TypeOf((*ArrayOfPhysicalNicNameHint)(nil)).Elem()
  5999  }
  6000  
  6001  // A boxed array of `PhysicalNicProfile`. To be used in `Any` placeholders.
  6002  type ArrayOfPhysicalNicProfile struct {
  6003  	PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty" json:"_value"`
  6004  }
  6005  
  6006  func init() {
  6007  	t["ArrayOfPhysicalNicProfile"] = reflect.TypeOf((*ArrayOfPhysicalNicProfile)(nil)).Elem()
  6008  }
  6009  
  6010  // A boxed array of `PlacementAffinityRule`. To be used in `Any` placeholders.
  6011  type ArrayOfPlacementAffinityRule struct {
  6012  	PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty" json:"_value"`
  6013  }
  6014  
  6015  func init() {
  6016  	t["ArrayOfPlacementAffinityRule"] = reflect.TypeOf((*ArrayOfPlacementAffinityRule)(nil)).Elem()
  6017  }
  6018  
  6019  // A boxed array of `PlacementSpec`. To be used in `Any` placeholders.
  6020  type ArrayOfPlacementSpec struct {
  6021  	PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty" json:"_value"`
  6022  }
  6023  
  6024  func init() {
  6025  	t["ArrayOfPlacementSpec"] = reflect.TypeOf((*ArrayOfPlacementSpec)(nil)).Elem()
  6026  }
  6027  
  6028  // A boxed array of `PnicUplinkProfile`. To be used in `Any` placeholders.
  6029  type ArrayOfPnicUplinkProfile struct {
  6030  	PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty" json:"_value"`
  6031  }
  6032  
  6033  func init() {
  6034  	t["ArrayOfPnicUplinkProfile"] = reflect.TypeOf((*ArrayOfPnicUplinkProfile)(nil)).Elem()
  6035  }
  6036  
  6037  // A boxed array of `PodDiskLocator`. To be used in `Any` placeholders.
  6038  type ArrayOfPodDiskLocator struct {
  6039  	PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty" json:"_value"`
  6040  }
  6041  
  6042  func init() {
  6043  	t["ArrayOfPodDiskLocator"] = reflect.TypeOf((*ArrayOfPodDiskLocator)(nil)).Elem()
  6044  }
  6045  
  6046  // A boxed array of `PolicyOption`. To be used in `Any` placeholders.
  6047  type ArrayOfPolicyOption struct {
  6048  	PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr" json:"_value"`
  6049  }
  6050  
  6051  func init() {
  6052  	t["ArrayOfPolicyOption"] = reflect.TypeOf((*ArrayOfPolicyOption)(nil)).Elem()
  6053  }
  6054  
  6055  // A boxed array of `PrivilegeAvailability`. To be used in `Any` placeholders.
  6056  type ArrayOfPrivilegeAvailability struct {
  6057  	PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty" json:"_value"`
  6058  }
  6059  
  6060  func init() {
  6061  	t["ArrayOfPrivilegeAvailability"] = reflect.TypeOf((*ArrayOfPrivilegeAvailability)(nil)).Elem()
  6062  }
  6063  
  6064  // A boxed array of `ProductComponentInfo`. To be used in `Any` placeholders.
  6065  type ArrayOfProductComponentInfo struct {
  6066  	ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty" json:"_value"`
  6067  }
  6068  
  6069  func init() {
  6070  	t["ArrayOfProductComponentInfo"] = reflect.TypeOf((*ArrayOfProductComponentInfo)(nil)).Elem()
  6071  }
  6072  
  6073  // A boxed array of `ProfileApplyProfileProperty`. To be used in `Any` placeholders.
  6074  type ArrayOfProfileApplyProfileProperty struct {
  6075  	ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty" json:"_value"`
  6076  }
  6077  
  6078  func init() {
  6079  	t["ArrayOfProfileApplyProfileProperty"] = reflect.TypeOf((*ArrayOfProfileApplyProfileProperty)(nil)).Elem()
  6080  }
  6081  
  6082  // A boxed array of `ProfileDeferredPolicyOptionParameter`. To be used in `Any` placeholders.
  6083  type ArrayOfProfileDeferredPolicyOptionParameter struct {
  6084  	ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty" json:"_value"`
  6085  }
  6086  
  6087  func init() {
  6088  	t["ArrayOfProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ArrayOfProfileDeferredPolicyOptionParameter)(nil)).Elem()
  6089  }
  6090  
  6091  // A boxed array of `ProfileDescriptionSection`. To be used in `Any` placeholders.
  6092  type ArrayOfProfileDescriptionSection struct {
  6093  	ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty" json:"_value"`
  6094  }
  6095  
  6096  func init() {
  6097  	t["ArrayOfProfileDescriptionSection"] = reflect.TypeOf((*ArrayOfProfileDescriptionSection)(nil)).Elem()
  6098  }
  6099  
  6100  // A boxed array of `ProfileExecuteError`. To be used in `Any` placeholders.
  6101  type ArrayOfProfileExecuteError struct {
  6102  	ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty" json:"_value"`
  6103  }
  6104  
  6105  func init() {
  6106  	t["ArrayOfProfileExecuteError"] = reflect.TypeOf((*ArrayOfProfileExecuteError)(nil)).Elem()
  6107  }
  6108  
  6109  // A boxed array of `ProfileExpression`. To be used in `Any` placeholders.
  6110  type ArrayOfProfileExpression struct {
  6111  	ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr" json:"_value"`
  6112  }
  6113  
  6114  func init() {
  6115  	t["ArrayOfProfileExpression"] = reflect.TypeOf((*ArrayOfProfileExpression)(nil)).Elem()
  6116  }
  6117  
  6118  // A boxed array of `ProfileExpressionMetadata`. To be used in `Any` placeholders.
  6119  type ArrayOfProfileExpressionMetadata struct {
  6120  	ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty" json:"_value"`
  6121  }
  6122  
  6123  func init() {
  6124  	t["ArrayOfProfileExpressionMetadata"] = reflect.TypeOf((*ArrayOfProfileExpressionMetadata)(nil)).Elem()
  6125  }
  6126  
  6127  // A boxed array of `ProfileMetadata`. To be used in `Any` placeholders.
  6128  type ArrayOfProfileMetadata struct {
  6129  	ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty" json:"_value"`
  6130  }
  6131  
  6132  func init() {
  6133  	t["ArrayOfProfileMetadata"] = reflect.TypeOf((*ArrayOfProfileMetadata)(nil)).Elem()
  6134  }
  6135  
  6136  // A boxed array of `ProfileMetadataProfileOperationMessage`. To be used in `Any` placeholders.
  6137  type ArrayOfProfileMetadataProfileOperationMessage struct {
  6138  	ProfileMetadataProfileOperationMessage []ProfileMetadataProfileOperationMessage `xml:"ProfileMetadataProfileOperationMessage,omitempty" json:"_value"`
  6139  }
  6140  
  6141  func init() {
  6142  	t["ArrayOfProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileOperationMessage)(nil)).Elem()
  6143  }
  6144  
  6145  // A boxed array of `ProfileMetadataProfileSortSpec`. To be used in `Any` placeholders.
  6146  type ArrayOfProfileMetadataProfileSortSpec struct {
  6147  	ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty" json:"_value"`
  6148  }
  6149  
  6150  func init() {
  6151  	t["ArrayOfProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileSortSpec)(nil)).Elem()
  6152  }
  6153  
  6154  // A boxed array of `ProfileParameterMetadata`. To be used in `Any` placeholders.
  6155  type ArrayOfProfileParameterMetadata struct {
  6156  	ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty" json:"_value"`
  6157  }
  6158  
  6159  func init() {
  6160  	t["ArrayOfProfileParameterMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadata)(nil)).Elem()
  6161  }
  6162  
  6163  // A boxed array of `ProfileParameterMetadataParameterRelationMetadata`. To be used in `Any` placeholders.
  6164  type ArrayOfProfileParameterMetadataParameterRelationMetadata struct {
  6165  	ProfileParameterMetadataParameterRelationMetadata []ProfileParameterMetadataParameterRelationMetadata `xml:"ProfileParameterMetadataParameterRelationMetadata,omitempty" json:"_value"`
  6166  }
  6167  
  6168  func init() {
  6169  	t["ArrayOfProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
  6170  }
  6171  
  6172  // A boxed array of `ProfilePolicy`. To be used in `Any` placeholders.
  6173  type ArrayOfProfilePolicy struct {
  6174  	ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty" json:"_value"`
  6175  }
  6176  
  6177  func init() {
  6178  	t["ArrayOfProfilePolicy"] = reflect.TypeOf((*ArrayOfProfilePolicy)(nil)).Elem()
  6179  }
  6180  
  6181  // A boxed array of `ProfilePolicyMetadata`. To be used in `Any` placeholders.
  6182  type ArrayOfProfilePolicyMetadata struct {
  6183  	ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty" json:"_value"`
  6184  }
  6185  
  6186  func init() {
  6187  	t["ArrayOfProfilePolicyMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyMetadata)(nil)).Elem()
  6188  }
  6189  
  6190  // A boxed array of `ProfilePolicyOptionMetadata`. To be used in `Any` placeholders.
  6191  type ArrayOfProfilePolicyOptionMetadata struct {
  6192  	ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr" json:"_value"`
  6193  }
  6194  
  6195  func init() {
  6196  	t["ArrayOfProfilePolicyOptionMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyOptionMetadata)(nil)).Elem()
  6197  }
  6198  
  6199  // A boxed array of `ProfileProfileStructureProperty`. To be used in `Any` placeholders.
  6200  type ArrayOfProfileProfileStructureProperty struct {
  6201  	ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty" json:"_value"`
  6202  }
  6203  
  6204  func init() {
  6205  	t["ArrayOfProfileProfileStructureProperty"] = reflect.TypeOf((*ArrayOfProfileProfileStructureProperty)(nil)).Elem()
  6206  }
  6207  
  6208  // A boxed array of `ProfilePropertyPath`. To be used in `Any` placeholders.
  6209  type ArrayOfProfilePropertyPath struct {
  6210  	ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty" json:"_value"`
  6211  }
  6212  
  6213  func init() {
  6214  	t["ArrayOfProfilePropertyPath"] = reflect.TypeOf((*ArrayOfProfilePropertyPath)(nil)).Elem()
  6215  }
  6216  
  6217  // A boxed array of `ProfileUpdateFailedUpdateFailure`. To be used in `Any` placeholders.
  6218  type ArrayOfProfileUpdateFailedUpdateFailure struct {
  6219  	ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty" json:"_value"`
  6220  }
  6221  
  6222  func init() {
  6223  	t["ArrayOfProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ArrayOfProfileUpdateFailedUpdateFailure)(nil)).Elem()
  6224  }
  6225  
  6226  // A boxed array of `PropertyChange`. To be used in `Any` placeholders.
  6227  type ArrayOfPropertyChange struct {
  6228  	PropertyChange []PropertyChange `xml:"PropertyChange,omitempty" json:"_value"`
  6229  }
  6230  
  6231  func init() {
  6232  	t["ArrayOfPropertyChange"] = reflect.TypeOf((*ArrayOfPropertyChange)(nil)).Elem()
  6233  }
  6234  
  6235  // A boxed array of `PropertyFilterSpec`. To be used in `Any` placeholders.
  6236  type ArrayOfPropertyFilterSpec struct {
  6237  	PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty" json:"_value"`
  6238  }
  6239  
  6240  func init() {
  6241  	t["ArrayOfPropertyFilterSpec"] = reflect.TypeOf((*ArrayOfPropertyFilterSpec)(nil)).Elem()
  6242  }
  6243  
  6244  // A boxed array of `PropertyFilterUpdate`. To be used in `Any` placeholders.
  6245  type ArrayOfPropertyFilterUpdate struct {
  6246  	PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty" json:"_value"`
  6247  }
  6248  
  6249  func init() {
  6250  	t["ArrayOfPropertyFilterUpdate"] = reflect.TypeOf((*ArrayOfPropertyFilterUpdate)(nil)).Elem()
  6251  }
  6252  
  6253  // A boxed array of `PropertySpec`. To be used in `Any` placeholders.
  6254  type ArrayOfPropertySpec struct {
  6255  	PropertySpec []PropertySpec `xml:"PropertySpec,omitempty" json:"_value"`
  6256  }
  6257  
  6258  func init() {
  6259  	t["ArrayOfPropertySpec"] = reflect.TypeOf((*ArrayOfPropertySpec)(nil)).Elem()
  6260  }
  6261  
  6262  // A boxed array of `Relation`. To be used in `Any` placeholders.
  6263  type ArrayOfRelation struct {
  6264  	Relation []Relation `xml:"Relation,omitempty" json:"_value"`
  6265  }
  6266  
  6267  func init() {
  6268  	t["ArrayOfRelation"] = reflect.TypeOf((*ArrayOfRelation)(nil)).Elem()
  6269  }
  6270  
  6271  // A boxed array of `ReplicationInfoDiskSettings`. To be used in `Any` placeholders.
  6272  type ArrayOfReplicationInfoDiskSettings struct {
  6273  	ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty" json:"_value"`
  6274  }
  6275  
  6276  func init() {
  6277  	t["ArrayOfReplicationInfoDiskSettings"] = reflect.TypeOf((*ArrayOfReplicationInfoDiskSettings)(nil)).Elem()
  6278  }
  6279  
  6280  // A boxed array of `ResourceConfigSpec`. To be used in `Any` placeholders.
  6281  type ArrayOfResourceConfigSpec struct {
  6282  	ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty" json:"_value"`
  6283  }
  6284  
  6285  func init() {
  6286  	t["ArrayOfResourceConfigSpec"] = reflect.TypeOf((*ArrayOfResourceConfigSpec)(nil)).Elem()
  6287  }
  6288  
  6289  // A boxed array of `RetrieveVStorageObjSpec`. To be used in `Any` placeholders.
  6290  type ArrayOfRetrieveVStorageObjSpec struct {
  6291  	RetrieveVStorageObjSpec []RetrieveVStorageObjSpec `xml:"RetrieveVStorageObjSpec,omitempty" json:"_value"`
  6292  }
  6293  
  6294  func init() {
  6295  	t["ArrayOfRetrieveVStorageObjSpec"] = reflect.TypeOf((*ArrayOfRetrieveVStorageObjSpec)(nil)).Elem()
  6296  }
  6297  
  6298  // A boxed array of `ScheduledTaskDetail`. To be used in `Any` placeholders.
  6299  type ArrayOfScheduledTaskDetail struct {
  6300  	ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty" json:"_value"`
  6301  }
  6302  
  6303  func init() {
  6304  	t["ArrayOfScheduledTaskDetail"] = reflect.TypeOf((*ArrayOfScheduledTaskDetail)(nil)).Elem()
  6305  }
  6306  
  6307  // A boxed array of `ScsiLun`. To be used in `Any` placeholders.
  6308  type ArrayOfScsiLun struct {
  6309  	ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr" json:"_value"`
  6310  }
  6311  
  6312  func init() {
  6313  	t["ArrayOfScsiLun"] = reflect.TypeOf((*ArrayOfScsiLun)(nil)).Elem()
  6314  }
  6315  
  6316  // A boxed array of `ScsiLunDescriptor`. To be used in `Any` placeholders.
  6317  type ArrayOfScsiLunDescriptor struct {
  6318  	ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty" json:"_value"`
  6319  }
  6320  
  6321  func init() {
  6322  	t["ArrayOfScsiLunDescriptor"] = reflect.TypeOf((*ArrayOfScsiLunDescriptor)(nil)).Elem()
  6323  }
  6324  
  6325  // A boxed array of `ScsiLunDurableName`. To be used in `Any` placeholders.
  6326  type ArrayOfScsiLunDurableName struct {
  6327  	ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty" json:"_value"`
  6328  }
  6329  
  6330  func init() {
  6331  	t["ArrayOfScsiLunDurableName"] = reflect.TypeOf((*ArrayOfScsiLunDurableName)(nil)).Elem()
  6332  }
  6333  
  6334  // A boxed array of `SelectionSet`. To be used in `Any` placeholders.
  6335  type ArrayOfSelectionSet struct {
  6336  	SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr" json:"_value"`
  6337  }
  6338  
  6339  func init() {
  6340  	t["ArrayOfSelectionSet"] = reflect.TypeOf((*ArrayOfSelectionSet)(nil)).Elem()
  6341  }
  6342  
  6343  // A boxed array of `SelectionSpec`. To be used in `Any` placeholders.
  6344  type ArrayOfSelectionSpec struct {
  6345  	SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr" json:"_value"`
  6346  }
  6347  
  6348  func init() {
  6349  	t["ArrayOfSelectionSpec"] = reflect.TypeOf((*ArrayOfSelectionSpec)(nil)).Elem()
  6350  }
  6351  
  6352  // A boxed array of `ServiceConsolePortGroupProfile`. To be used in `Any` placeholders.
  6353  type ArrayOfServiceConsolePortGroupProfile struct {
  6354  	ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty" json:"_value"`
  6355  }
  6356  
  6357  func init() {
  6358  	t["ArrayOfServiceConsolePortGroupProfile"] = reflect.TypeOf((*ArrayOfServiceConsolePortGroupProfile)(nil)).Elem()
  6359  }
  6360  
  6361  // A boxed array of `ServiceLocator`. To be used in `Any` placeholders.
  6362  type ArrayOfServiceLocator struct {
  6363  	ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty" json:"_value"`
  6364  }
  6365  
  6366  func init() {
  6367  	t["ArrayOfServiceLocator"] = reflect.TypeOf((*ArrayOfServiceLocator)(nil)).Elem()
  6368  }
  6369  
  6370  // A boxed array of `ServiceManagerServiceInfo`. To be used in `Any` placeholders.
  6371  type ArrayOfServiceManagerServiceInfo struct {
  6372  	ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty" json:"_value"`
  6373  }
  6374  
  6375  func init() {
  6376  	t["ArrayOfServiceManagerServiceInfo"] = reflect.TypeOf((*ArrayOfServiceManagerServiceInfo)(nil)).Elem()
  6377  }
  6378  
  6379  // A boxed array of `ServiceProfile`. To be used in `Any` placeholders.
  6380  type ArrayOfServiceProfile struct {
  6381  	ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty" json:"_value"`
  6382  }
  6383  
  6384  func init() {
  6385  	t["ArrayOfServiceProfile"] = reflect.TypeOf((*ArrayOfServiceProfile)(nil)).Elem()
  6386  }
  6387  
  6388  // A boxed array of `PrimitiveShort`. To be used in `Any` placeholders.
  6389  type ArrayOfShort struct {
  6390  	Short []int16 `xml:"short,omitempty" json:"_value"`
  6391  }
  6392  
  6393  func init() {
  6394  	t["ArrayOfShort"] = reflect.TypeOf((*ArrayOfShort)(nil)).Elem()
  6395  }
  6396  
  6397  // A boxed array of `SoftwarePackage`. To be used in `Any` placeholders.
  6398  type ArrayOfSoftwarePackage struct {
  6399  	SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty" json:"_value"`
  6400  }
  6401  
  6402  func init() {
  6403  	t["ArrayOfSoftwarePackage"] = reflect.TypeOf((*ArrayOfSoftwarePackage)(nil)).Elem()
  6404  }
  6405  
  6406  // A boxed array of `StaticRouteProfile`. To be used in `Any` placeholders.
  6407  type ArrayOfStaticRouteProfile struct {
  6408  	StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty" json:"_value"`
  6409  }
  6410  
  6411  func init() {
  6412  	t["ArrayOfStaticRouteProfile"] = reflect.TypeOf((*ArrayOfStaticRouteProfile)(nil)).Elem()
  6413  }
  6414  
  6415  // A boxed array of `StorageDrsOptionSpec`. To be used in `Any` placeholders.
  6416  type ArrayOfStorageDrsOptionSpec struct {
  6417  	StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty" json:"_value"`
  6418  }
  6419  
  6420  func init() {
  6421  	t["ArrayOfStorageDrsOptionSpec"] = reflect.TypeOf((*ArrayOfStorageDrsOptionSpec)(nil)).Elem()
  6422  }
  6423  
  6424  // A boxed array of `StorageDrsPlacementRankVmSpec`. To be used in `Any` placeholders.
  6425  type ArrayOfStorageDrsPlacementRankVmSpec struct {
  6426  	StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty" json:"_value"`
  6427  }
  6428  
  6429  func init() {
  6430  	t["ArrayOfStorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*ArrayOfStorageDrsPlacementRankVmSpec)(nil)).Elem()
  6431  }
  6432  
  6433  // A boxed array of `StorageDrsVmConfigInfo`. To be used in `Any` placeholders.
  6434  type ArrayOfStorageDrsVmConfigInfo struct {
  6435  	StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty" json:"_value"`
  6436  }
  6437  
  6438  func init() {
  6439  	t["ArrayOfStorageDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigInfo)(nil)).Elem()
  6440  }
  6441  
  6442  // A boxed array of `StorageDrsVmConfigSpec`. To be used in `Any` placeholders.
  6443  type ArrayOfStorageDrsVmConfigSpec struct {
  6444  	StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty" json:"_value"`
  6445  }
  6446  
  6447  func init() {
  6448  	t["ArrayOfStorageDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigSpec)(nil)).Elem()
  6449  }
  6450  
  6451  // A boxed array of `StoragePerformanceSummary`. To be used in `Any` placeholders.
  6452  type ArrayOfStoragePerformanceSummary struct {
  6453  	StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty" json:"_value"`
  6454  }
  6455  
  6456  func init() {
  6457  	t["ArrayOfStoragePerformanceSummary"] = reflect.TypeOf((*ArrayOfStoragePerformanceSummary)(nil)).Elem()
  6458  }
  6459  
  6460  // A boxed array of `StorageRequirement`. To be used in `Any` placeholders.
  6461  type ArrayOfStorageRequirement struct {
  6462  	StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty" json:"_value"`
  6463  }
  6464  
  6465  func init() {
  6466  	t["ArrayOfStorageRequirement"] = reflect.TypeOf((*ArrayOfStorageRequirement)(nil)).Elem()
  6467  }
  6468  
  6469  // A boxed array of `PrimitiveString`. To be used in `Any` placeholders.
  6470  type ArrayOfString struct {
  6471  	String []string `xml:"string,omitempty" json:"_value"`
  6472  }
  6473  
  6474  func init() {
  6475  	t["ArrayOfString"] = reflect.TypeOf((*ArrayOfString)(nil)).Elem()
  6476  }
  6477  
  6478  // A boxed array of `StructuredCustomizations`. To be used in `Any` placeholders.
  6479  type ArrayOfStructuredCustomizations struct {
  6480  	StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty" json:"_value"`
  6481  }
  6482  
  6483  func init() {
  6484  	t["ArrayOfStructuredCustomizations"] = reflect.TypeOf((*ArrayOfStructuredCustomizations)(nil)).Elem()
  6485  }
  6486  
  6487  // A boxed array of `SystemEventInfo`. To be used in `Any` placeholders.
  6488  type ArrayOfSystemEventInfo struct {
  6489  	SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty" json:"_value"`
  6490  }
  6491  
  6492  func init() {
  6493  	t["ArrayOfSystemEventInfo"] = reflect.TypeOf((*ArrayOfSystemEventInfo)(nil)).Elem()
  6494  }
  6495  
  6496  // A boxed array of `Tag`. To be used in `Any` placeholders.
  6497  type ArrayOfTag struct {
  6498  	Tag []Tag `xml:"Tag,omitempty" json:"_value"`
  6499  }
  6500  
  6501  func init() {
  6502  	t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem()
  6503  }
  6504  
  6505  // A boxed array of `TaskInfo`. To be used in `Any` placeholders.
  6506  type ArrayOfTaskInfo struct {
  6507  	TaskInfo []TaskInfo `xml:"TaskInfo,omitempty" json:"_value"`
  6508  }
  6509  
  6510  func init() {
  6511  	t["ArrayOfTaskInfo"] = reflect.TypeOf((*ArrayOfTaskInfo)(nil)).Elem()
  6512  }
  6513  
  6514  // A boxed array of `TaskInfoState_enum`. To be used in `Any` placeholders.
  6515  type ArrayOfTaskInfoState struct {
  6516  	TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty" json:"_value"`
  6517  }
  6518  
  6519  func init() {
  6520  	t["ArrayOfTaskInfoState"] = reflect.TypeOf((*ArrayOfTaskInfoState)(nil)).Elem()
  6521  }
  6522  
  6523  // A boxed array of `TypeDescription`. To be used in `Any` placeholders.
  6524  type ArrayOfTypeDescription struct {
  6525  	TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr" json:"_value"`
  6526  }
  6527  
  6528  func init() {
  6529  	t["ArrayOfTypeDescription"] = reflect.TypeOf((*ArrayOfTypeDescription)(nil)).Elem()
  6530  }
  6531  
  6532  // A boxed array of `UpdateVirtualMachineFilesResultFailedVmFileInfo`. To be used in `Any` placeholders.
  6533  type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct {
  6534  	UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty" json:"_value"`
  6535  }
  6536  
  6537  func init() {
  6538  	t["ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
  6539  }
  6540  
  6541  type ArrayOfUri struct {
  6542  	Uri []string `xml:"uri,omitempty" json:"_value"`
  6543  }
  6544  
  6545  func init() {
  6546  	t["ArrayOfUri"] = reflect.TypeOf((*ArrayOfUri)(nil)).Elem()
  6547  }
  6548  
  6549  // A boxed array of `UsbScanCodeSpecKeyEvent`. To be used in `Any` placeholders.
  6550  type ArrayOfUsbScanCodeSpecKeyEvent struct {
  6551  	UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty" json:"_value"`
  6552  }
  6553  
  6554  func init() {
  6555  	t["ArrayOfUsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*ArrayOfUsbScanCodeSpecKeyEvent)(nil)).Elem()
  6556  }
  6557  
  6558  // A boxed array of `UserGroupProfile`. To be used in `Any` placeholders.
  6559  type ArrayOfUserGroupProfile struct {
  6560  	UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty" json:"_value"`
  6561  }
  6562  
  6563  func init() {
  6564  	t["ArrayOfUserGroupProfile"] = reflect.TypeOf((*ArrayOfUserGroupProfile)(nil)).Elem()
  6565  }
  6566  
  6567  // A boxed array of `UserPrivilegeResult`. To be used in `Any` placeholders.
  6568  type ArrayOfUserPrivilegeResult struct {
  6569  	UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty" json:"_value"`
  6570  }
  6571  
  6572  func init() {
  6573  	t["ArrayOfUserPrivilegeResult"] = reflect.TypeOf((*ArrayOfUserPrivilegeResult)(nil)).Elem()
  6574  }
  6575  
  6576  // A boxed array of `UserProfile`. To be used in `Any` placeholders.
  6577  type ArrayOfUserProfile struct {
  6578  	UserProfile []UserProfile `xml:"UserProfile,omitempty" json:"_value"`
  6579  }
  6580  
  6581  func init() {
  6582  	t["ArrayOfUserProfile"] = reflect.TypeOf((*ArrayOfUserProfile)(nil)).Elem()
  6583  }
  6584  
  6585  // A boxed array of `UserSearchResult`. To be used in `Any` placeholders.
  6586  type ArrayOfUserSearchResult struct {
  6587  	UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr" json:"_value"`
  6588  }
  6589  
  6590  func init() {
  6591  	t["ArrayOfUserSearchResult"] = reflect.TypeOf((*ArrayOfUserSearchResult)(nil)).Elem()
  6592  }
  6593  
  6594  // A boxed array of `UserSession`. To be used in `Any` placeholders.
  6595  type ArrayOfUserSession struct {
  6596  	UserSession []UserSession `xml:"UserSession,omitempty" json:"_value"`
  6597  }
  6598  
  6599  func init() {
  6600  	t["ArrayOfUserSession"] = reflect.TypeOf((*ArrayOfUserSession)(nil)).Elem()
  6601  }
  6602  
  6603  // A boxed array of `VASAStorageArray`. To be used in `Any` placeholders.
  6604  type ArrayOfVASAStorageArray struct {
  6605  	VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty" json:"_value"`
  6606  }
  6607  
  6608  func init() {
  6609  	t["ArrayOfVASAStorageArray"] = reflect.TypeOf((*ArrayOfVASAStorageArray)(nil)).Elem()
  6610  }
  6611  
  6612  // A boxed array of `VASAStorageArrayDiscoverySvcInfo`. To be used in `Any` placeholders.
  6613  type ArrayOfVASAStorageArrayDiscoverySvcInfo struct {
  6614  	VASAStorageArrayDiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"VASAStorageArrayDiscoverySvcInfo,omitempty" json:"_value"`
  6615  }
  6616  
  6617  func init() {
  6618  	t["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*ArrayOfVASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
  6619  	minAPIVersionForType["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = "8.0.0.0"
  6620  }
  6621  
  6622  // A boxed array of `VAppCloneSpecNetworkMappingPair`. To be used in `Any` placeholders.
  6623  type ArrayOfVAppCloneSpecNetworkMappingPair struct {
  6624  	VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty" json:"_value"`
  6625  }
  6626  
  6627  func init() {
  6628  	t["ArrayOfVAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*ArrayOfVAppCloneSpecNetworkMappingPair)(nil)).Elem()
  6629  }
  6630  
  6631  // A boxed array of `VAppCloneSpecResourceMap`. To be used in `Any` placeholders.
  6632  type ArrayOfVAppCloneSpecResourceMap struct {
  6633  	VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty" json:"_value"`
  6634  }
  6635  
  6636  func init() {
  6637  	t["ArrayOfVAppCloneSpecResourceMap"] = reflect.TypeOf((*ArrayOfVAppCloneSpecResourceMap)(nil)).Elem()
  6638  }
  6639  
  6640  // A boxed array of `VAppEntityConfigInfo`. To be used in `Any` placeholders.
  6641  type ArrayOfVAppEntityConfigInfo struct {
  6642  	VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty" json:"_value"`
  6643  }
  6644  
  6645  func init() {
  6646  	t["ArrayOfVAppEntityConfigInfo"] = reflect.TypeOf((*ArrayOfVAppEntityConfigInfo)(nil)).Elem()
  6647  }
  6648  
  6649  // A boxed array of `VAppOvfSectionInfo`. To be used in `Any` placeholders.
  6650  type ArrayOfVAppOvfSectionInfo struct {
  6651  	VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty" json:"_value"`
  6652  }
  6653  
  6654  func init() {
  6655  	t["ArrayOfVAppOvfSectionInfo"] = reflect.TypeOf((*ArrayOfVAppOvfSectionInfo)(nil)).Elem()
  6656  }
  6657  
  6658  // A boxed array of `VAppOvfSectionSpec`. To be used in `Any` placeholders.
  6659  type ArrayOfVAppOvfSectionSpec struct {
  6660  	VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty" json:"_value"`
  6661  }
  6662  
  6663  func init() {
  6664  	t["ArrayOfVAppOvfSectionSpec"] = reflect.TypeOf((*ArrayOfVAppOvfSectionSpec)(nil)).Elem()
  6665  }
  6666  
  6667  // A boxed array of `VAppProductInfo`. To be used in `Any` placeholders.
  6668  type ArrayOfVAppProductInfo struct {
  6669  	VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty" json:"_value"`
  6670  }
  6671  
  6672  func init() {
  6673  	t["ArrayOfVAppProductInfo"] = reflect.TypeOf((*ArrayOfVAppProductInfo)(nil)).Elem()
  6674  }
  6675  
  6676  // A boxed array of `VAppProductSpec`. To be used in `Any` placeholders.
  6677  type ArrayOfVAppProductSpec struct {
  6678  	VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty" json:"_value"`
  6679  }
  6680  
  6681  func init() {
  6682  	t["ArrayOfVAppProductSpec"] = reflect.TypeOf((*ArrayOfVAppProductSpec)(nil)).Elem()
  6683  }
  6684  
  6685  // A boxed array of `VAppPropertyInfo`. To be used in `Any` placeholders.
  6686  type ArrayOfVAppPropertyInfo struct {
  6687  	VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty" json:"_value"`
  6688  }
  6689  
  6690  func init() {
  6691  	t["ArrayOfVAppPropertyInfo"] = reflect.TypeOf((*ArrayOfVAppPropertyInfo)(nil)).Elem()
  6692  }
  6693  
  6694  // A boxed array of `VAppPropertySpec`. To be used in `Any` placeholders.
  6695  type ArrayOfVAppPropertySpec struct {
  6696  	VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty" json:"_value"`
  6697  }
  6698  
  6699  func init() {
  6700  	t["ArrayOfVAppPropertySpec"] = reflect.TypeOf((*ArrayOfVAppPropertySpec)(nil)).Elem()
  6701  }
  6702  
  6703  // A boxed array of `VMwareDVSPvlanConfigSpec`. To be used in `Any` placeholders.
  6704  type ArrayOfVMwareDVSPvlanConfigSpec struct {
  6705  	VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty" json:"_value"`
  6706  }
  6707  
  6708  func init() {
  6709  	t["ArrayOfVMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanConfigSpec)(nil)).Elem()
  6710  }
  6711  
  6712  // A boxed array of `VMwareDVSPvlanMapEntry`. To be used in `Any` placeholders.
  6713  type ArrayOfVMwareDVSPvlanMapEntry struct {
  6714  	VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty" json:"_value"`
  6715  }
  6716  
  6717  func init() {
  6718  	t["ArrayOfVMwareDVSPvlanMapEntry"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanMapEntry)(nil)).Elem()
  6719  }
  6720  
  6721  // A boxed array of `VMwareDVSVspanConfigSpec`. To be used in `Any` placeholders.
  6722  type ArrayOfVMwareDVSVspanConfigSpec struct {
  6723  	VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty" json:"_value"`
  6724  }
  6725  
  6726  func init() {
  6727  	t["ArrayOfVMwareDVSVspanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSVspanConfigSpec)(nil)).Elem()
  6728  }
  6729  
  6730  // A boxed array of `VMwareDvsLacpGroupConfig`. To be used in `Any` placeholders.
  6731  type ArrayOfVMwareDvsLacpGroupConfig struct {
  6732  	VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty" json:"_value"`
  6733  }
  6734  
  6735  func init() {
  6736  	t["ArrayOfVMwareDvsLacpGroupConfig"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupConfig)(nil)).Elem()
  6737  }
  6738  
  6739  // A boxed array of `VMwareDvsLacpGroupSpec`. To be used in `Any` placeholders.
  6740  type ArrayOfVMwareDvsLacpGroupSpec struct {
  6741  	VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty" json:"_value"`
  6742  }
  6743  
  6744  func init() {
  6745  	t["ArrayOfVMwareDvsLacpGroupSpec"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupSpec)(nil)).Elem()
  6746  }
  6747  
  6748  // A boxed array of `VMwareVspanSession`. To be used in `Any` placeholders.
  6749  type ArrayOfVMwareVspanSession struct {
  6750  	VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty" json:"_value"`
  6751  }
  6752  
  6753  func init() {
  6754  	t["ArrayOfVMwareVspanSession"] = reflect.TypeOf((*ArrayOfVMwareVspanSession)(nil)).Elem()
  6755  }
  6756  
  6757  // A boxed array of `VStorageObjectAssociations`. To be used in `Any` placeholders.
  6758  type ArrayOfVStorageObjectAssociations struct {
  6759  	VStorageObjectAssociations []VStorageObjectAssociations `xml:"VStorageObjectAssociations,omitempty" json:"_value"`
  6760  }
  6761  
  6762  func init() {
  6763  	t["ArrayOfVStorageObjectAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociations)(nil)).Elem()
  6764  }
  6765  
  6766  // A boxed array of `VStorageObjectAssociationsVmDiskAssociations`. To be used in `Any` placeholders.
  6767  type ArrayOfVStorageObjectAssociationsVmDiskAssociations struct {
  6768  	VStorageObjectAssociationsVmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"VStorageObjectAssociationsVmDiskAssociations,omitempty" json:"_value"`
  6769  }
  6770  
  6771  func init() {
  6772  	t["ArrayOfVStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
  6773  }
  6774  
  6775  // A boxed array of `VStorageObjectSnapshotInfoVStorageObjectSnapshot`. To be used in `Any` placeholders.
  6776  type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
  6777  	VStorageObjectSnapshotInfoVStorageObjectSnapshot []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"VStorageObjectSnapshotInfoVStorageObjectSnapshot,omitempty" json:"_value"`
  6778  }
  6779  
  6780  func init() {
  6781  	t["ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
  6782  }
  6783  
  6784  // A boxed array of `VVolHostPE`. To be used in `Any` placeholders.
  6785  type ArrayOfVVolHostPE struct {
  6786  	VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty" json:"_value"`
  6787  }
  6788  
  6789  func init() {
  6790  	t["ArrayOfVVolHostPE"] = reflect.TypeOf((*ArrayOfVVolHostPE)(nil)).Elem()
  6791  }
  6792  
  6793  // A boxed array of `VVolVmConfigFileUpdateResultFailedVmConfigFileInfo`. To be used in `Any` placeholders.
  6794  type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
  6795  	VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty" json:"_value"`
  6796  }
  6797  
  6798  func init() {
  6799  	t["ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
  6800  }
  6801  
  6802  // A boxed array of `VchaNodeRuntimeInfo`. To be used in `Any` placeholders.
  6803  type ArrayOfVchaNodeRuntimeInfo struct {
  6804  	VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty" json:"_value"`
  6805  }
  6806  
  6807  func init() {
  6808  	t["ArrayOfVchaNodeRuntimeInfo"] = reflect.TypeOf((*ArrayOfVchaNodeRuntimeInfo)(nil)).Elem()
  6809  }
  6810  
  6811  // A boxed array of `VimVasaProviderInfo`. To be used in `Any` placeholders.
  6812  type ArrayOfVimVasaProviderInfo struct {
  6813  	VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty" json:"_value"`
  6814  }
  6815  
  6816  func init() {
  6817  	t["ArrayOfVimVasaProviderInfo"] = reflect.TypeOf((*ArrayOfVimVasaProviderInfo)(nil)).Elem()
  6818  }
  6819  
  6820  // A boxed array of `VimVasaProviderStatePerArray`. To be used in `Any` placeholders.
  6821  type ArrayOfVimVasaProviderStatePerArray struct {
  6822  	VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty" json:"_value"`
  6823  }
  6824  
  6825  func init() {
  6826  	t["ArrayOfVimVasaProviderStatePerArray"] = reflect.TypeOf((*ArrayOfVimVasaProviderStatePerArray)(nil)).Elem()
  6827  }
  6828  
  6829  // A boxed array of `VirtualAppLinkInfo`. To be used in `Any` placeholders.
  6830  type ArrayOfVirtualAppLinkInfo struct {
  6831  	VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty" json:"_value"`
  6832  }
  6833  
  6834  func init() {
  6835  	t["ArrayOfVirtualAppLinkInfo"] = reflect.TypeOf((*ArrayOfVirtualAppLinkInfo)(nil)).Elem()
  6836  }
  6837  
  6838  // A boxed array of `VirtualDevice`. To be used in `Any` placeholders.
  6839  type ArrayOfVirtualDevice struct {
  6840  	VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr" json:"_value"`
  6841  }
  6842  
  6843  func init() {
  6844  	t["ArrayOfVirtualDevice"] = reflect.TypeOf((*ArrayOfVirtualDevice)(nil)).Elem()
  6845  }
  6846  
  6847  // A boxed array of `VirtualDeviceBackingOption`. To be used in `Any` placeholders.
  6848  type ArrayOfVirtualDeviceBackingOption struct {
  6849  	VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr" json:"_value"`
  6850  }
  6851  
  6852  func init() {
  6853  	t["ArrayOfVirtualDeviceBackingOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceBackingOption)(nil)).Elem()
  6854  }
  6855  
  6856  // A boxed array of `VirtualDeviceConfigSpec`. To be used in `Any` placeholders.
  6857  type ArrayOfVirtualDeviceConfigSpec struct {
  6858  	VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr" json:"_value"`
  6859  }
  6860  
  6861  func init() {
  6862  	t["ArrayOfVirtualDeviceConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualDeviceConfigSpec)(nil)).Elem()
  6863  }
  6864  
  6865  // A boxed array of `VirtualDeviceOption`. To be used in `Any` placeholders.
  6866  type ArrayOfVirtualDeviceOption struct {
  6867  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr" json:"_value"`
  6868  }
  6869  
  6870  func init() {
  6871  	t["ArrayOfVirtualDeviceOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceOption)(nil)).Elem()
  6872  }
  6873  
  6874  // A boxed array of `VirtualDisk`. To be used in `Any` placeholders.
  6875  type ArrayOfVirtualDisk struct {
  6876  	VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty" json:"_value"`
  6877  }
  6878  
  6879  func init() {
  6880  	t["ArrayOfVirtualDisk"] = reflect.TypeOf((*ArrayOfVirtualDisk)(nil)).Elem()
  6881  }
  6882  
  6883  // A boxed array of `VirtualDiskDeltaDiskFormatsSupported`. To be used in `Any` placeholders.
  6884  type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct {
  6885  	VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty" json:"_value"`
  6886  }
  6887  
  6888  func init() {
  6889  	t["ArrayOfVirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*ArrayOfVirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
  6890  }
  6891  
  6892  // A boxed array of `VirtualDiskId`. To be used in `Any` placeholders.
  6893  type ArrayOfVirtualDiskId struct {
  6894  	VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty" json:"_value"`
  6895  }
  6896  
  6897  func init() {
  6898  	t["ArrayOfVirtualDiskId"] = reflect.TypeOf((*ArrayOfVirtualDiskId)(nil)).Elem()
  6899  }
  6900  
  6901  // A boxed array of `VirtualDiskRuleSpec`. To be used in `Any` placeholders.
  6902  type ArrayOfVirtualDiskRuleSpec struct {
  6903  	VirtualDiskRuleSpec []VirtualDiskRuleSpec `xml:"VirtualDiskRuleSpec,omitempty" json:"_value"`
  6904  }
  6905  
  6906  func init() {
  6907  	t["ArrayOfVirtualDiskRuleSpec"] = reflect.TypeOf((*ArrayOfVirtualDiskRuleSpec)(nil)).Elem()
  6908  }
  6909  
  6910  // A boxed array of `VirtualMachineBaseIndependentFilterSpec`. To be used in `Any` placeholders.
  6911  type ArrayOfVirtualMachineBaseIndependentFilterSpec struct {
  6912  	VirtualMachineBaseIndependentFilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"VirtualMachineBaseIndependentFilterSpec,omitempty,typeattr" json:"_value"`
  6913  }
  6914  
  6915  func init() {
  6916  	t["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
  6917  	minAPIVersionForType["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = "7.0.2.1"
  6918  }
  6919  
  6920  // A boxed array of `VirtualMachineBootOptionsBootableDevice`. To be used in `Any` placeholders.
  6921  type ArrayOfVirtualMachineBootOptionsBootableDevice struct {
  6922  	VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr" json:"_value"`
  6923  }
  6924  
  6925  func init() {
  6926  	t["ArrayOfVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*ArrayOfVirtualMachineBootOptionsBootableDevice)(nil)).Elem()
  6927  }
  6928  
  6929  // A boxed array of `VirtualMachineCdromInfo`. To be used in `Any` placeholders.
  6930  type ArrayOfVirtualMachineCdromInfo struct {
  6931  	VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty" json:"_value"`
  6932  }
  6933  
  6934  func init() {
  6935  	t["ArrayOfVirtualMachineCdromInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineCdromInfo)(nil)).Elem()
  6936  }
  6937  
  6938  // A boxed array of `VirtualMachineCertThumbprint`. To be used in `Any` placeholders.
  6939  type ArrayOfVirtualMachineCertThumbprint struct {
  6940  	VirtualMachineCertThumbprint []VirtualMachineCertThumbprint `xml:"VirtualMachineCertThumbprint,omitempty" json:"_value"`
  6941  }
  6942  
  6943  func init() {
  6944  	t["ArrayOfVirtualMachineCertThumbprint"] = reflect.TypeOf((*ArrayOfVirtualMachineCertThumbprint)(nil)).Elem()
  6945  	minAPIVersionForType["ArrayOfVirtualMachineCertThumbprint"] = "7.0.3.1"
  6946  }
  6947  
  6948  // A boxed array of `VirtualMachineConfigInfoDatastoreUrlPair`. To be used in `Any` placeholders.
  6949  type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct {
  6950  	VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty" json:"_value"`
  6951  }
  6952  
  6953  func init() {
  6954  	t["ArrayOfVirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
  6955  }
  6956  
  6957  // A boxed array of `VirtualMachineConfigOptionDescriptor`. To be used in `Any` placeholders.
  6958  type ArrayOfVirtualMachineConfigOptionDescriptor struct {
  6959  	VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty" json:"_value"`
  6960  }
  6961  
  6962  func init() {
  6963  	t["ArrayOfVirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigOptionDescriptor)(nil)).Elem()
  6964  }
  6965  
  6966  // A boxed array of `VirtualMachineConfigSpec`. To be used in `Any` placeholders.
  6967  type ArrayOfVirtualMachineConfigSpec struct {
  6968  	VirtualMachineConfigSpec []VirtualMachineConfigSpec `xml:"VirtualMachineConfigSpec,omitempty" json:"_value"`
  6969  }
  6970  
  6971  func init() {
  6972  	t["ArrayOfVirtualMachineConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigSpec)(nil)).Elem()
  6973  }
  6974  
  6975  // A boxed array of `VirtualMachineConnection`. To be used in `Any` placeholders.
  6976  type ArrayOfVirtualMachineConnection struct {
  6977  	VirtualMachineConnection []BaseVirtualMachineConnection `xml:"VirtualMachineConnection,omitempty,typeattr" json:"_value"`
  6978  }
  6979  
  6980  func init() {
  6981  	t["ArrayOfVirtualMachineConnection"] = reflect.TypeOf((*ArrayOfVirtualMachineConnection)(nil)).Elem()
  6982  	minAPIVersionForType["ArrayOfVirtualMachineConnection"] = "7.0.1.0"
  6983  }
  6984  
  6985  // A boxed array of `VirtualMachineCpuIdInfoSpec`. To be used in `Any` placeholders.
  6986  type ArrayOfVirtualMachineCpuIdInfoSpec struct {
  6987  	VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty" json:"_value"`
  6988  }
  6989  
  6990  func init() {
  6991  	t["ArrayOfVirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineCpuIdInfoSpec)(nil)).Elem()
  6992  }
  6993  
  6994  // A boxed array of `VirtualMachineDatastoreInfo`. To be used in `Any` placeholders.
  6995  type ArrayOfVirtualMachineDatastoreInfo struct {
  6996  	VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty" json:"_value"`
  6997  }
  6998  
  6999  func init() {
  7000  	t["ArrayOfVirtualMachineDatastoreInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreInfo)(nil)).Elem()
  7001  }
  7002  
  7003  // A boxed array of `VirtualMachineDatastoreVolumeOption`. To be used in `Any` placeholders.
  7004  type ArrayOfVirtualMachineDatastoreVolumeOption struct {
  7005  	VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty" json:"_value"`
  7006  }
  7007  
  7008  func init() {
  7009  	t["ArrayOfVirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreVolumeOption)(nil)).Elem()
  7010  }
  7011  
  7012  // A boxed array of `VirtualMachineDeviceRuntimeInfo`. To be used in `Any` placeholders.
  7013  type ArrayOfVirtualMachineDeviceRuntimeInfo struct {
  7014  	VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty" json:"_value"`
  7015  }
  7016  
  7017  func init() {
  7018  	t["ArrayOfVirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDeviceRuntimeInfo)(nil)).Elem()
  7019  }
  7020  
  7021  // A boxed array of `VirtualMachineDisplayTopology`. To be used in `Any` placeholders.
  7022  type ArrayOfVirtualMachineDisplayTopology struct {
  7023  	VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty" json:"_value"`
  7024  }
  7025  
  7026  func init() {
  7027  	t["ArrayOfVirtualMachineDisplayTopology"] = reflect.TypeOf((*ArrayOfVirtualMachineDisplayTopology)(nil)).Elem()
  7028  }
  7029  
  7030  // A boxed array of `VirtualMachineDvxClassInfo`. To be used in `Any` placeholders.
  7031  type ArrayOfVirtualMachineDvxClassInfo struct {
  7032  	VirtualMachineDvxClassInfo []VirtualMachineDvxClassInfo `xml:"VirtualMachineDvxClassInfo,omitempty" json:"_value"`
  7033  }
  7034  
  7035  func init() {
  7036  	t["ArrayOfVirtualMachineDvxClassInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDvxClassInfo)(nil)).Elem()
  7037  	minAPIVersionForType["ArrayOfVirtualMachineDvxClassInfo"] = "8.0.0.1"
  7038  }
  7039  
  7040  // A boxed array of `VirtualMachineDynamicPassthroughInfo`. To be used in `Any` placeholders.
  7041  type ArrayOfVirtualMachineDynamicPassthroughInfo struct {
  7042  	VirtualMachineDynamicPassthroughInfo []VirtualMachineDynamicPassthroughInfo `xml:"VirtualMachineDynamicPassthroughInfo,omitempty" json:"_value"`
  7043  }
  7044  
  7045  func init() {
  7046  	t["ArrayOfVirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDynamicPassthroughInfo)(nil)).Elem()
  7047  }
  7048  
  7049  // A boxed array of `VirtualMachineFeatureRequirement`. To be used in `Any` placeholders.
  7050  type ArrayOfVirtualMachineFeatureRequirement struct {
  7051  	VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty" json:"_value"`
  7052  }
  7053  
  7054  func init() {
  7055  	t["ArrayOfVirtualMachineFeatureRequirement"] = reflect.TypeOf((*ArrayOfVirtualMachineFeatureRequirement)(nil)).Elem()
  7056  }
  7057  
  7058  // A boxed array of `VirtualMachineFileLayoutDiskLayout`. To be used in `Any` placeholders.
  7059  type ArrayOfVirtualMachineFileLayoutDiskLayout struct {
  7060  	VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty" json:"_value"`
  7061  }
  7062  
  7063  func init() {
  7064  	t["ArrayOfVirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutDiskLayout)(nil)).Elem()
  7065  }
  7066  
  7067  // A boxed array of `VirtualMachineFileLayoutExDiskLayout`. To be used in `Any` placeholders.
  7068  type ArrayOfVirtualMachineFileLayoutExDiskLayout struct {
  7069  	VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty" json:"_value"`
  7070  }
  7071  
  7072  func init() {
  7073  	t["ArrayOfVirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
  7074  }
  7075  
  7076  // A boxed array of `VirtualMachineFileLayoutExDiskUnit`. To be used in `Any` placeholders.
  7077  type ArrayOfVirtualMachineFileLayoutExDiskUnit struct {
  7078  	VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty" json:"_value"`
  7079  }
  7080  
  7081  func init() {
  7082  	t["ArrayOfVirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
  7083  }
  7084  
  7085  // A boxed array of `VirtualMachineFileLayoutExFileInfo`. To be used in `Any` placeholders.
  7086  type ArrayOfVirtualMachineFileLayoutExFileInfo struct {
  7087  	VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty" json:"_value"`
  7088  }
  7089  
  7090  func init() {
  7091  	t["ArrayOfVirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExFileInfo)(nil)).Elem()
  7092  }
  7093  
  7094  // A boxed array of `VirtualMachineFileLayoutExSnapshotLayout`. To be used in `Any` placeholders.
  7095  type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct {
  7096  	VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty" json:"_value"`
  7097  }
  7098  
  7099  func init() {
  7100  	t["ArrayOfVirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
  7101  }
  7102  
  7103  // A boxed array of `VirtualMachineFileLayoutSnapshotLayout`. To be used in `Any` placeholders.
  7104  type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct {
  7105  	VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty" json:"_value"`
  7106  }
  7107  
  7108  func init() {
  7109  	t["ArrayOfVirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
  7110  }
  7111  
  7112  // A boxed array of `VirtualMachineFloppyInfo`. To be used in `Any` placeholders.
  7113  type ArrayOfVirtualMachineFloppyInfo struct {
  7114  	VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty" json:"_value"`
  7115  }
  7116  
  7117  func init() {
  7118  	t["ArrayOfVirtualMachineFloppyInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFloppyInfo)(nil)).Elem()
  7119  }
  7120  
  7121  // A boxed array of `VirtualMachineIdeDiskDeviceInfo`. To be used in `Any` placeholders.
  7122  type ArrayOfVirtualMachineIdeDiskDeviceInfo struct {
  7123  	VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty" json:"_value"`
  7124  }
  7125  
  7126  func init() {
  7127  	t["ArrayOfVirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
  7128  }
  7129  
  7130  // A boxed array of `VirtualMachineIdeDiskDevicePartitionInfo`. To be used in `Any` placeholders.
  7131  type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct {
  7132  	VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty" json:"_value"`
  7133  }
  7134  
  7135  func init() {
  7136  	t["ArrayOfVirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
  7137  }
  7138  
  7139  // A boxed array of `VirtualMachineLegacyNetworkSwitchInfo`. To be used in `Any` placeholders.
  7140  type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct {
  7141  	VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty" json:"_value"`
  7142  }
  7143  
  7144  func init() {
  7145  	t["ArrayOfVirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
  7146  }
  7147  
  7148  // A boxed array of `VirtualMachineMessage`. To be used in `Any` placeholders.
  7149  type ArrayOfVirtualMachineMessage struct {
  7150  	VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty" json:"_value"`
  7151  }
  7152  
  7153  func init() {
  7154  	t["ArrayOfVirtualMachineMessage"] = reflect.TypeOf((*ArrayOfVirtualMachineMessage)(nil)).Elem()
  7155  }
  7156  
  7157  // A boxed array of `VirtualMachineMetadataManagerVmMetadataInput`. To be used in `Any` placeholders.
  7158  type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct {
  7159  	VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty" json:"_value"`
  7160  }
  7161  
  7162  func init() {
  7163  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
  7164  }
  7165  
  7166  // A boxed array of `VirtualMachineMetadataManagerVmMetadataResult`. To be used in `Any` placeholders.
  7167  type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct {
  7168  	VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty" json:"_value"`
  7169  }
  7170  
  7171  func init() {
  7172  	t["ArrayOfVirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
  7173  }
  7174  
  7175  // A boxed array of `VirtualMachineNetworkInfo`. To be used in `Any` placeholders.
  7176  type ArrayOfVirtualMachineNetworkInfo struct {
  7177  	VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty" json:"_value"`
  7178  }
  7179  
  7180  func init() {
  7181  	t["ArrayOfVirtualMachineNetworkInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineNetworkInfo)(nil)).Elem()
  7182  }
  7183  
  7184  // A boxed array of `VirtualMachineParallelInfo`. To be used in `Any` placeholders.
  7185  type ArrayOfVirtualMachineParallelInfo struct {
  7186  	VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty" json:"_value"`
  7187  }
  7188  
  7189  func init() {
  7190  	t["ArrayOfVirtualMachineParallelInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineParallelInfo)(nil)).Elem()
  7191  }
  7192  
  7193  // A boxed array of `VirtualMachinePciPassthroughInfo`. To be used in `Any` placeholders.
  7194  type ArrayOfVirtualMachinePciPassthroughInfo struct {
  7195  	VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr" json:"_value"`
  7196  }
  7197  
  7198  func init() {
  7199  	t["ArrayOfVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciPassthroughInfo)(nil)).Elem()
  7200  }
  7201  
  7202  // A boxed array of `VirtualMachinePciSharedGpuPassthroughInfo`. To be used in `Any` placeholders.
  7203  type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct {
  7204  	VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty" json:"_value"`
  7205  }
  7206  
  7207  func init() {
  7208  	t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
  7209  }
  7210  
  7211  // A boxed array of `VirtualMachinePrecisionClockInfo`. To be used in `Any` placeholders.
  7212  type ArrayOfVirtualMachinePrecisionClockInfo struct {
  7213  	VirtualMachinePrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"VirtualMachinePrecisionClockInfo,omitempty" json:"_value"`
  7214  }
  7215  
  7216  func init() {
  7217  	t["ArrayOfVirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePrecisionClockInfo)(nil)).Elem()
  7218  }
  7219  
  7220  // A boxed array of `VirtualMachineProfileDetailsDiskProfileDetails`. To be used in `Any` placeholders.
  7221  type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails struct {
  7222  	VirtualMachineProfileDetailsDiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"VirtualMachineProfileDetailsDiskProfileDetails,omitempty" json:"_value"`
  7223  }
  7224  
  7225  func init() {
  7226  	t["ArrayOfVirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
  7227  }
  7228  
  7229  // A boxed array of `VirtualMachineProfileSpec`. To be used in `Any` placeholders.
  7230  type ArrayOfVirtualMachineProfileSpec struct {
  7231  	VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr" json:"_value"`
  7232  }
  7233  
  7234  func init() {
  7235  	t["ArrayOfVirtualMachineProfileSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileSpec)(nil)).Elem()
  7236  }
  7237  
  7238  // A boxed array of `VirtualMachinePropertyRelation`. To be used in `Any` placeholders.
  7239  type ArrayOfVirtualMachinePropertyRelation struct {
  7240  	VirtualMachinePropertyRelation []VirtualMachinePropertyRelation `xml:"VirtualMachinePropertyRelation,omitempty" json:"_value"`
  7241  }
  7242  
  7243  func init() {
  7244  	t["ArrayOfVirtualMachinePropertyRelation"] = reflect.TypeOf((*ArrayOfVirtualMachinePropertyRelation)(nil)).Elem()
  7245  }
  7246  
  7247  // A boxed array of `VirtualMachineQuickStatsMemoryTierStats`. To be used in `Any` placeholders.
  7248  type ArrayOfVirtualMachineQuickStatsMemoryTierStats struct {
  7249  	VirtualMachineQuickStatsMemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"VirtualMachineQuickStatsMemoryTierStats,omitempty" json:"_value"`
  7250  }
  7251  
  7252  func init() {
  7253  	t["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*ArrayOfVirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
  7254  	minAPIVersionForType["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = "7.0.3.0"
  7255  }
  7256  
  7257  // A boxed array of `VirtualMachineRelocateSpecDiskLocator`. To be used in `Any` placeholders.
  7258  type ArrayOfVirtualMachineRelocateSpecDiskLocator struct {
  7259  	VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty" json:"_value"`
  7260  }
  7261  
  7262  func init() {
  7263  	t["ArrayOfVirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*ArrayOfVirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
  7264  }
  7265  
  7266  // A boxed array of `VirtualMachineScsiDiskDeviceInfo`. To be used in `Any` placeholders.
  7267  type ArrayOfVirtualMachineScsiDiskDeviceInfo struct {
  7268  	VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty" json:"_value"`
  7269  }
  7270  
  7271  func init() {
  7272  	t["ArrayOfVirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
  7273  }
  7274  
  7275  // A boxed array of `VirtualMachineScsiPassthroughInfo`. To be used in `Any` placeholders.
  7276  type ArrayOfVirtualMachineScsiPassthroughInfo struct {
  7277  	VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty" json:"_value"`
  7278  }
  7279  
  7280  func init() {
  7281  	t["ArrayOfVirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiPassthroughInfo)(nil)).Elem()
  7282  }
  7283  
  7284  // A boxed array of `VirtualMachineSerialInfo`. To be used in `Any` placeholders.
  7285  type ArrayOfVirtualMachineSerialInfo struct {
  7286  	VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty" json:"_value"`
  7287  }
  7288  
  7289  func init() {
  7290  	t["ArrayOfVirtualMachineSerialInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSerialInfo)(nil)).Elem()
  7291  }
  7292  
  7293  // A boxed array of `VirtualMachineSnapshotTree`. To be used in `Any` placeholders.
  7294  type ArrayOfVirtualMachineSnapshotTree struct {
  7295  	VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty" json:"_value"`
  7296  }
  7297  
  7298  func init() {
  7299  	t["ArrayOfVirtualMachineSnapshotTree"] = reflect.TypeOf((*ArrayOfVirtualMachineSnapshotTree)(nil)).Elem()
  7300  }
  7301  
  7302  // A boxed array of `VirtualMachineSoundInfo`. To be used in `Any` placeholders.
  7303  type ArrayOfVirtualMachineSoundInfo struct {
  7304  	VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty" json:"_value"`
  7305  }
  7306  
  7307  func init() {
  7308  	t["ArrayOfVirtualMachineSoundInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSoundInfo)(nil)).Elem()
  7309  }
  7310  
  7311  // A boxed array of `VirtualMachineSriovInfo`. To be used in `Any` placeholders.
  7312  type ArrayOfVirtualMachineSriovInfo struct {
  7313  	VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty" json:"_value"`
  7314  }
  7315  
  7316  func init() {
  7317  	t["ArrayOfVirtualMachineSriovInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSriovInfo)(nil)).Elem()
  7318  }
  7319  
  7320  // A boxed array of `VirtualMachineSummary`. To be used in `Any` placeholders.
  7321  type ArrayOfVirtualMachineSummary struct {
  7322  	VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty" json:"_value"`
  7323  }
  7324  
  7325  func init() {
  7326  	t["ArrayOfVirtualMachineSummary"] = reflect.TypeOf((*ArrayOfVirtualMachineSummary)(nil)).Elem()
  7327  }
  7328  
  7329  // A boxed array of `VirtualMachineUsageOnDatastore`. To be used in `Any` placeholders.
  7330  type ArrayOfVirtualMachineUsageOnDatastore struct {
  7331  	VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty" json:"_value"`
  7332  }
  7333  
  7334  func init() {
  7335  	t["ArrayOfVirtualMachineUsageOnDatastore"] = reflect.TypeOf((*ArrayOfVirtualMachineUsageOnDatastore)(nil)).Elem()
  7336  }
  7337  
  7338  // A boxed array of `VirtualMachineUsbInfo`. To be used in `Any` placeholders.
  7339  type ArrayOfVirtualMachineUsbInfo struct {
  7340  	VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty" json:"_value"`
  7341  }
  7342  
  7343  func init() {
  7344  	t["ArrayOfVirtualMachineUsbInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineUsbInfo)(nil)).Elem()
  7345  }
  7346  
  7347  // A boxed array of `VirtualMachineVFlashModuleInfo`. To be used in `Any` placeholders.
  7348  type ArrayOfVirtualMachineVFlashModuleInfo struct {
  7349  	VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty" json:"_value"`
  7350  }
  7351  
  7352  func init() {
  7353  	t["ArrayOfVirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVFlashModuleInfo)(nil)).Elem()
  7354  }
  7355  
  7356  // A boxed array of `VirtualMachineVMCIDeviceFilterSpec`. To be used in `Any` placeholders.
  7357  type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct {
  7358  	VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty" json:"_value"`
  7359  }
  7360  
  7361  func init() {
  7362  	t["ArrayOfVirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
  7363  }
  7364  
  7365  // A boxed array of `VirtualMachineVMotionStunTimeInfo`. To be used in `Any` placeholders.
  7366  type ArrayOfVirtualMachineVMotionStunTimeInfo struct {
  7367  	VirtualMachineVMotionStunTimeInfo []VirtualMachineVMotionStunTimeInfo `xml:"VirtualMachineVMotionStunTimeInfo,omitempty" json:"_value"`
  7368  }
  7369  
  7370  func init() {
  7371  	t["ArrayOfVirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVMotionStunTimeInfo)(nil)).Elem()
  7372  	minAPIVersionForType["ArrayOfVirtualMachineVMotionStunTimeInfo"] = "8.0.2.0"
  7373  }
  7374  
  7375  // A boxed array of `VirtualMachineVcpuConfig`. To be used in `Any` placeholders.
  7376  type ArrayOfVirtualMachineVcpuConfig struct {
  7377  	VirtualMachineVcpuConfig []VirtualMachineVcpuConfig `xml:"VirtualMachineVcpuConfig,omitempty" json:"_value"`
  7378  }
  7379  
  7380  func init() {
  7381  	t["ArrayOfVirtualMachineVcpuConfig"] = reflect.TypeOf((*ArrayOfVirtualMachineVcpuConfig)(nil)).Elem()
  7382  }
  7383  
  7384  // A boxed array of `VirtualMachineVendorDeviceGroupInfo`. To be used in `Any` placeholders.
  7385  type ArrayOfVirtualMachineVendorDeviceGroupInfo struct {
  7386  	VirtualMachineVendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"VirtualMachineVendorDeviceGroupInfo,omitempty" json:"_value"`
  7387  }
  7388  
  7389  func init() {
  7390  	t["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
  7391  	minAPIVersionForType["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = "8.0.0.1"
  7392  }
  7393  
  7394  // A boxed array of `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo`. To be used in `Any` placeholders.
  7395  type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
  7396  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo,omitempty" json:"_value"`
  7397  }
  7398  
  7399  func init() {
  7400  	t["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
  7401  	minAPIVersionForType["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = "8.0.0.1"
  7402  }
  7403  
  7404  // A boxed array of `VirtualMachineVgpuDeviceInfo`. To be used in `Any` placeholders.
  7405  type ArrayOfVirtualMachineVgpuDeviceInfo struct {
  7406  	VirtualMachineVgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"VirtualMachineVgpuDeviceInfo,omitempty" json:"_value"`
  7407  }
  7408  
  7409  func init() {
  7410  	t["ArrayOfVirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuDeviceInfo)(nil)).Elem()
  7411  	minAPIVersionForType["ArrayOfVirtualMachineVgpuDeviceInfo"] = "7.0.3.0"
  7412  }
  7413  
  7414  // A boxed array of `VirtualMachineVgpuProfileInfo`. To be used in `Any` placeholders.
  7415  type ArrayOfVirtualMachineVgpuProfileInfo struct {
  7416  	VirtualMachineVgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"VirtualMachineVgpuProfileInfo,omitempty" json:"_value"`
  7417  }
  7418  
  7419  func init() {
  7420  	t["ArrayOfVirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuProfileInfo)(nil)).Elem()
  7421  	minAPIVersionForType["ArrayOfVirtualMachineVgpuProfileInfo"] = "7.0.3.0"
  7422  }
  7423  
  7424  // A boxed array of `VirtualMachineVirtualDeviceGroupsDeviceGroup`. To be used in `Any` placeholders.
  7425  type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup struct {
  7426  	VirtualMachineVirtualDeviceGroupsDeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"VirtualMachineVirtualDeviceGroupsDeviceGroup,omitempty,typeattr" json:"_value"`
  7427  }
  7428  
  7429  func init() {
  7430  	t["ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
  7431  }
  7432  
  7433  // A boxed array of `VirtualNicManagerNetConfig`. To be used in `Any` placeholders.
  7434  type ArrayOfVirtualNicManagerNetConfig struct {
  7435  	VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty" json:"_value"`
  7436  }
  7437  
  7438  func init() {
  7439  	t["ArrayOfVirtualNicManagerNetConfig"] = reflect.TypeOf((*ArrayOfVirtualNicManagerNetConfig)(nil)).Elem()
  7440  }
  7441  
  7442  // A boxed array of `VirtualPCIPassthroughAllowedDevice`. To be used in `Any` placeholders.
  7443  type ArrayOfVirtualPCIPassthroughAllowedDevice struct {
  7444  	VirtualPCIPassthroughAllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"VirtualPCIPassthroughAllowedDevice,omitempty" json:"_value"`
  7445  }
  7446  
  7447  func init() {
  7448  	t["ArrayOfVirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*ArrayOfVirtualPCIPassthroughAllowedDevice)(nil)).Elem()
  7449  }
  7450  
  7451  // A boxed array of `VirtualSCSISharing_enum`. To be used in `Any` placeholders.
  7452  type ArrayOfVirtualSCSISharing struct {
  7453  	VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty" json:"_value"`
  7454  }
  7455  
  7456  func init() {
  7457  	t["ArrayOfVirtualSCSISharing"] = reflect.TypeOf((*ArrayOfVirtualSCSISharing)(nil)).Elem()
  7458  }
  7459  
  7460  // A boxed array of `VirtualSwitchProfile`. To be used in `Any` placeholders.
  7461  type ArrayOfVirtualSwitchProfile struct {
  7462  	VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty" json:"_value"`
  7463  }
  7464  
  7465  func init() {
  7466  	t["ArrayOfVirtualSwitchProfile"] = reflect.TypeOf((*ArrayOfVirtualSwitchProfile)(nil)).Elem()
  7467  }
  7468  
  7469  // A boxed array of `VmEventArgument`. To be used in `Any` placeholders.
  7470  type ArrayOfVmEventArgument struct {
  7471  	VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty" json:"_value"`
  7472  }
  7473  
  7474  func init() {
  7475  	t["ArrayOfVmEventArgument"] = reflect.TypeOf((*ArrayOfVmEventArgument)(nil)).Elem()
  7476  }
  7477  
  7478  // A boxed array of `VmPodConfigForPlacement`. To be used in `Any` placeholders.
  7479  type ArrayOfVmPodConfigForPlacement struct {
  7480  	VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty" json:"_value"`
  7481  }
  7482  
  7483  func init() {
  7484  	t["ArrayOfVmPodConfigForPlacement"] = reflect.TypeOf((*ArrayOfVmPodConfigForPlacement)(nil)).Elem()
  7485  }
  7486  
  7487  // A boxed array of `VmPortGroupProfile`. To be used in `Any` placeholders.
  7488  type ArrayOfVmPortGroupProfile struct {
  7489  	VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty" json:"_value"`
  7490  }
  7491  
  7492  func init() {
  7493  	t["ArrayOfVmPortGroupProfile"] = reflect.TypeOf((*ArrayOfVmPortGroupProfile)(nil)).Elem()
  7494  }
  7495  
  7496  // A boxed array of `VmfsConfigOption`. To be used in `Any` placeholders.
  7497  type ArrayOfVmfsConfigOption struct {
  7498  	VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty" json:"_value"`
  7499  }
  7500  
  7501  func init() {
  7502  	t["ArrayOfVmfsConfigOption"] = reflect.TypeOf((*ArrayOfVmfsConfigOption)(nil)).Elem()
  7503  }
  7504  
  7505  // A boxed array of `VmfsDatastoreOption`. To be used in `Any` placeholders.
  7506  type ArrayOfVmfsDatastoreOption struct {
  7507  	VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty" json:"_value"`
  7508  }
  7509  
  7510  func init() {
  7511  	t["ArrayOfVmfsDatastoreOption"] = reflect.TypeOf((*ArrayOfVmfsDatastoreOption)(nil)).Elem()
  7512  }
  7513  
  7514  // A boxed array of `VnicPortArgument`. To be used in `Any` placeholders.
  7515  type ArrayOfVnicPortArgument struct {
  7516  	VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty" json:"_value"`
  7517  }
  7518  
  7519  func init() {
  7520  	t["ArrayOfVnicPortArgument"] = reflect.TypeOf((*ArrayOfVnicPortArgument)(nil)).Elem()
  7521  }
  7522  
  7523  // A boxed array of `VsanHostConfigInfo`. To be used in `Any` placeholders.
  7524  type ArrayOfVsanHostConfigInfo struct {
  7525  	VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty" json:"_value"`
  7526  }
  7527  
  7528  func init() {
  7529  	t["ArrayOfVsanHostConfigInfo"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfo)(nil)).Elem()
  7530  }
  7531  
  7532  // A boxed array of `VsanHostConfigInfoNetworkInfoPortConfig`. To be used in `Any` placeholders.
  7533  type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct {
  7534  	VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty" json:"_value"`
  7535  }
  7536  
  7537  func init() {
  7538  	t["ArrayOfVsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
  7539  }
  7540  
  7541  // A boxed array of `VsanHostDiskMapInfo`. To be used in `Any` placeholders.
  7542  type ArrayOfVsanHostDiskMapInfo struct {
  7543  	VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty" json:"_value"`
  7544  }
  7545  
  7546  func init() {
  7547  	t["ArrayOfVsanHostDiskMapInfo"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapInfo)(nil)).Elem()
  7548  }
  7549  
  7550  // A boxed array of `VsanHostDiskMapResult`. To be used in `Any` placeholders.
  7551  type ArrayOfVsanHostDiskMapResult struct {
  7552  	VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty" json:"_value"`
  7553  }
  7554  
  7555  func init() {
  7556  	t["ArrayOfVsanHostDiskMapResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapResult)(nil)).Elem()
  7557  }
  7558  
  7559  // A boxed array of `VsanHostDiskMapping`. To be used in `Any` placeholders.
  7560  type ArrayOfVsanHostDiskMapping struct {
  7561  	VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty" json:"_value"`
  7562  }
  7563  
  7564  func init() {
  7565  	t["ArrayOfVsanHostDiskMapping"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapping)(nil)).Elem()
  7566  }
  7567  
  7568  // A boxed array of `VsanHostDiskResult`. To be used in `Any` placeholders.
  7569  type ArrayOfVsanHostDiskResult struct {
  7570  	VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty" json:"_value"`
  7571  }
  7572  
  7573  func init() {
  7574  	t["ArrayOfVsanHostDiskResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskResult)(nil)).Elem()
  7575  }
  7576  
  7577  // A boxed array of `VsanHostMembershipInfo`. To be used in `Any` placeholders.
  7578  type ArrayOfVsanHostMembershipInfo struct {
  7579  	VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty" json:"_value"`
  7580  }
  7581  
  7582  func init() {
  7583  	t["ArrayOfVsanHostMembershipInfo"] = reflect.TypeOf((*ArrayOfVsanHostMembershipInfo)(nil)).Elem()
  7584  }
  7585  
  7586  // A boxed array of `VsanHostRuntimeInfoDiskIssue`. To be used in `Any` placeholders.
  7587  type ArrayOfVsanHostRuntimeInfoDiskIssue struct {
  7588  	VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty" json:"_value"`
  7589  }
  7590  
  7591  func init() {
  7592  	t["ArrayOfVsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*ArrayOfVsanHostRuntimeInfoDiskIssue)(nil)).Elem()
  7593  }
  7594  
  7595  // A boxed array of `VsanNewPolicyBatch`. To be used in `Any` placeholders.
  7596  type ArrayOfVsanNewPolicyBatch struct {
  7597  	VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty" json:"_value"`
  7598  }
  7599  
  7600  func init() {
  7601  	t["ArrayOfVsanNewPolicyBatch"] = reflect.TypeOf((*ArrayOfVsanNewPolicyBatch)(nil)).Elem()
  7602  }
  7603  
  7604  // A boxed array of `VsanPolicyChangeBatch`. To be used in `Any` placeholders.
  7605  type ArrayOfVsanPolicyChangeBatch struct {
  7606  	VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty" json:"_value"`
  7607  }
  7608  
  7609  func init() {
  7610  	t["ArrayOfVsanPolicyChangeBatch"] = reflect.TypeOf((*ArrayOfVsanPolicyChangeBatch)(nil)).Elem()
  7611  }
  7612  
  7613  // A boxed array of `VsanPolicySatisfiability`. To be used in `Any` placeholders.
  7614  type ArrayOfVsanPolicySatisfiability struct {
  7615  	VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty" json:"_value"`
  7616  }
  7617  
  7618  func init() {
  7619  	t["ArrayOfVsanPolicySatisfiability"] = reflect.TypeOf((*ArrayOfVsanPolicySatisfiability)(nil)).Elem()
  7620  }
  7621  
  7622  // A boxed array of `VsanUpgradeSystemNetworkPartitionInfo`. To be used in `Any` placeholders.
  7623  type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct {
  7624  	VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty" json:"_value"`
  7625  }
  7626  
  7627  func init() {
  7628  	t["ArrayOfVsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
  7629  }
  7630  
  7631  // A boxed array of `VsanUpgradeSystemPreflightCheckIssue`. To be used in `Any` placeholders.
  7632  type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct {
  7633  	VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr" json:"_value"`
  7634  }
  7635  
  7636  func init() {
  7637  	t["ArrayOfVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
  7638  }
  7639  
  7640  // A boxed array of `VsanUpgradeSystemUpgradeHistoryItem`. To be used in `Any` placeholders.
  7641  type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct {
  7642  	VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr" json:"_value"`
  7643  }
  7644  
  7645  func init() {
  7646  	t["ArrayOfVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
  7647  }
  7648  
  7649  // A boxed array of `VslmTagEntry`. To be used in `Any` placeholders.
  7650  type ArrayOfVslmTagEntry struct {
  7651  	VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty" json:"_value"`
  7652  }
  7653  
  7654  func init() {
  7655  	t["ArrayOfVslmTagEntry"] = reflect.TypeOf((*ArrayOfVslmTagEntry)(nil)).Elem()
  7656  }
  7657  
  7658  type ArrayOfVslmInfrastructureObjectPolicy struct {
  7659  	VslmInfrastructureObjectPolicy []VslmInfrastructureObjectPolicy `xml:"vslmInfrastructureObjectPolicy,omitempty" json:"_value"`
  7660  }
  7661  
  7662  func init() {
  7663  	t["ArrayOfvslmInfrastructureObjectPolicy"] = reflect.TypeOf((*ArrayOfVslmInfrastructureObjectPolicy)(nil)).Elem()
  7664  }
  7665  
  7666  // An ArrayUpdateSpec data object type is a common superclass
  7667  // for supporting incremental updates to arrays.
  7668  //
  7669  // The common code pattern is:
  7670  //
  7671  //	class MyTypeSpec extrends ArrayUpdateSpec {
  7672  //	      MyTypeInfo info;
  7673  //	}
  7674  //
  7675  // The ArrayUpdateSpec contains the following:
  7676  //   - `*operation*`: the type of operation being performed.
  7677  //   - `*removeKey*`: In the case of a remove operation, the
  7678  //     key value that identifies the array to be removed.
  7679  type ArrayUpdateSpec struct {
  7680  	DynamicData
  7681  
  7682  	// The type of operation being performed on the specified virtual device.
  7683  	Operation ArrayUpdateOperation `xml:"operation" json:"operation"`
  7684  	// Key for the element to be removed.
  7685  	//
  7686  	// Only used if the operation
  7687  	// is "remove".
  7688  	RemoveKey AnyType `xml:"removeKey,omitempty,typeattr" json:"removeKey,omitempty"`
  7689  }
  7690  
  7691  func init() {
  7692  	t["ArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem()
  7693  }
  7694  
  7695  type AssignUserToGroup AssignUserToGroupRequestType
  7696  
  7697  func init() {
  7698  	t["AssignUserToGroup"] = reflect.TypeOf((*AssignUserToGroup)(nil)).Elem()
  7699  }
  7700  
  7701  // The parameters of `HostLocalAccountManager.AssignUserToGroup`.
  7702  type AssignUserToGroupRequestType struct {
  7703  	This ManagedObjectReference `xml:"_this" json:"-"`
  7704  	// User ID of the account whose group membership is
  7705  	// being assigned.
  7706  	User string `xml:"user" json:"user"`
  7707  	// Destination group account to which the user is
  7708  	// being assigned.
  7709  	Group string `xml:"group" json:"group"`
  7710  }
  7711  
  7712  func init() {
  7713  	t["AssignUserToGroupRequestType"] = reflect.TypeOf((*AssignUserToGroupRequestType)(nil)).Elem()
  7714  }
  7715  
  7716  type AssignUserToGroupResponse struct {
  7717  }
  7718  
  7719  type AssociateProfile AssociateProfileRequestType
  7720  
  7721  func init() {
  7722  	t["AssociateProfile"] = reflect.TypeOf((*AssociateProfile)(nil)).Elem()
  7723  }
  7724  
  7725  // The parameters of `Profile.AssociateProfile`.
  7726  type AssociateProfileRequestType struct {
  7727  	This ManagedObjectReference `xml:"_this" json:"-"`
  7728  	// The entity(s) to associate with the profile.
  7729  	// If an entity is already associated with the profile, the association is
  7730  	// maintained and the vCenter Server does not perform any action.
  7731  	//
  7732  	// Refers instances of `ManagedEntity`.
  7733  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
  7734  }
  7735  
  7736  func init() {
  7737  	t["AssociateProfileRequestType"] = reflect.TypeOf((*AssociateProfileRequestType)(nil)).Elem()
  7738  }
  7739  
  7740  type AssociateProfileResponse struct {
  7741  }
  7742  
  7743  // The parameters of `VirtualMachine.AttachDisk_Task`.
  7744  type AttachDiskRequestType struct {
  7745  	This ManagedObjectReference `xml:"_this" json:"-"`
  7746  	// The ID of the virtual disk to be operated. See
  7747  	// `ID`
  7748  	DiskId ID `xml:"diskId" json:"diskId"`
  7749  	// The datastore where the virtual disk is located.
  7750  	//
  7751  	// Refers instance of `Datastore`.
  7752  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  7753  	// Key of the controller the disk will connect to.
  7754  	// It can be unset if there is only one controller
  7755  	// (SCSI or SATA) with the available slot in the
  7756  	// virtual machine. If there are multiple SCSI or
  7757  	// SATA controllers available, user must specify
  7758  	// the controller; if there is no available
  7759  	// controllers, a `MissingController`
  7760  	// fault will be thrown.
  7761  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
  7762  	// The unit number of the attached disk on its controller.
  7763  	// If unset, the next available slot on the specified
  7764  	// controller or the only available controller will be
  7765  	// assigned to the attached disk.
  7766  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
  7767  }
  7768  
  7769  func init() {
  7770  	t["AttachDiskRequestType"] = reflect.TypeOf((*AttachDiskRequestType)(nil)).Elem()
  7771  }
  7772  
  7773  type AttachDisk_Task AttachDiskRequestType
  7774  
  7775  func init() {
  7776  	t["AttachDisk_Task"] = reflect.TypeOf((*AttachDisk_Task)(nil)).Elem()
  7777  }
  7778  
  7779  type AttachDisk_TaskResponse struct {
  7780  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7781  }
  7782  
  7783  type AttachScsiLun AttachScsiLunRequestType
  7784  
  7785  func init() {
  7786  	t["AttachScsiLun"] = reflect.TypeOf((*AttachScsiLun)(nil)).Elem()
  7787  }
  7788  
  7789  // The parameters of `HostStorageSystem.AttachScsiLunEx_Task`.
  7790  type AttachScsiLunExRequestType struct {
  7791  	This ManagedObjectReference `xml:"_this" json:"-"`
  7792  	// each element specifies UUID of LUN to be attached.
  7793  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
  7794  }
  7795  
  7796  func init() {
  7797  	t["AttachScsiLunExRequestType"] = reflect.TypeOf((*AttachScsiLunExRequestType)(nil)).Elem()
  7798  }
  7799  
  7800  type AttachScsiLunEx_Task AttachScsiLunExRequestType
  7801  
  7802  func init() {
  7803  	t["AttachScsiLunEx_Task"] = reflect.TypeOf((*AttachScsiLunEx_Task)(nil)).Elem()
  7804  }
  7805  
  7806  type AttachScsiLunEx_TaskResponse struct {
  7807  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  7808  }
  7809  
  7810  // The parameters of `HostStorageSystem.AttachScsiLun`.
  7811  type AttachScsiLunRequestType struct {
  7812  	This ManagedObjectReference `xml:"_this" json:"-"`
  7813  	// The uuid of the ScsiLun to update.
  7814  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  7815  }
  7816  
  7817  func init() {
  7818  	t["AttachScsiLunRequestType"] = reflect.TypeOf((*AttachScsiLunRequestType)(nil)).Elem()
  7819  }
  7820  
  7821  type AttachScsiLunResponse struct {
  7822  }
  7823  
  7824  type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType
  7825  
  7826  func init() {
  7827  	t["AttachTagToVStorageObject"] = reflect.TypeOf((*AttachTagToVStorageObject)(nil)).Elem()
  7828  }
  7829  
  7830  // The parameters of `VcenterVStorageObjectManager.AttachTagToVStorageObject`.
  7831  type AttachTagToVStorageObjectRequestType struct {
  7832  	This ManagedObjectReference `xml:"_this" json:"-"`
  7833  	// The identifier(ID) of the virtual storage object.
  7834  	Id ID `xml:"id" json:"id"`
  7835  	// The category to which the tag belongs.
  7836  	Category string `xml:"category" json:"category"`
  7837  	// The tag which has to be associated with the virtual storage
  7838  	// object.
  7839  	Tag string `xml:"tag" json:"tag"`
  7840  }
  7841  
  7842  func init() {
  7843  	t["AttachTagToVStorageObjectRequestType"] = reflect.TypeOf((*AttachTagToVStorageObjectRequestType)(nil)).Elem()
  7844  }
  7845  
  7846  type AttachTagToVStorageObjectResponse struct {
  7847  }
  7848  
  7849  type AttachVmfsExtent AttachVmfsExtentRequestType
  7850  
  7851  func init() {
  7852  	t["AttachVmfsExtent"] = reflect.TypeOf((*AttachVmfsExtent)(nil)).Elem()
  7853  }
  7854  
  7855  // The parameters of `HostStorageSystem.AttachVmfsExtent`.
  7856  type AttachVmfsExtentRequestType struct {
  7857  	This ManagedObjectReference `xml:"_this" json:"-"`
  7858  	// The path of the VMFS to extend. See `FileSystemMountInfo`.
  7859  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
  7860  	// A data object that describes the specification of a
  7861  	// Disk partition.
  7862  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
  7863  }
  7864  
  7865  func init() {
  7866  	t["AttachVmfsExtentRequestType"] = reflect.TypeOf((*AttachVmfsExtentRequestType)(nil)).Elem()
  7867  }
  7868  
  7869  type AttachVmfsExtentResponse struct {
  7870  }
  7871  
  7872  // This fault is thrown when the requested change
  7873  // would result in a loss of full administrative privileges
  7874  // for at least one user or group.
  7875  type AuthMinimumAdminPermission struct {
  7876  	VimFault
  7877  }
  7878  
  7879  func init() {
  7880  	t["AuthMinimumAdminPermission"] = reflect.TypeOf((*AuthMinimumAdminPermission)(nil)).Elem()
  7881  }
  7882  
  7883  type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission
  7884  
  7885  func init() {
  7886  	t["AuthMinimumAdminPermissionFault"] = reflect.TypeOf((*AuthMinimumAdminPermissionFault)(nil)).Elem()
  7887  }
  7888  
  7889  // The `AuthenticationProfile` data object represents the host configuration
  7890  // for authentication.
  7891  //
  7892  // If a profile plug-in defines policies or subprofiles, use the
  7893  // `ApplyProfile.policy` or `ApplyProfile.property`
  7894  // list to access the additional configuration data.
  7895  type AuthenticationProfile struct {
  7896  	ApplyProfile
  7897  
  7898  	// Subprofile representing the Active Directory configuration.
  7899  	ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
  7900  }
  7901  
  7902  func init() {
  7903  	t["AuthenticationProfile"] = reflect.TypeOf((*AuthenticationProfile)(nil)).Elem()
  7904  }
  7905  
  7906  // Static strings for authorization.
  7907  type AuthorizationDescription struct {
  7908  	DynamicData
  7909  
  7910  	// Description of the privilege.
  7911  	Privilege []BaseElementDescription `xml:"privilege,typeattr" json:"privilege"`
  7912  	// Description of a category of similar privileges, grouped
  7913  	// together for convenience.
  7914  	PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr" json:"privilegeGroup"`
  7915  }
  7916  
  7917  func init() {
  7918  	t["AuthorizationDescription"] = reflect.TypeOf((*AuthorizationDescription)(nil)).Elem()
  7919  }
  7920  
  7921  // These events indicate authorization events.
  7922  type AuthorizationEvent struct {
  7923  	Event
  7924  }
  7925  
  7926  func init() {
  7927  	t["AuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem()
  7928  }
  7929  
  7930  // This data object type provides access to some aspect of the system.
  7931  //
  7932  // Privileges are generally independent. This means a user with a privilege
  7933  // usually can perform an associated set of actions without needing any
  7934  // additional supporting privileges.
  7935  //
  7936  // Within each product version, privileges do not change.
  7937  // See `AuthorizationDescription` for
  7938  // detailed information on the privileges defined by the system.
  7939  type AuthorizationPrivilege struct {
  7940  	DynamicData
  7941  
  7942  	// Unique identifier.
  7943  	PrivId string `xml:"privId" json:"privId"`
  7944  	// Determines whether or not the privilege is applied on the parent entity.
  7945  	OnParent bool `xml:"onParent" json:"onParent"`
  7946  	// Privilege name.
  7947  	Name string `xml:"name" json:"name"`
  7948  	// Group name.
  7949  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
  7950  }
  7951  
  7952  func init() {
  7953  	t["AuthorizationPrivilege"] = reflect.TypeOf((*AuthorizationPrivilege)(nil)).Elem()
  7954  }
  7955  
  7956  // This data object type specifies a collection of privileges used
  7957  // to grant access to users on managed entities.
  7958  type AuthorizationRole struct {
  7959  	DynamicData
  7960  
  7961  	// Unique role identifier.
  7962  	RoleId int32 `xml:"roleId" json:"roleId"`
  7963  	// Whether or not the role is system-defined.
  7964  	//
  7965  	// System-defined roles cannot be
  7966  	// changed.
  7967  	System bool `xml:"system" json:"system"`
  7968  	// System-defined or user-defined role name.
  7969  	Name string `xml:"name" json:"name"`
  7970  	// Displayable role information.
  7971  	Info BaseDescription `xml:"info,typeattr" json:"info"`
  7972  	// Privileges provided by this role, by privilege identifier.
  7973  	Privilege []string `xml:"privilege,omitempty" json:"privilege,omitempty"`
  7974  }
  7975  
  7976  func init() {
  7977  	t["AuthorizationRole"] = reflect.TypeOf((*AuthorizationRole)(nil)).Elem()
  7978  }
  7979  
  7980  // Defines the system default auto-start/auto-stop values.
  7981  type AutoStartDefaults struct {
  7982  	DynamicData
  7983  
  7984  	// Indicates whether or not auto-start manager is enabled.
  7985  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
  7986  	// System-default autoStart delay in seconds.
  7987  	//
  7988  	// The default is 120 seconds.
  7989  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
  7990  	// System-default autoStop delay in seconds.
  7991  	//
  7992  	// The default is 120 seconds.
  7993  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
  7994  	// System-default waitForHeartbeat setting.
  7995  	WaitForHeartbeat *bool `xml:"waitForHeartbeat" json:"waitForHeartbeat,omitempty"`
  7996  	// System-default power-off action.
  7997  	//
  7998  	// Used if the stopAction string in the
  7999  	// AutoPowerInfo object for a particular machine is set to systemDefault.
  8000  	// If stopAction and startAction for a virtual machine are both set to none,
  8001  	// that virtual machine is removed from the AutoStart sequence.
  8002  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
  8003  }
  8004  
  8005  func init() {
  8006  	t["AutoStartDefaults"] = reflect.TypeOf((*AutoStartDefaults)(nil)).Elem()
  8007  }
  8008  
  8009  // This object type describes the power-on / power-off behavior for a given virtual
  8010  // machine.
  8011  //
  8012  // Virtual machines can be configured to wait for a period of time before
  8013  // starting or to wait to receive a successful heartbeat from a virtual machine
  8014  // before starting the next virtual machine in the sequence.
  8015  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
  8016  //     sequence continues after the first heartbeat has been received. If
  8017  //     waitForHeartbeat is false, the system waits for the specified delay and
  8018  //     then continues the power-on sequence.
  8019  //   - For a power-off operation, if delay is non-zero, the requested power-off
  8020  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
  8021  //     machine and the system waits until the number of seconds specified in the
  8022  //     delay have passed.
  8023  //
  8024  // If startAction and stopAction for a virtual machine are both set to none, that
  8025  // virtual machine is removed from the AutoStart sequence.
  8026  // Virtual machines can be configured both to wait for a period of time before
  8027  // starting and to wait for a heartbeat. In such a case, the waiting virtual machine
  8028  // only waits until either of these conditions are met. In other words, a virtual
  8029  // machine starts in either of the following cases:
  8030  //   - After receiving a heartbeat but before the start delay has elapsed
  8031  //   - After the start delay has elapsed but before receiving a heartbeat
  8032  //
  8033  // This provides a better experience since as soon as one virtual machine begins
  8034  // sending heartbeats, indicating it has successfully started up, the next machine
  8035  // will begin starting up. This happens even if the startDelay has not yet elapsed.
  8036  // Similarly, if one virtual machine fails to begin sending heartbeats, perhaps
  8037  // because it could not start up, other machines are not blocked from starting up
  8038  // since the startDelay eventually elapses.
  8039  type AutoStartPowerInfo struct {
  8040  	DynamicData
  8041  
  8042  	// Virtual machine to power on or power off.
  8043  	//
  8044  	// Refers instance of `VirtualMachine`.
  8045  	Key ManagedObjectReference `xml:"key" json:"key"`
  8046  	// The autostart priority of this virtual machine.
  8047  	//
  8048  	// Virtual machines with a lower
  8049  	// number are powered on first. On host shutdown, the virtual machines are
  8050  	// shut down in reverse order, meaning those with a higher number are powered off
  8051  	// first.
  8052  	//
  8053  	// Positive values indicate a start order and -1 indicates the machine can be
  8054  	// powered on at any time. Machines with a -1 value are typically powered on and
  8055  	// off after all virtual machines with positive startOrder values. Failure to
  8056  	// meet the following requirements results in an InvalidArgument exception:
  8057  	//   - startOrder must be set to -1 if startAction is set to none
  8058  	//   - startOrder must be -1 or positive integers. Values such as 0 or
  8059  	//     \-2 are not valid.
  8060  	//   - startOrder is relative to other virtual machines in the autostart
  8061  	//     sequence. Hence specifying a startOrder of 4 when there are only 3
  8062  	//     virtual machines in the Autostart sequence is not valid.
  8063  	//
  8064  	// If a newly established or changed startOrder value for a virtual machine
  8065  	// matches an existing startOrder value, the newly applied value takes
  8066  	// precedence, and the existing value is incremented by one. The incremented
  8067  	// startOrder value is checked for collisions, and the same rule is applied if
  8068  	// one is found. This simple system ensures no two virtual machines ever have the
  8069  	// same order number.
  8070  	//
  8071  	// For example, consider the case where there are three virtual machines with
  8072  	// different startOrder values. Virtual machine A has not yet established a
  8073  	// startOrder, virtual machine B has a startOrder value of 1 and Virtual Machine
  8074  	// C has a startOrder value of 2. If virtual machine A's startOrder is set to 1,
  8075  	// then virtual machine B's startOrder is incremented to 2. This creates a
  8076  	// conflict with virtual machine C's startOrder value, which is also incremented,
  8077  	// this time to 3.
  8078  	StartOrder int32 `xml:"startOrder" json:"startOrder"`
  8079  	// Delay in seconds before continuing with the next virtual machine in the order
  8080  	// of machines to be started.
  8081  	//
  8082  	// If the delay is specified as -1, then the system
  8083  	// default is used.
  8084  	StartDelay       int32                         `xml:"startDelay" json:"startDelay"`
  8085  	WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat" json:"waitForHeartbeat"`
  8086  	// How to start the virtual machine.
  8087  	//
  8088  	// Valid settings are none or powerOn.
  8089  	// If set to none, then the virtual machine does not participate in auto-start.
  8090  	StartAction string `xml:"startAction" json:"startAction"`
  8091  	// Delay in seconds before continuing with the next virtual machine in the order
  8092  	// sequence.
  8093  	//
  8094  	// If the delay is -1, then the system default is used.
  8095  	StopDelay int32 `xml:"stopDelay" json:"stopDelay"`
  8096  	// Defines the stop action for the virtual machine.
  8097  	//
  8098  	// Can be set to none,
  8099  	// systemDefault, powerOff, or suspend. If set to none, then the virtual machine
  8100  	// does not participate in auto-stop.
  8101  	StopAction string `xml:"stopAction" json:"stopAction"`
  8102  }
  8103  
  8104  func init() {
  8105  	t["AutoStartPowerInfo"] = reflect.TypeOf((*AutoStartPowerInfo)(nil)).Elem()
  8106  }
  8107  
  8108  type AutoStartPowerOff AutoStartPowerOffRequestType
  8109  
  8110  func init() {
  8111  	t["AutoStartPowerOff"] = reflect.TypeOf((*AutoStartPowerOff)(nil)).Elem()
  8112  }
  8113  
  8114  type AutoStartPowerOffRequestType struct {
  8115  	This ManagedObjectReference `xml:"_this" json:"-"`
  8116  }
  8117  
  8118  func init() {
  8119  	t["AutoStartPowerOffRequestType"] = reflect.TypeOf((*AutoStartPowerOffRequestType)(nil)).Elem()
  8120  }
  8121  
  8122  type AutoStartPowerOffResponse struct {
  8123  }
  8124  
  8125  type AutoStartPowerOn AutoStartPowerOnRequestType
  8126  
  8127  func init() {
  8128  	t["AutoStartPowerOn"] = reflect.TypeOf((*AutoStartPowerOn)(nil)).Elem()
  8129  }
  8130  
  8131  type AutoStartPowerOnRequestType struct {
  8132  	This ManagedObjectReference `xml:"_this" json:"-"`
  8133  }
  8134  
  8135  func init() {
  8136  	t["AutoStartPowerOnRequestType"] = reflect.TypeOf((*AutoStartPowerOnRequestType)(nil)).Elem()
  8137  }
  8138  
  8139  type AutoStartPowerOnResponse struct {
  8140  }
  8141  
  8142  // Thrown if backupConfig blob is corrupted
  8143  type BackupBlobReadFailure struct {
  8144  	DvsFault
  8145  
  8146  	// The entity name on which backupConfig read failed
  8147  	EntityName string `xml:"entityName" json:"entityName"`
  8148  	// The entity type on which backupConfig read failed
  8149  	EntityType string `xml:"entityType" json:"entityType"`
  8150  	// The fault that occurred.
  8151  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8152  }
  8153  
  8154  func init() {
  8155  	t["BackupBlobReadFailure"] = reflect.TypeOf((*BackupBlobReadFailure)(nil)).Elem()
  8156  }
  8157  
  8158  type BackupBlobReadFailureFault BackupBlobReadFailure
  8159  
  8160  func init() {
  8161  	t["BackupBlobReadFailureFault"] = reflect.TypeOf((*BackupBlobReadFailureFault)(nil)).Elem()
  8162  }
  8163  
  8164  // Thrown if backupConfig blob write fails
  8165  type BackupBlobWriteFailure struct {
  8166  	DvsFault
  8167  
  8168  	// The entity name on which backupConfig write failed
  8169  	EntityName string `xml:"entityName" json:"entityName"`
  8170  	// The entity type on which backupConfig write failed
  8171  	EntityType string `xml:"entityType" json:"entityType"`
  8172  	// The fault that occurred.
  8173  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8174  }
  8175  
  8176  func init() {
  8177  	t["BackupBlobWriteFailure"] = reflect.TypeOf((*BackupBlobWriteFailure)(nil)).Elem()
  8178  }
  8179  
  8180  type BackupBlobWriteFailureFault BackupBlobWriteFailure
  8181  
  8182  func init() {
  8183  	t["BackupBlobWriteFailureFault"] = reflect.TypeOf((*BackupBlobWriteFailureFault)(nil)).Elem()
  8184  }
  8185  
  8186  type BackupFirmwareConfiguration BackupFirmwareConfigurationRequestType
  8187  
  8188  func init() {
  8189  	t["BackupFirmwareConfiguration"] = reflect.TypeOf((*BackupFirmwareConfiguration)(nil)).Elem()
  8190  }
  8191  
  8192  type BackupFirmwareConfigurationRequestType struct {
  8193  	This ManagedObjectReference `xml:"_this" json:"-"`
  8194  }
  8195  
  8196  func init() {
  8197  	t["BackupFirmwareConfigurationRequestType"] = reflect.TypeOf((*BackupFirmwareConfigurationRequestType)(nil)).Elem()
  8198  }
  8199  
  8200  type BackupFirmwareConfigurationResponse struct {
  8201  	Returnval string `xml:"returnval" json:"returnval"`
  8202  }
  8203  
  8204  // This event records a failed user logon.
  8205  //
  8206  // Failed logons are due to no match existing
  8207  // between the provided user name and password combination and the combinations
  8208  // stored for authentication.
  8209  type BadUsernameSessionEvent struct {
  8210  	SessionEvent
  8211  
  8212  	// The IP address of the peer that initiated the connection.
  8213  	//
  8214  	// This may
  8215  	// be the client that originated the session, or it may be an intervening
  8216  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
  8217  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
  8218  }
  8219  
  8220  func init() {
  8221  	t["BadUsernameSessionEvent"] = reflect.TypeOf((*BadUsernameSessionEvent)(nil)).Elem()
  8222  }
  8223  
  8224  // This data object type contains the basic configuration for
  8225  // a virtual storage object or a virtual storage object snapshot.
  8226  type BaseConfigInfo struct {
  8227  	DynamicData
  8228  
  8229  	// ID of this object.
  8230  	Id ID `xml:"id" json:"id"`
  8231  	// Descriptive name of this object.
  8232  	Name string `xml:"name" json:"name"`
  8233  	// The date and time this object was created.
  8234  	CreateTime time.Time `xml:"createTime" json:"createTime"`
  8235  	// Choice of the deletion behavior of this virtual storage object.
  8236  	//
  8237  	// If not set, the default value is false.
  8238  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
  8239  	// Is virtual storage object relocation disabled.
  8240  	//
  8241  	// If not set, the default value is false.
  8242  	RelocationDisabled *bool `xml:"relocationDisabled" json:"relocationDisabled,omitempty"`
  8243  	// Is virtual storage object supports native snapshot.
  8244  	//
  8245  	// If not set, the default value is false.
  8246  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty"`
  8247  	// If Virtua storage object has changed block tracking enabled.
  8248  	//
  8249  	// If not set, the default value is false.
  8250  	ChangedBlockTrackingEnabled *bool `xml:"changedBlockTrackingEnabled" json:"changedBlockTrackingEnabled,omitempty"`
  8251  	// Backing of this object.
  8252  	Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr" json:"backing"`
  8253  	// Metadata associated with the FCD if available.
  8254  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"7.0.2.0"`
  8255  	// VClock associated with the fcd when the operation completed.
  8256  	//
  8257  	// The files is unset if the operation is a retrieve.
  8258  	Vclock *VslmVClockInfo `xml:"vclock,omitempty" json:"vclock,omitempty" vim:"7.0.2.0"`
  8259  	// IDs of the IO Filters associated with the virtual disk.
  8260  	//
  8261  	// See `IoFilterInfo.id`.
  8262  	// The client cannot modify this information on a virtual machine.
  8263  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty"`
  8264  }
  8265  
  8266  func init() {
  8267  	t["BaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem()
  8268  }
  8269  
  8270  // The data object type is a base type of backing of a virtual
  8271  // storage object.
  8272  type BaseConfigInfoBackingInfo struct {
  8273  	DynamicData
  8274  
  8275  	// The datastore managed object where this backing is located.
  8276  	//
  8277  	// Refers instance of `Datastore`.
  8278  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
  8279  }
  8280  
  8281  func init() {
  8282  	t["BaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem()
  8283  }
  8284  
  8285  // The data object type for disk file backing of a virtual storage
  8286  // object.
  8287  //
  8288  // Disk file backing provides full virtualization of the backend
  8289  // storage.
  8290  type BaseConfigInfoDiskFileBackingInfo struct {
  8291  	BaseConfigInfoFileBackingInfo
  8292  
  8293  	// Provisioning type.
  8294  	//
  8295  	// See `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum` for the
  8296  	// supported types.
  8297  	ProvisioningType string `xml:"provisioningType" json:"provisioningType"`
  8298  }
  8299  
  8300  func init() {
  8301  	t["BaseConfigInfoDiskFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfo)(nil)).Elem()
  8302  }
  8303  
  8304  // Information for file backing of a virtual storage
  8305  // object.
  8306  //
  8307  // File backing is mainly used for virtual disks.
  8308  type BaseConfigInfoFileBackingInfo struct {
  8309  	BaseConfigInfoBackingInfo
  8310  
  8311  	// Full file path for the host file used in this backing.
  8312  	FilePath string `xml:"filePath" json:"filePath"`
  8313  	// Id refers to the backed storage object where the virtual storage object
  8314  	// is backed on.
  8315  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
  8316  	// The parent of this virtual disk file, if this is a delta disk backing.
  8317  	//
  8318  	// This will be unset if this is the root disk backing.
  8319  	//
  8320  	// Note that the type of the backing is consistent throughout the chain;
  8321  	// any new delta disk backing which is added is of the same type as the
  8322  	// original disk. Also note that since the parent backing is not being
  8323  	// written to, it is possible that the parent backing may be shared among
  8324  	// multiple disks.
  8325  	//
  8326  	// Only raw disk mappings in
  8327  	// *virtual compatibility mode* can have parents.
  8328  	Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr" json:"parent,omitempty"`
  8329  	// Size allocated by the FS for this file/chain/link/extent only.
  8330  	//
  8331  	// This property is used only for a delta disk whose
  8332  	// `BaseConfigInfoFileBackingInfo.parent` is set.
  8333  	DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty" json:"deltaSizeInMB,omitempty"`
  8334  	// key id used to encrypt the backing disk.
  8335  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
  8336  }
  8337  
  8338  func init() {
  8339  	t["BaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem()
  8340  }
  8341  
  8342  // This data object type contains information about raw device mapping.
  8343  type BaseConfigInfoRawDiskMappingBackingInfo struct {
  8344  	BaseConfigInfoFileBackingInfo
  8345  
  8346  	// Unique identifier of the LUN accessed by the raw disk mapping.
  8347  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
  8348  	// The compatibility mode of the raw disk mapping (RDM).
  8349  	//
  8350  	// This must be
  8351  	// specified when a new virtual disk with an RDM backing is created.
  8352  	//
  8353  	// See also `VirtualDiskCompatibilityMode_enum`.
  8354  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
  8355  }
  8356  
  8357  func init() {
  8358  	t["BaseConfigInfoRawDiskMappingBackingInfo"] = reflect.TypeOf((*BaseConfigInfoRawDiskMappingBackingInfo)(nil)).Elem()
  8359  }
  8360  
  8361  // The parameters of `Folder.BatchAddHostsToCluster_Task`.
  8362  type BatchAddHostsToClusterRequestType struct {
  8363  	This ManagedObjectReference `xml:"_this" json:"-"`
  8364  	// Specifies the cluster to which hosts need to be
  8365  	// added.
  8366  	//
  8367  	// Refers instance of `ClusterComputeResource`.
  8368  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
  8369  	// Specifies a list of new hosts to be added to
  8370  	// the cluster. Hosts are first added as standalone hosts.
  8371  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8372  	// Specifies a list of existing hosts to be
  8373  	// added to the cluster. Hosts are first moved to the desired state
  8374  	// before moving them to cluster.
  8375  	//
  8376  	// Refers instances of `HostSystem`.
  8377  	ExistingHosts []ManagedObjectReference `xml:"existingHosts,omitempty" json:"existingHosts,omitempty"`
  8378  	// Specifies the configuration for the compute
  8379  	// resource that will be created to contain all the hosts.
  8380  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8381  	// Specifies desired state for hosts once added to
  8382  	// the cluster. If not specified, hosts are added to the cluster in their
  8383  	// current state. See `FolderDesiredHostState_enum` for valid values.
  8384  	DesiredState string `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
  8385  }
  8386  
  8387  func init() {
  8388  	t["BatchAddHostsToClusterRequestType"] = reflect.TypeOf((*BatchAddHostsToClusterRequestType)(nil)).Elem()
  8389  }
  8390  
  8391  type BatchAddHostsToCluster_Task BatchAddHostsToClusterRequestType
  8392  
  8393  func init() {
  8394  	t["BatchAddHostsToCluster_Task"] = reflect.TypeOf((*BatchAddHostsToCluster_Task)(nil)).Elem()
  8395  }
  8396  
  8397  type BatchAddHostsToCluster_TaskResponse struct {
  8398  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8399  }
  8400  
  8401  // The parameters of `Folder.BatchAddStandaloneHosts_Task`.
  8402  type BatchAddStandaloneHostsRequestType struct {
  8403  	This ManagedObjectReference `xml:"_this" json:"-"`
  8404  	// Specifies a list of host specifications for new hosts.
  8405  	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
  8406  	// Specifies the configuration for the compute
  8407  	// resource that will be created to contain all the
  8408  	// hosts.
  8409  	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
  8410  	// Flag to specify whether or not hosts should be
  8411  	// connected at the time they are added. A host will not
  8412  	// be added if a connection attempt is made and fails.
  8413  	AddConnected bool `xml:"addConnected" json:"addConnected"`
  8414  }
  8415  
  8416  func init() {
  8417  	t["BatchAddStandaloneHostsRequestType"] = reflect.TypeOf((*BatchAddStandaloneHostsRequestType)(nil)).Elem()
  8418  }
  8419  
  8420  type BatchAddStandaloneHosts_Task BatchAddStandaloneHostsRequestType
  8421  
  8422  func init() {
  8423  	t["BatchAddStandaloneHosts_Task"] = reflect.TypeOf((*BatchAddStandaloneHosts_Task)(nil)).Elem()
  8424  }
  8425  
  8426  type BatchAddStandaloneHosts_TaskResponse struct {
  8427  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  8428  }
  8429  
  8430  type BatchQueryConnectInfo BatchQueryConnectInfoRequestType
  8431  
  8432  func init() {
  8433  	t["BatchQueryConnectInfo"] = reflect.TypeOf((*BatchQueryConnectInfo)(nil)).Elem()
  8434  }
  8435  
  8436  // The parameters of `Datacenter.BatchQueryConnectInfo`.
  8437  type BatchQueryConnectInfoRequestType struct {
  8438  	This ManagedObjectReference `xml:"_this" json:"-"`
  8439  	// Information about the set of hosts to query.
  8440  	HostSpecs []HostConnectSpec `xml:"hostSpecs,omitempty" json:"hostSpecs,omitempty"`
  8441  }
  8442  
  8443  func init() {
  8444  	t["BatchQueryConnectInfoRequestType"] = reflect.TypeOf((*BatchQueryConnectInfoRequestType)(nil)).Elem()
  8445  }
  8446  
  8447  type BatchQueryConnectInfoResponse struct {
  8448  	Returnval []DatacenterBasicConnectInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
  8449  }
  8450  
  8451  // Results of Batch APIs.
  8452  type BatchResult struct {
  8453  	DynamicData
  8454  
  8455  	// Enum value for @link BatchResult.Result
  8456  	Result string `xml:"result" json:"result"`
  8457  	// Host for which the result applies.
  8458  	HostKey string `xml:"hostKey" json:"hostKey"`
  8459  	// The datastore that is created.
  8460  	//
  8461  	// Refers instance of `Datastore`.
  8462  	Ds *ManagedObjectReference `xml:"ds,omitempty" json:"ds,omitempty"`
  8463  	// 'fault' would be set if the operation was not successful
  8464  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
  8465  }
  8466  
  8467  func init() {
  8468  	t["BatchResult"] = reflect.TypeOf((*BatchResult)(nil)).Elem()
  8469  }
  8470  
  8471  type BindVnic BindVnicRequestType
  8472  
  8473  func init() {
  8474  	t["BindVnic"] = reflect.TypeOf((*BindVnic)(nil)).Elem()
  8475  }
  8476  
  8477  // The parameters of `IscsiManager.BindVnic`.
  8478  type BindVnicRequestType struct {
  8479  	This ManagedObjectReference `xml:"_this" json:"-"`
  8480  	// iSCSI adapter name for which the Virtual NIC to
  8481  	// be added.
  8482  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
  8483  	// Virtual NIC that is to be bound to the iSCSI HBA
  8484  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
  8485  }
  8486  
  8487  func init() {
  8488  	t["BindVnicRequestType"] = reflect.TypeOf((*BindVnicRequestType)(nil)).Elem()
  8489  }
  8490  
  8491  type BindVnicResponse struct {
  8492  }
  8493  
  8494  // Fault indicating that firewall configuration prevents
  8495  // an operation from completing successfully.
  8496  type BlockedByFirewall struct {
  8497  	HostConfigFault
  8498  }
  8499  
  8500  func init() {
  8501  	t["BlockedByFirewall"] = reflect.TypeOf((*BlockedByFirewall)(nil)).Elem()
  8502  }
  8503  
  8504  type BlockedByFirewallFault BlockedByFirewall
  8505  
  8506  func init() {
  8507  	t["BlockedByFirewallFault"] = reflect.TypeOf((*BlockedByFirewallFault)(nil)).Elem()
  8508  }
  8509  
  8510  // The BoolOption data object type describes if an option
  8511  // is supported ("true") and if the option is set to "true" or
  8512  // "false" by default.
  8513  type BoolOption struct {
  8514  	OptionType
  8515  
  8516  	// The flag to indicate whether or not the
  8517  	// option is supported.
  8518  	Supported bool `xml:"supported" json:"supported"`
  8519  	// The default value for the option.
  8520  	DefaultValue bool `xml:"defaultValue" json:"defaultValue"`
  8521  }
  8522  
  8523  func init() {
  8524  	t["BoolOption"] = reflect.TypeOf((*BoolOption)(nil)).Elem()
  8525  }
  8526  
  8527  // The boolean type of setting or configuration that may get an
  8528  // inherited value.
  8529  type BoolPolicy struct {
  8530  	InheritablePolicy
  8531  
  8532  	// The boolean value that is either set or inherited.
  8533  	Value *bool `xml:"value" json:"value,omitempty"`
  8534  }
  8535  
  8536  func init() {
  8537  	t["BoolPolicy"] = reflect.TypeOf((*BoolPolicy)(nil)).Elem()
  8538  }
  8539  
  8540  type BrowseDiagnosticLog BrowseDiagnosticLogRequestType
  8541  
  8542  func init() {
  8543  	t["BrowseDiagnosticLog"] = reflect.TypeOf((*BrowseDiagnosticLog)(nil)).Elem()
  8544  }
  8545  
  8546  // The parameters of `DiagnosticManager.BrowseDiagnosticLog`.
  8547  type BrowseDiagnosticLogRequestType struct {
  8548  	This ManagedObjectReference `xml:"_this" json:"-"`
  8549  	// Specifies the host. If not specified, then it defaults
  8550  	// to the default server. For example, if called on
  8551  	// VirtualCenter, then the value defaults to VirtualCenter
  8552  	// logs.
  8553  	//
  8554  	// Refers instance of `HostSystem`.
  8555  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  8556  	// A string key specifying the key for the log file to
  8557  	// browse. Keys can be obtained using the queryDescriptions
  8558  	// method.
  8559  	Key string `xml:"key" json:"key"`
  8560  	// The line number for the first entry to be returned. If the
  8561  	// parameter is not specified, then the operation returns
  8562  	// with lines starting from the top of the log.
  8563  	Start int32 `xml:"start,omitempty" json:"start,omitempty"`
  8564  	// The number of lines to return. If not specified, then
  8565  	// all lines are returned from the start value to the end of
  8566  	// the file.
  8567  	Lines int32 `xml:"lines,omitempty" json:"lines,omitempty"`
  8568  }
  8569  
  8570  func init() {
  8571  	t["BrowseDiagnosticLogRequestType"] = reflect.TypeOf((*BrowseDiagnosticLogRequestType)(nil)).Elem()
  8572  }
  8573  
  8574  type BrowseDiagnosticLogResponse struct {
  8575  	Returnval DiagnosticManagerLogHeader `xml:"returnval" json:"returnval"`
  8576  }
  8577  
  8578  // Fault indicating that the CAM server
  8579  // cannot be connected.
  8580  type CAMServerRefusedConnection struct {
  8581  	InvalidCAMServer
  8582  }
  8583  
  8584  func init() {
  8585  	t["CAMServerRefusedConnection"] = reflect.TypeOf((*CAMServerRefusedConnection)(nil)).Elem()
  8586  }
  8587  
  8588  type CAMServerRefusedConnectionFault CAMServerRefusedConnection
  8589  
  8590  func init() {
  8591  	t["CAMServerRefusedConnectionFault"] = reflect.TypeOf((*CAMServerRefusedConnectionFault)(nil)).Elem()
  8592  }
  8593  
  8594  type CanProvisionObjects CanProvisionObjectsRequestType
  8595  
  8596  func init() {
  8597  	t["CanProvisionObjects"] = reflect.TypeOf((*CanProvisionObjects)(nil)).Elem()
  8598  }
  8599  
  8600  // The parameters of `HostVsanInternalSystem.CanProvisionObjects`.
  8601  type CanProvisionObjectsRequestType struct {
  8602  	This ManagedObjectReference `xml:"_this" json:"-"`
  8603  	// List of NewPolicyBatch structure with sizes and policies.
  8604  	Npbs []VsanNewPolicyBatch `xml:"npbs" json:"npbs"`
  8605  	// Optionally populate PolicyCost even though
  8606  	// object cannot be provisioned in the current cluster topology.
  8607  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty"`
  8608  }
  8609  
  8610  func init() {
  8611  	t["CanProvisionObjectsRequestType"] = reflect.TypeOf((*CanProvisionObjectsRequestType)(nil)).Elem()
  8612  }
  8613  
  8614  type CanProvisionObjectsResponse struct {
  8615  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
  8616  }
  8617  
  8618  type CancelRecommendation CancelRecommendationRequestType
  8619  
  8620  func init() {
  8621  	t["CancelRecommendation"] = reflect.TypeOf((*CancelRecommendation)(nil)).Elem()
  8622  }
  8623  
  8624  // The parameters of `ClusterComputeResource.CancelRecommendation`.
  8625  type CancelRecommendationRequestType struct {
  8626  	This ManagedObjectReference `xml:"_this" json:"-"`
  8627  	// The key field of the Recommendation.
  8628  	Key string `xml:"key" json:"key"`
  8629  }
  8630  
  8631  func init() {
  8632  	t["CancelRecommendationRequestType"] = reflect.TypeOf((*CancelRecommendationRequestType)(nil)).Elem()
  8633  }
  8634  
  8635  type CancelRecommendationResponse struct {
  8636  }
  8637  
  8638  type CancelRetrievePropertiesEx CancelRetrievePropertiesExRequestType
  8639  
  8640  func init() {
  8641  	t["CancelRetrievePropertiesEx"] = reflect.TypeOf((*CancelRetrievePropertiesEx)(nil)).Elem()
  8642  }
  8643  
  8644  // The parameters of `PropertyCollector.CancelRetrievePropertiesEx`.
  8645  type CancelRetrievePropertiesExRequestType struct {
  8646  	This ManagedObjectReference `xml:"_this" json:"-"`
  8647  	// the token returned in the previous `RetrieveResult` returned on the same session by the
  8648  	// same `PropertyCollector`.
  8649  	Token string `xml:"token" json:"token"`
  8650  }
  8651  
  8652  func init() {
  8653  	t["CancelRetrievePropertiesExRequestType"] = reflect.TypeOf((*CancelRetrievePropertiesExRequestType)(nil)).Elem()
  8654  }
  8655  
  8656  type CancelRetrievePropertiesExResponse struct {
  8657  }
  8658  
  8659  type CancelStorageDrsRecommendation CancelStorageDrsRecommendationRequestType
  8660  
  8661  func init() {
  8662  	t["CancelStorageDrsRecommendation"] = reflect.TypeOf((*CancelStorageDrsRecommendation)(nil)).Elem()
  8663  }
  8664  
  8665  // The parameters of `StorageResourceManager.CancelStorageDrsRecommendation`.
  8666  type CancelStorageDrsRecommendationRequestType struct {
  8667  	This ManagedObjectReference `xml:"_this" json:"-"`
  8668  	// The key field of the Recommendation.
  8669  	Key []string `xml:"key" json:"key"`
  8670  }
  8671  
  8672  func init() {
  8673  	t["CancelStorageDrsRecommendationRequestType"] = reflect.TypeOf((*CancelStorageDrsRecommendationRequestType)(nil)).Elem()
  8674  }
  8675  
  8676  type CancelStorageDrsRecommendationResponse struct {
  8677  }
  8678  
  8679  type CancelTask CancelTaskRequestType
  8680  
  8681  func init() {
  8682  	t["CancelTask"] = reflect.TypeOf((*CancelTask)(nil)).Elem()
  8683  }
  8684  
  8685  type CancelTaskRequestType struct {
  8686  	This ManagedObjectReference `xml:"_this" json:"-"`
  8687  }
  8688  
  8689  func init() {
  8690  	t["CancelTaskRequestType"] = reflect.TypeOf((*CancelTaskRequestType)(nil)).Elem()
  8691  }
  8692  
  8693  type CancelTaskResponse struct {
  8694  }
  8695  
  8696  type CancelWaitForUpdates CancelWaitForUpdatesRequestType
  8697  
  8698  func init() {
  8699  	t["CancelWaitForUpdates"] = reflect.TypeOf((*CancelWaitForUpdates)(nil)).Elem()
  8700  }
  8701  
  8702  type CancelWaitForUpdatesRequestType struct {
  8703  	This ManagedObjectReference `xml:"_this" json:"-"`
  8704  }
  8705  
  8706  func init() {
  8707  	t["CancelWaitForUpdatesRequestType"] = reflect.TypeOf((*CancelWaitForUpdatesRequestType)(nil)).Elem()
  8708  }
  8709  
  8710  type CancelWaitForUpdatesResponse struct {
  8711  }
  8712  
  8713  // An operation performed on the host was canceled.
  8714  //
  8715  // Typically,
  8716  // a previous event in the sequence of events contains more
  8717  // information about the cause of this cancellation.
  8718  type CanceledHostOperationEvent struct {
  8719  	HostEvent
  8720  }
  8721  
  8722  func init() {
  8723  	t["CanceledHostOperationEvent"] = reflect.TypeOf((*CanceledHostOperationEvent)(nil)).Elem()
  8724  }
  8725  
  8726  // This fault is thrown when an operation fails because of insufficient
  8727  // permissions to access a file.
  8728  type CannotAccessFile struct {
  8729  	FileFault
  8730  }
  8731  
  8732  func init() {
  8733  	t["CannotAccessFile"] = reflect.TypeOf((*CannotAccessFile)(nil)).Elem()
  8734  }
  8735  
  8736  type CannotAccessFileFault CannotAccessFile
  8737  
  8738  func init() {
  8739  	t["CannotAccessFileFault"] = reflect.TypeOf((*CannotAccessFileFault)(nil)).Elem()
  8740  }
  8741  
  8742  // An CannotAccessLocalSourceFault exception is thrown when a
  8743  // an attempt is made to upload license content
  8744  // and the local source cannot be accesed.
  8745  type CannotAccessLocalSource struct {
  8746  	VimFault
  8747  }
  8748  
  8749  func init() {
  8750  	t["CannotAccessLocalSource"] = reflect.TypeOf((*CannotAccessLocalSource)(nil)).Elem()
  8751  }
  8752  
  8753  type CannotAccessLocalSourceFault CannotAccessLocalSource
  8754  
  8755  func init() {
  8756  	t["CannotAccessLocalSourceFault"] = reflect.TypeOf((*CannotAccessLocalSourceFault)(nil)).Elem()
  8757  }
  8758  
  8759  // A network associated with the virtual machine is not accessible.
  8760  //
  8761  // If returned as
  8762  // part of migration checks, this is an error if either of the following is true,
  8763  // a warning otherwise:
  8764  //   - The virtual ethernet card device backing is a distributed virtual switch,
  8765  //     of which the destination host is not a member
  8766  //   - The virtual ethernet card device backing is a standard network and the
  8767  //     the device is connected
  8768  type CannotAccessNetwork struct {
  8769  	CannotAccessVmDevice
  8770  
  8771  	// A reference to the network that cannot be accessed
  8772  	//
  8773  	// Refers instance of `Network`.
  8774  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
  8775  }
  8776  
  8777  func init() {
  8778  	t["CannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem()
  8779  }
  8780  
  8781  type CannotAccessNetworkFault BaseCannotAccessNetwork
  8782  
  8783  func init() {
  8784  	t["CannotAccessNetworkFault"] = reflect.TypeOf((*CannotAccessNetworkFault)(nil)).Elem()
  8785  }
  8786  
  8787  // One of the virtual machine's components is not accessible on the execution host.
  8788  //
  8789  // This is a base class. Subclasses will encode the type of component that is not
  8790  // accessible.
  8791  type CannotAccessVmComponent struct {
  8792  	VmConfigFault
  8793  }
  8794  
  8795  func init() {
  8796  	t["CannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem()
  8797  }
  8798  
  8799  type CannotAccessVmComponentFault BaseCannotAccessVmComponent
  8800  
  8801  func init() {
  8802  	t["CannotAccessVmComponentFault"] = reflect.TypeOf((*CannotAccessVmComponentFault)(nil)).Elem()
  8803  }
  8804  
  8805  // One or more of the virtual machine's configuration files are not accessible.
  8806  type CannotAccessVmConfig struct {
  8807  	CannotAccessVmComponent
  8808  
  8809  	// Contains the reason why the VM file could not be found.
  8810  	//
  8811  	// This is typically
  8812  	// a FileFault.
  8813  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
  8814  }
  8815  
  8816  func init() {
  8817  	t["CannotAccessVmConfig"] = reflect.TypeOf((*CannotAccessVmConfig)(nil)).Elem()
  8818  }
  8819  
  8820  type CannotAccessVmConfigFault CannotAccessVmConfig
  8821  
  8822  func init() {
  8823  	t["CannotAccessVmConfigFault"] = reflect.TypeOf((*CannotAccessVmConfigFault)(nil)).Elem()
  8824  }
  8825  
  8826  // One of the virtual machine's devices uses a backing that is not accessible
  8827  // on the host.
  8828  //
  8829  // Following is a discussion of this fault's use in migration validation.
  8830  // This is an error if the device is currently connected and a warning
  8831  // otherwise. Devices that can be disconnected can only be connected if the virtual
  8832  // machine is powered on.
  8833  //
  8834  // The usage of this fault is slightly different if the backing of a device is
  8835  // inherently host-local, and therefore not shared or globally named among
  8836  // hosts. (Examples of such backings: physical CD-ROM drive, physical serial
  8837  // port.) If a device with such a backing is currently connected, that will
  8838  // be a migration error. If the device is disconnected, there will be a
  8839  // warning if no backing with the same name exists on the destination host.
  8840  // If the device is disconnected and a backing with the same name exists on
  8841  // the destination host, this is neither a warning nor an error case, even
  8842  // though the destination host's backing is not the same instance as the
  8843  // source host's. It is assumed that use of the host-local backing is what is
  8844  // desired for the device.
  8845  type CannotAccessVmDevice struct {
  8846  	CannotAccessVmComponent
  8847  
  8848  	// The label of the device.
  8849  	Device string `xml:"device" json:"device"`
  8850  	// The backing of the device.
  8851  	Backing string `xml:"backing" json:"backing"`
  8852  	// The connected/disconnected state of the device.
  8853  	Connected bool `xml:"connected" json:"connected"`
  8854  }
  8855  
  8856  func init() {
  8857  	t["CannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem()
  8858  }
  8859  
  8860  type CannotAccessVmDeviceFault BaseCannotAccessVmDevice
  8861  
  8862  func init() {
  8863  	t["CannotAccessVmDeviceFault"] = reflect.TypeOf((*CannotAccessVmDeviceFault)(nil)).Elem()
  8864  }
  8865  
  8866  // One of the virtual machine's virtual disks is not accessible.
  8867  type CannotAccessVmDisk struct {
  8868  	CannotAccessVmDevice
  8869  
  8870  	// The reason why the disk could not be accessed
  8871  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
  8872  }
  8873  
  8874  func init() {
  8875  	t["CannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem()
  8876  }
  8877  
  8878  type CannotAccessVmDiskFault BaseCannotAccessVmDisk
  8879  
  8880  func init() {
  8881  	t["CannotAccessVmDiskFault"] = reflect.TypeOf((*CannotAccessVmDiskFault)(nil)).Elem()
  8882  }
  8883  
  8884  // Can not add a host with fault tolerance vms to be standalone
  8885  type CannotAddHostWithFTVmAsStandalone struct {
  8886  	HostConnectFault
  8887  }
  8888  
  8889  func init() {
  8890  	t["CannotAddHostWithFTVmAsStandalone"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandalone)(nil)).Elem()
  8891  }
  8892  
  8893  type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone
  8894  
  8895  func init() {
  8896  	t["CannotAddHostWithFTVmAsStandaloneFault"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandaloneFault)(nil)).Elem()
  8897  }
  8898  
  8899  // Can not add a host with fault tolerance vms to a different cluster other
  8900  // than the one used other vms in the same fault tolerance group.
  8901  type CannotAddHostWithFTVmToDifferentCluster struct {
  8902  	HostConnectFault
  8903  }
  8904  
  8905  func init() {
  8906  	t["CannotAddHostWithFTVmToDifferentCluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentCluster)(nil)).Elem()
  8907  }
  8908  
  8909  type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster
  8910  
  8911  func init() {
  8912  	t["CannotAddHostWithFTVmToDifferentClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentClusterFault)(nil)).Elem()
  8913  }
  8914  
  8915  // Can not add a host with fault tolerance vms to a non HA enabled cluster
  8916  type CannotAddHostWithFTVmToNonHACluster struct {
  8917  	HostConnectFault
  8918  }
  8919  
  8920  func init() {
  8921  	t["CannotAddHostWithFTVmToNonHACluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHACluster)(nil)).Elem()
  8922  }
  8923  
  8924  type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster
  8925  
  8926  func init() {
  8927  	t["CannotAddHostWithFTVmToNonHAClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHAClusterFault)(nil)).Elem()
  8928  }
  8929  
  8930  // This fault is used to report that the DRS behavior cannot be modified
  8931  // for a FT secondary virtual machine
  8932  type CannotChangeDrsBehaviorForFtSecondary struct {
  8933  	VmFaultToleranceIssue
  8934  
  8935  	// The virtual machine whose behavior cannot be modified
  8936  	//
  8937  	// Refers instance of `VirtualMachine`.
  8938  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  8939  	// Name of the virtual machine
  8940  	VmName string `xml:"vmName" json:"vmName"`
  8941  }
  8942  
  8943  func init() {
  8944  	t["CannotChangeDrsBehaviorForFtSecondary"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondary)(nil)).Elem()
  8945  }
  8946  
  8947  type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary
  8948  
  8949  func init() {
  8950  	t["CannotChangeDrsBehaviorForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondaryFault)(nil)).Elem()
  8951  }
  8952  
  8953  // This fault is used to report that the HA settings cannot be modified
  8954  // for a FT secondary virtual machine
  8955  type CannotChangeHaSettingsForFtSecondary struct {
  8956  	VmFaultToleranceIssue
  8957  
  8958  	// The FT secondary virtual machine whose behavior cannot be modified
  8959  	//
  8960  	// Refers instance of `VirtualMachine`.
  8961  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  8962  	// Name of the FT secondary virtual machine
  8963  	VmName string `xml:"vmName" json:"vmName"`
  8964  }
  8965  
  8966  func init() {
  8967  	t["CannotChangeHaSettingsForFtSecondary"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondary)(nil)).Elem()
  8968  }
  8969  
  8970  type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary
  8971  
  8972  func init() {
  8973  	t["CannotChangeHaSettingsForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondaryFault)(nil)).Elem()
  8974  }
  8975  
  8976  // Fault thrown for cases that a VSAN cluster UUID may not be changed.
  8977  //
  8978  // For example, the VSAN cluster UUID for a host may not be changed so long
  8979  // as that host is enabled for VSAN.
  8980  // The VSAN cluster UUID for a given `ClusterComputeResource` may
  8981  // not be changed so long as that vim.ClusterComputeResource is enabled for
  8982  // VSAN.
  8983  //
  8984  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  8985  type CannotChangeVsanClusterUuid struct {
  8986  	VsanFault
  8987  }
  8988  
  8989  func init() {
  8990  	t["CannotChangeVsanClusterUuid"] = reflect.TypeOf((*CannotChangeVsanClusterUuid)(nil)).Elem()
  8991  }
  8992  
  8993  type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid
  8994  
  8995  func init() {
  8996  	t["CannotChangeVsanClusterUuidFault"] = reflect.TypeOf((*CannotChangeVsanClusterUuidFault)(nil)).Elem()
  8997  }
  8998  
  8999  // Fault thrown for cases that a VSAN node UUID may not be changed.
  9000  //
  9001  // For example, the VSAN node UUID for a host may not be changed so long as
  9002  // that host is enabled for VSAN.
  9003  //
  9004  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  9005  type CannotChangeVsanNodeUuid struct {
  9006  	VsanFault
  9007  }
  9008  
  9009  func init() {
  9010  	t["CannotChangeVsanNodeUuid"] = reflect.TypeOf((*CannotChangeVsanNodeUuid)(nil)).Elem()
  9011  }
  9012  
  9013  type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid
  9014  
  9015  func init() {
  9016  	t["CannotChangeVsanNodeUuidFault"] = reflect.TypeOf((*CannotChangeVsanNodeUuidFault)(nil)).Elem()
  9017  }
  9018  
  9019  // This fault is used if FT compatible hosts cannot be computed for a VM
  9020  type CannotComputeFTCompatibleHosts struct {
  9021  	VmFaultToleranceIssue
  9022  
  9023  	// The virtual machine for FT compatible hosts is being computed
  9024  	//
  9025  	// Refers instance of `VirtualMachine`.
  9026  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9027  	// Name of the virtual machine
  9028  	VmName string `xml:"vmName" json:"vmName"`
  9029  }
  9030  
  9031  func init() {
  9032  	t["CannotComputeFTCompatibleHosts"] = reflect.TypeOf((*CannotComputeFTCompatibleHosts)(nil)).Elem()
  9033  }
  9034  
  9035  type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts
  9036  
  9037  func init() {
  9038  	t["CannotComputeFTCompatibleHostsFault"] = reflect.TypeOf((*CannotComputeFTCompatibleHostsFault)(nil)).Elem()
  9039  }
  9040  
  9041  // A CannotCreateFile exception is thrown if a file create
  9042  // operation fails.
  9043  type CannotCreateFile struct {
  9044  	FileFault
  9045  }
  9046  
  9047  func init() {
  9048  	t["CannotCreateFile"] = reflect.TypeOf((*CannotCreateFile)(nil)).Elem()
  9049  }
  9050  
  9051  type CannotCreateFileFault CannotCreateFile
  9052  
  9053  func init() {
  9054  	t["CannotCreateFileFault"] = reflect.TypeOf((*CannotCreateFileFault)(nil)).Elem()
  9055  }
  9056  
  9057  // The VirtualCenter server is unable to decrypt passwords stored in
  9058  // the customization specification.
  9059  type CannotDecryptPasswords struct {
  9060  	CustomizationFault
  9061  }
  9062  
  9063  func init() {
  9064  	t["CannotDecryptPasswords"] = reflect.TypeOf((*CannotDecryptPasswords)(nil)).Elem()
  9065  }
  9066  
  9067  type CannotDecryptPasswordsFault CannotDecryptPasswords
  9068  
  9069  func init() {
  9070  	t["CannotDecryptPasswordsFault"] = reflect.TypeOf((*CannotDecryptPasswordsFault)(nil)).Elem()
  9071  }
  9072  
  9073  // A CannotDeleteFile exception is thrown if a file-deletion
  9074  // operation fails.
  9075  type CannotDeleteFile struct {
  9076  	FileFault
  9077  }
  9078  
  9079  func init() {
  9080  	t["CannotDeleteFile"] = reflect.TypeOf((*CannotDeleteFile)(nil)).Elem()
  9081  }
  9082  
  9083  type CannotDeleteFileFault CannotDeleteFile
  9084  
  9085  func init() {
  9086  	t["CannotDeleteFileFault"] = reflect.TypeOf((*CannotDeleteFileFault)(nil)).Elem()
  9087  }
  9088  
  9089  // This fault is thrown when an attempt is made to disable DRS on a cluster,
  9090  // which contains a vApp.
  9091  type CannotDisableDrsOnClustersWithVApps struct {
  9092  	RuntimeFault
  9093  }
  9094  
  9095  func init() {
  9096  	t["CannotDisableDrsOnClustersWithVApps"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVApps)(nil)).Elem()
  9097  }
  9098  
  9099  type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps
  9100  
  9101  func init() {
  9102  	t["CannotDisableDrsOnClustersWithVAppsFault"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVAppsFault)(nil)).Elem()
  9103  }
  9104  
  9105  // Fault thrown when an attempt is made to disable snapshots on a virtual
  9106  // machine which has a snapshot.
  9107  //
  9108  // To disable the snapshot feature, the
  9109  // virtual machine must not currently have a snapshot.
  9110  type CannotDisableSnapshot struct {
  9111  	VmConfigFault
  9112  }
  9113  
  9114  func init() {
  9115  	t["CannotDisableSnapshot"] = reflect.TypeOf((*CannotDisableSnapshot)(nil)).Elem()
  9116  }
  9117  
  9118  type CannotDisableSnapshotFault CannotDisableSnapshot
  9119  
  9120  func init() {
  9121  	t["CannotDisableSnapshotFault"] = reflect.TypeOf((*CannotDisableSnapshotFault)(nil)).Elem()
  9122  }
  9123  
  9124  // This fault is thrown when an attempt is made to disconnect a host, which
  9125  // has one or more fault tolerance vms and is not in maintenance mode.
  9126  type CannotDisconnectHostWithFaultToleranceVm struct {
  9127  	VimFault
  9128  
  9129  	// The name of the host to be disconnected
  9130  	HostName string `xml:"hostName" json:"hostName"`
  9131  }
  9132  
  9133  func init() {
  9134  	t["CannotDisconnectHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVm)(nil)).Elem()
  9135  }
  9136  
  9137  type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm
  9138  
  9139  func init() {
  9140  	t["CannotDisconnectHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVmFault)(nil)).Elem()
  9141  }
  9142  
  9143  // This fault is thrown when an attempt is made to enable VM Component Protection
  9144  // on a cluster which contains a host that does not support this feature.
  9145  type CannotEnableVmcpForCluster struct {
  9146  	VimFault
  9147  
  9148  	// Report the host with APD timeout disabled.
  9149  	//
  9150  	// If the host is set it points to the host which is the reason
  9151  	// for this fault i.e this host has ADPTimeout disabled.
  9152  	//
  9153  	// Refers instance of `HostSystem`.
  9154  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9155  	// If set this reports the hostName.
  9156  	//
  9157  	// This is used for printing the host name in the
  9158  	// localized message as the host may have been removed
  9159  	// from the vCenter's inventory by the time localization would
  9160  	// be taking place.
  9161  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
  9162  	// This reports the reason for host not meeting the requirements
  9163  	// for enabling vSphere VMCP.
  9164  	//
  9165  	// It can be the following reason.
  9166  	//   - APDTimeout disabled.
  9167  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
  9168  }
  9169  
  9170  func init() {
  9171  	t["CannotEnableVmcpForCluster"] = reflect.TypeOf((*CannotEnableVmcpForCluster)(nil)).Elem()
  9172  }
  9173  
  9174  type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster
  9175  
  9176  func init() {
  9177  	t["CannotEnableVmcpForClusterFault"] = reflect.TypeOf((*CannotEnableVmcpForClusterFault)(nil)).Elem()
  9178  }
  9179  
  9180  // A virtual machine's total CPU feature requirements are determined by
  9181  // overlaying the requirements specified in its configuration (if any) on top
  9182  // of the requirements specified in the descriptor for its guest OS.
  9183  //
  9184  // It is
  9185  // therefore possible for a host change to implicitly change a virtual
  9186  // machine's CPU feature requirements. The guest OS descriptor may have
  9187  // different requirements on the new host. Or, if the virtual machine
  9188  // currently specifies requirements in its configuration, those requirements
  9189  // will be lost if the new host does not support this.
  9190  //
  9191  // This fault indicates that the virtual machine's CPU feature requirements
  9192  // would change because of a migration, and also that the destination host
  9193  // does not support storing CPU feature requirements in the virtual machine's
  9194  // configuration. (If the destination host does support such an action,
  9195  // WillModifyConfigCpuRequirements is used instead of this fault.)
  9196  //
  9197  // For a powered-off virtual machine, this is a warning. The migration may
  9198  // proceed, but the virtual machine will be operating under different
  9199  // CPU feature requirements if it is powered on after the migration.
  9200  //
  9201  // For a powered-on or suspended virtual machine, this is an error.
  9202  type CannotModifyConfigCpuRequirements struct {
  9203  	MigrationFault
  9204  }
  9205  
  9206  func init() {
  9207  	t["CannotModifyConfigCpuRequirements"] = reflect.TypeOf((*CannotModifyConfigCpuRequirements)(nil)).Elem()
  9208  }
  9209  
  9210  type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements
  9211  
  9212  func init() {
  9213  	t["CannotModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*CannotModifyConfigCpuRequirementsFault)(nil)).Elem()
  9214  }
  9215  
  9216  // This fault is thrown when an attempt is made to move a fault tolerance
  9217  // vm to a different resource pool or cluster.
  9218  type CannotMoveFaultToleranceVm struct {
  9219  	VimFault
  9220  
  9221  	// The type of the move
  9222  	MoveType string `xml:"moveType" json:"moveType"`
  9223  	// The virtual machine name to be moved.
  9224  	VmName string `xml:"vmName" json:"vmName"`
  9225  }
  9226  
  9227  func init() {
  9228  	t["CannotMoveFaultToleranceVm"] = reflect.TypeOf((*CannotMoveFaultToleranceVm)(nil)).Elem()
  9229  }
  9230  
  9231  type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm
  9232  
  9233  func init() {
  9234  	t["CannotMoveFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveFaultToleranceVmFault)(nil)).Elem()
  9235  }
  9236  
  9237  // This fault is thrown when an attempt is made to move a host which has
  9238  // one or more fault tolerance vms out of the current cluster.
  9239  type CannotMoveHostWithFaultToleranceVm struct {
  9240  	VimFault
  9241  }
  9242  
  9243  func init() {
  9244  	t["CannotMoveHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVm)(nil)).Elem()
  9245  }
  9246  
  9247  type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm
  9248  
  9249  func init() {
  9250  	t["CannotMoveHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVmFault)(nil)).Elem()
  9251  }
  9252  
  9253  // This fault is thrown when an attempt is made to relocate a virtual machine
  9254  // with virtual disk(s) having delta disk backing.
  9255  type CannotMoveVmWithDeltaDisk struct {
  9256  	MigrationFault
  9257  
  9258  	// The label of the delta disk device
  9259  	Device string `xml:"device" json:"device"`
  9260  }
  9261  
  9262  func init() {
  9263  	t["CannotMoveVmWithDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithDeltaDisk)(nil)).Elem()
  9264  }
  9265  
  9266  type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk
  9267  
  9268  func init() {
  9269  	t["CannotMoveVmWithDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithDeltaDiskFault)(nil)).Elem()
  9270  }
  9271  
  9272  // This fault is thrown when an attempt is made to migrate a virtual machine
  9273  // with native delta disks to different datastores.
  9274  type CannotMoveVmWithNativeDeltaDisk struct {
  9275  	MigrationFault
  9276  }
  9277  
  9278  func init() {
  9279  	t["CannotMoveVmWithNativeDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDisk)(nil)).Elem()
  9280  }
  9281  
  9282  type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk
  9283  
  9284  func init() {
  9285  	t["CannotMoveVmWithNativeDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDiskFault)(nil)).Elem()
  9286  }
  9287  
  9288  // Fault thrown for the case that an attempt is made to move a host which
  9289  // is enabled for VSAN into an unsuitable `ClusterComputeResource`.
  9290  //
  9291  // The destination vim.ClusterComputeResource may be disabled for VSAN, or
  9292  // may be using VSAN with a different cluster UUID.
  9293  //
  9294  // See also `ClusterComputeResource.AddHost_Task`, `ClusterComputeResource.MoveHostInto_Task`, `ClusterComputeResource.MoveInto_Task`, `VsanClusterUuidMismatch`, `DestinationVsanDisabled`.
  9295  type CannotMoveVsanEnabledHost struct {
  9296  	VsanFault
  9297  }
  9298  
  9299  func init() {
  9300  	t["CannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem()
  9301  }
  9302  
  9303  type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost
  9304  
  9305  func init() {
  9306  	t["CannotMoveVsanEnabledHostFault"] = reflect.TypeOf((*CannotMoveVsanEnabledHostFault)(nil)).Elem()
  9307  }
  9308  
  9309  // This fault is thrown when Storage DRS cannot recommend to place disks of
  9310  // a virtual machine without moving existing virtual disks in a
  9311  // datastore cluster.
  9312  type CannotPlaceWithoutPrerequisiteMoves struct {
  9313  	VimFault
  9314  }
  9315  
  9316  func init() {
  9317  	t["CannotPlaceWithoutPrerequisiteMoves"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMoves)(nil)).Elem()
  9318  }
  9319  
  9320  type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves
  9321  
  9322  func init() {
  9323  	t["CannotPlaceWithoutPrerequisiteMovesFault"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMovesFault)(nil)).Elem()
  9324  }
  9325  
  9326  // This fault is reported when a user attempts to power off or
  9327  // suspend a VM when the HA master agent to which vCenter Server is
  9328  // connected does not manage the VM.
  9329  type CannotPowerOffVmInCluster struct {
  9330  	InvalidState
  9331  
  9332  	// The operation being performed.
  9333  	//
  9334  	// Values come from
  9335  	// `CannotPowerOffVmInClusterOperation_enum`.
  9336  	Operation string `xml:"operation" json:"operation"`
  9337  	// The Virtual Machine
  9338  	//
  9339  	// Refers instance of `VirtualMachine`.
  9340  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9341  	// Name of the Virtual Machine
  9342  	VmName string `xml:"vmName" json:"vmName"`
  9343  }
  9344  
  9345  func init() {
  9346  	t["CannotPowerOffVmInCluster"] = reflect.TypeOf((*CannotPowerOffVmInCluster)(nil)).Elem()
  9347  }
  9348  
  9349  type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster
  9350  
  9351  func init() {
  9352  	t["CannotPowerOffVmInClusterFault"] = reflect.TypeOf((*CannotPowerOffVmInClusterFault)(nil)).Elem()
  9353  }
  9354  
  9355  // Fault thrown for the case that an attempt is made to reconfigure VSAN
  9356  // when HA is currently enabled for a given `ClusterComputeResource`.
  9357  //
  9358  // See also `ComputeResource.ReconfigureComputeResource_Task`.
  9359  type CannotReconfigureVsanWhenHaEnabled struct {
  9360  	VsanFault
  9361  }
  9362  
  9363  func init() {
  9364  	t["CannotReconfigureVsanWhenHaEnabled"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabled)(nil)).Elem()
  9365  }
  9366  
  9367  type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled
  9368  
  9369  func init() {
  9370  	t["CannotReconfigureVsanWhenHaEnabledFault"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabledFault)(nil)).Elem()
  9371  }
  9372  
  9373  // A network associated with the virtual machine is accessible, but it
  9374  // cannot be used for some reason.
  9375  type CannotUseNetwork struct {
  9376  	VmConfigFault
  9377  
  9378  	// The label of the network device.
  9379  	Device string `xml:"device" json:"device"`
  9380  	// The backing of the network device.
  9381  	Backing string `xml:"backing" json:"backing"`
  9382  	// The connected/disconnected state of the device.
  9383  	Connected bool `xml:"connected" json:"connected"`
  9384  	// Reason describing why the network cannot be used.
  9385  	Reason string `xml:"reason" json:"reason"`
  9386  	// A reference to the network that cannot be used
  9387  	//
  9388  	// Refers instance of `Network`.
  9389  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
  9390  }
  9391  
  9392  func init() {
  9393  	t["CannotUseNetwork"] = reflect.TypeOf((*CannotUseNetwork)(nil)).Elem()
  9394  }
  9395  
  9396  type CannotUseNetworkFault CannotUseNetwork
  9397  
  9398  func init() {
  9399  	t["CannotUseNetworkFault"] = reflect.TypeOf((*CannotUseNetworkFault)(nil)).Elem()
  9400  }
  9401  
  9402  // A particular product may or may not support certain features.
  9403  //
  9404  // This data object
  9405  // indicates whether or not a service instance implements these features. This data
  9406  // object type indicates the circumstances under which an operation throws a
  9407  // `NotSupported` fault.
  9408  //
  9409  // Support for some features is indicated by the presence or absence of
  9410  // the manager object from the service instance. For example, the AlarmManager manager
  9411  // object indicates collecting alarms is supported.
  9412  // Other features indicate whether or not a given operation on an
  9413  // object throws a `NotSupported` fault.
  9414  //
  9415  // Some capabilities depend on the host or virtual machine
  9416  // version. These are specified by using the vim.host.Capability and
  9417  // vim.vm.Capability objects.
  9418  type Capability struct {
  9419  	DynamicData
  9420  
  9421  	// Indicates whether or not the service instance supports provisioning.
  9422  	//
  9423  	// For example, the `CloneVM` operation.
  9424  	ProvisioningSupported bool `xml:"provisioningSupported" json:"provisioningSupported"`
  9425  	// Indicates whether or not the service instance supports multiple hosts.
  9426  	MultiHostSupported bool `xml:"multiHostSupported" json:"multiHostSupported"`
  9427  	// Flag indicating whether host user accounts should have the option to
  9428  	// be granted shell access
  9429  	UserShellAccessSupported bool `xml:"userShellAccessSupported" json:"userShellAccessSupported"`
  9430  	// All supported Enhanced VMotion Compatibility modes.
  9431  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty" json:"supportedEVCMode,omitempty"`
  9432  	// All supported Enhanced VMotion Compatibility Graphics modes.
  9433  	SupportedEVCGraphicsMode []FeatureEVCMode `xml:"supportedEVCGraphicsMode,omitempty" json:"supportedEVCGraphicsMode,omitempty" vim:"7.0.1.0"`
  9434  	// Indicates whether network backup and restore feature is supported.
  9435  	NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported" json:"networkBackupAndRestoreSupported,omitempty"`
  9436  	// Is DRS supported for Fault Tolerance VMs without enabling EVC.
  9437  	FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported" json:"ftDrsWithoutEvcSupported,omitempty"`
  9438  	// Specifies if the workflow for setting up a HCI cluster is supported.
  9439  	HciWorkflowSupported *bool `xml:"hciWorkflowSupported" json:"hciWorkflowSupported,omitempty"`
  9440  	// Specifies the supported compute policy version.
  9441  	ComputePolicyVersion      int32 `xml:"computePolicyVersion,omitempty" json:"computePolicyVersion,omitempty"`
  9442  	ClusterPlacementSupported *bool `xml:"clusterPlacementSupported" json:"clusterPlacementSupported,omitempty"`
  9443  	// Specifies if lifecycle management of a Cluster is supported.
  9444  	LifecycleManagementSupported *bool `xml:"lifecycleManagementSupported" json:"lifecycleManagementSupported,omitempty"`
  9445  	// Specifies if host seeding for a cluster is supported.
  9446  	HostSeedingSupported *bool `xml:"hostSeedingSupported" json:"hostSeedingSupported,omitempty" vim:"7.0.2.0"`
  9447  	// Specifies if scalable shares for resource pools is supported.
  9448  	ScalableSharesSupported *bool `xml:"scalableSharesSupported" json:"scalableSharesSupported,omitempty"`
  9449  	// Specifies if highly available distributed clustering service is supported.
  9450  	HadcsSupported *bool `xml:"hadcsSupported" json:"hadcsSupported,omitempty" vim:"7.0.1.1"`
  9451  	// Specifies if desired configuration management platform is supported
  9452  	// on the cluster.
  9453  	ConfigMgmtSupported *bool `xml:"configMgmtSupported" json:"configMgmtSupported,omitempty" vim:"7.0.3.1"`
  9454  }
  9455  
  9456  func init() {
  9457  	t["Capability"] = reflect.TypeOf((*Capability)(nil)).Elem()
  9458  }
  9459  
  9460  // The parameters of `CertificateManager.CertMgrRefreshCACertificatesAndCRLs_Task`.
  9461  type CertMgrRefreshCACertificatesAndCRLsRequestType struct {
  9462  	This ManagedObjectReference `xml:"_this" json:"-"`
  9463  	// the hosts on which the certificates need to be refreshed
  9464  	//
  9465  	// Refers instances of `HostSystem`.
  9466  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9467  }
  9468  
  9469  func init() {
  9470  	t["CertMgrRefreshCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLsRequestType)(nil)).Elem()
  9471  }
  9472  
  9473  type CertMgrRefreshCACertificatesAndCRLs_Task CertMgrRefreshCACertificatesAndCRLsRequestType
  9474  
  9475  func init() {
  9476  	t["CertMgrRefreshCACertificatesAndCRLs_Task"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLs_Task)(nil)).Elem()
  9477  }
  9478  
  9479  type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct {
  9480  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9481  }
  9482  
  9483  // The parameters of `CertificateManager.CertMgrRefreshCertificates_Task`.
  9484  type CertMgrRefreshCertificatesRequestType struct {
  9485  	This ManagedObjectReference `xml:"_this" json:"-"`
  9486  	// the hosts on which the certificates need to be refreshed
  9487  	//
  9488  	// Refers instances of `HostSystem`.
  9489  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9490  }
  9491  
  9492  func init() {
  9493  	t["CertMgrRefreshCertificatesRequestType"] = reflect.TypeOf((*CertMgrRefreshCertificatesRequestType)(nil)).Elem()
  9494  }
  9495  
  9496  type CertMgrRefreshCertificates_Task CertMgrRefreshCertificatesRequestType
  9497  
  9498  func init() {
  9499  	t["CertMgrRefreshCertificates_Task"] = reflect.TypeOf((*CertMgrRefreshCertificates_Task)(nil)).Elem()
  9500  }
  9501  
  9502  type CertMgrRefreshCertificates_TaskResponse struct {
  9503  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9504  }
  9505  
  9506  // The parameters of `CertificateManager.CertMgrRevokeCertificates_Task`.
  9507  type CertMgrRevokeCertificatesRequestType struct {
  9508  	This ManagedObjectReference `xml:"_this" json:"-"`
  9509  	// the hosts on which the certificates need to be revoked
  9510  	//
  9511  	// Refers instances of `HostSystem`.
  9512  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9513  }
  9514  
  9515  func init() {
  9516  	t["CertMgrRevokeCertificatesRequestType"] = reflect.TypeOf((*CertMgrRevokeCertificatesRequestType)(nil)).Elem()
  9517  }
  9518  
  9519  type CertMgrRevokeCertificates_Task CertMgrRevokeCertificatesRequestType
  9520  
  9521  func init() {
  9522  	t["CertMgrRevokeCertificates_Task"] = reflect.TypeOf((*CertMgrRevokeCertificates_Task)(nil)).Elem()
  9523  }
  9524  
  9525  type CertMgrRevokeCertificates_TaskResponse struct {
  9526  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9527  }
  9528  
  9529  type ChangeAccessMode ChangeAccessModeRequestType
  9530  
  9531  func init() {
  9532  	t["ChangeAccessMode"] = reflect.TypeOf((*ChangeAccessMode)(nil)).Elem()
  9533  }
  9534  
  9535  // The parameters of `HostAccessManager.ChangeAccessMode`.
  9536  type ChangeAccessModeRequestType struct {
  9537  	This ManagedObjectReference `xml:"_this" json:"-"`
  9538  	// The affected user or group.
  9539  	Principal string `xml:"principal" json:"principal"`
  9540  	// True if principal refers to a group account,
  9541  	// false otherwise.
  9542  	IsGroup bool `xml:"isGroup" json:"isGroup"`
  9543  	// AccessMode to be granted.
  9544  	// `accessOther` is meaningless and
  9545  	// will result in InvalidArgument exception.
  9546  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
  9547  }
  9548  
  9549  func init() {
  9550  	t["ChangeAccessModeRequestType"] = reflect.TypeOf((*ChangeAccessModeRequestType)(nil)).Elem()
  9551  }
  9552  
  9553  type ChangeAccessModeResponse struct {
  9554  }
  9555  
  9556  type ChangeFileAttributesInGuest ChangeFileAttributesInGuestRequestType
  9557  
  9558  func init() {
  9559  	t["ChangeFileAttributesInGuest"] = reflect.TypeOf((*ChangeFileAttributesInGuest)(nil)).Elem()
  9560  }
  9561  
  9562  // The parameters of `GuestFileManager.ChangeFileAttributesInGuest`.
  9563  type ChangeFileAttributesInGuestRequestType struct {
  9564  	This ManagedObjectReference `xml:"_this" json:"-"`
  9565  	// Virtual Machine to perform the operation on.
  9566  	//
  9567  	// Required privileges: VirtualMachine.GuestOperations.Modify
  9568  	//
  9569  	// Refers instance of `VirtualMachine`.
  9570  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9571  	// The guest authentication data. See
  9572  	// `GuestAuthentication`.
  9573  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
  9574  	// The complete path to the file to be copied in
  9575  	// the guest. If the file points to an symbolic link, then the
  9576  	// attributes of the target file are changed.
  9577  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
  9578  	// Specifies the different file attributes of the
  9579  	// guest file to be changed.
  9580  	// See `GuestFileAttributes`.
  9581  	// If any property is not specified, then the specific attribute of
  9582  	// the file will be unchanged.
  9583  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
  9584  }
  9585  
  9586  func init() {
  9587  	t["ChangeFileAttributesInGuestRequestType"] = reflect.TypeOf((*ChangeFileAttributesInGuestRequestType)(nil)).Elem()
  9588  }
  9589  
  9590  type ChangeFileAttributesInGuestResponse struct {
  9591  }
  9592  
  9593  // The parameters of `CryptoManagerHost.ChangeKey_Task`.
  9594  type ChangeKeyRequestType struct {
  9595  	This ManagedObjectReference `xml:"_this" json:"-"`
  9596  	// The key that replaces the existing core dump encryption key
  9597  	NewKey CryptoKeyPlain `xml:"newKey" json:"newKey"`
  9598  }
  9599  
  9600  func init() {
  9601  	t["ChangeKeyRequestType"] = reflect.TypeOf((*ChangeKeyRequestType)(nil)).Elem()
  9602  }
  9603  
  9604  type ChangeKey_Task ChangeKeyRequestType
  9605  
  9606  func init() {
  9607  	t["ChangeKey_Task"] = reflect.TypeOf((*ChangeKey_Task)(nil)).Elem()
  9608  }
  9609  
  9610  type ChangeKey_TaskResponse struct {
  9611  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9612  }
  9613  
  9614  type ChangeLockdownMode ChangeLockdownModeRequestType
  9615  
  9616  func init() {
  9617  	t["ChangeLockdownMode"] = reflect.TypeOf((*ChangeLockdownMode)(nil)).Elem()
  9618  }
  9619  
  9620  // The parameters of `HostAccessManager.ChangeLockdownMode`.
  9621  type ChangeLockdownModeRequestType struct {
  9622  	This ManagedObjectReference `xml:"_this" json:"-"`
  9623  	// The new desired lockdown mode.
  9624  	//
  9625  	// If this is the same as the current lockdown mode state, the
  9626  	// operation will silently succeed and nothing will be changed.
  9627  	//
  9628  	// If this is `lockdownDisabled`
  9629  	// then lockdown mode will be disabled and the system will
  9630  	// start service DCUI if it is not running.
  9631  	//
  9632  	// If this is `lockdownNormal`
  9633  	// then lockdown mode will be enabled and the system will
  9634  	// start service DCUI if it is not running.
  9635  	//
  9636  	// If this is `lockdownStrict`
  9637  	// then lockdown mode will be enabled and the system will
  9638  	// stop service DCUI if it is running.
  9639  	Mode HostLockdownMode `xml:"mode" json:"mode"`
  9640  }
  9641  
  9642  func init() {
  9643  	t["ChangeLockdownModeRequestType"] = reflect.TypeOf((*ChangeLockdownModeRequestType)(nil)).Elem()
  9644  }
  9645  
  9646  type ChangeLockdownModeResponse struct {
  9647  }
  9648  
  9649  type ChangeNFSUserPassword ChangeNFSUserPasswordRequestType
  9650  
  9651  func init() {
  9652  	t["ChangeNFSUserPassword"] = reflect.TypeOf((*ChangeNFSUserPassword)(nil)).Elem()
  9653  }
  9654  
  9655  // The parameters of `HostStorageSystem.ChangeNFSUserPassword`.
  9656  type ChangeNFSUserPasswordRequestType struct {
  9657  	This ManagedObjectReference `xml:"_this" json:"-"`
  9658  	// New password.
  9659  	Password string `xml:"password" json:"password"`
  9660  }
  9661  
  9662  func init() {
  9663  	t["ChangeNFSUserPasswordRequestType"] = reflect.TypeOf((*ChangeNFSUserPasswordRequestType)(nil)).Elem()
  9664  }
  9665  
  9666  type ChangeNFSUserPasswordResponse struct {
  9667  }
  9668  
  9669  type ChangeOwner ChangeOwnerRequestType
  9670  
  9671  func init() {
  9672  	t["ChangeOwner"] = reflect.TypeOf((*ChangeOwner)(nil)).Elem()
  9673  }
  9674  
  9675  // The parameters of `FileManager.ChangeOwner`.
  9676  type ChangeOwnerRequestType struct {
  9677  	This ManagedObjectReference `xml:"_this" json:"-"`
  9678  	Name string                 `xml:"name" json:"name"`
  9679  	// Required privileges: System.View
  9680  	//
  9681  	// Refers instance of `Datacenter`.
  9682  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
  9683  	Owner      string                  `xml:"owner" json:"owner"`
  9684  }
  9685  
  9686  func init() {
  9687  	t["ChangeOwnerRequestType"] = reflect.TypeOf((*ChangeOwnerRequestType)(nil)).Elem()
  9688  }
  9689  
  9690  type ChangeOwnerResponse struct {
  9691  }
  9692  
  9693  type ChangePassword ChangePasswordRequestType
  9694  
  9695  func init() {
  9696  	t["ChangePassword"] = reflect.TypeOf((*ChangePassword)(nil)).Elem()
  9697  }
  9698  
  9699  // The parameters of `HostLocalAccountManager.ChangePassword`.
  9700  type ChangePasswordRequestType struct {
  9701  	This ManagedObjectReference `xml:"_this" json:"-"`
  9702  	// the user whose password will be changed.
  9703  	User string `xml:"user" json:"user"`
  9704  	// the user's current (old) password.
  9705  	OldPassword string `xml:"oldPassword" json:"oldPassword"`
  9706  	// the user's new password.
  9707  	NewPassword string `xml:"newPassword" json:"newPassword"`
  9708  }
  9709  
  9710  func init() {
  9711  	t["ChangePasswordRequestType"] = reflect.TypeOf((*ChangePasswordRequestType)(nil)).Elem()
  9712  }
  9713  
  9714  type ChangePasswordResponse struct {
  9715  }
  9716  
  9717  // The event argument contains changes.
  9718  type ChangesInfoEventArgument struct {
  9719  	DynamicData
  9720  
  9721  	// Modified properties.
  9722  	Modified string `xml:"modified,omitempty" json:"modified,omitempty"`
  9723  	// Added properties.
  9724  	Added string `xml:"added,omitempty" json:"added,omitempty"`
  9725  	// Deleted properties.
  9726  	Deleted string `xml:"deleted,omitempty" json:"deleted,omitempty"`
  9727  }
  9728  
  9729  func init() {
  9730  	t["ChangesInfoEventArgument"] = reflect.TypeOf((*ChangesInfoEventArgument)(nil)).Elem()
  9731  }
  9732  
  9733  // The parameters of `ClusterEVCManager.CheckAddHostEvc_Task`.
  9734  type CheckAddHostEvcRequestType struct {
  9735  	This ManagedObjectReference `xml:"_this" json:"-"`
  9736  	// The spec that will be used to add the host.
  9737  	CnxSpec HostConnectSpec `xml:"cnxSpec" json:"cnxSpec"`
  9738  }
  9739  
  9740  func init() {
  9741  	t["CheckAddHostEvcRequestType"] = reflect.TypeOf((*CheckAddHostEvcRequestType)(nil)).Elem()
  9742  }
  9743  
  9744  type CheckAddHostEvc_Task CheckAddHostEvcRequestType
  9745  
  9746  func init() {
  9747  	t["CheckAddHostEvc_Task"] = reflect.TypeOf((*CheckAddHostEvc_Task)(nil)).Elem()
  9748  }
  9749  
  9750  type CheckAddHostEvc_TaskResponse struct {
  9751  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9752  }
  9753  
  9754  // The parameters of `HostProfileManager.CheckAnswerFileStatus_Task`.
  9755  type CheckAnswerFileStatusRequestType struct {
  9756  	This ManagedObjectReference `xml:"_this" json:"-"`
  9757  	// Set of hosts for which the answer file status will be checked.
  9758  	//
  9759  	// Refers instances of `HostSystem`.
  9760  	Host []ManagedObjectReference `xml:"host" json:"host"`
  9761  }
  9762  
  9763  func init() {
  9764  	t["CheckAnswerFileStatusRequestType"] = reflect.TypeOf((*CheckAnswerFileStatusRequestType)(nil)).Elem()
  9765  }
  9766  
  9767  type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType
  9768  
  9769  func init() {
  9770  	t["CheckAnswerFileStatus_Task"] = reflect.TypeOf((*CheckAnswerFileStatus_Task)(nil)).Elem()
  9771  }
  9772  
  9773  type CheckAnswerFileStatus_TaskResponse struct {
  9774  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9775  }
  9776  
  9777  // The parameters of `VirtualMachineProvisioningChecker.CheckClone_Task`.
  9778  type CheckCloneRequestType struct {
  9779  	This ManagedObjectReference `xml:"_this" json:"-"`
  9780  	// The virtual machine we propose to clone.
  9781  	//
  9782  	// Refers instance of `VirtualMachine`.
  9783  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9784  	// The location of the new virtual machine.
  9785  	//
  9786  	// Refers instance of `Folder`.
  9787  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
  9788  	// The name of the new virtual machine.
  9789  	Name string `xml:"name" json:"name"`
  9790  	// Specifies how to clone the virtual machine. In cases
  9791  	// where DRS would automatically select a host, all potential
  9792  	// hosts are tested against.
  9793  	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
  9794  	// The set of tests to run. If this argument is not set, all
  9795  	// tests will be run. See `CheckTestType_enum` for possible values.
  9796  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9797  }
  9798  
  9799  func init() {
  9800  	t["CheckCloneRequestType"] = reflect.TypeOf((*CheckCloneRequestType)(nil)).Elem()
  9801  }
  9802  
  9803  type CheckClone_Task CheckCloneRequestType
  9804  
  9805  func init() {
  9806  	t["CheckClone_Task"] = reflect.TypeOf((*CheckClone_Task)(nil)).Elem()
  9807  }
  9808  
  9809  type CheckClone_TaskResponse struct {
  9810  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9811  }
  9812  
  9813  // The parameters of `VirtualMachineCompatibilityChecker.CheckCompatibility_Task`.
  9814  type CheckCompatibilityRequestType struct {
  9815  	This ManagedObjectReference `xml:"_this" json:"-"`
  9816  	// The virtual machine we'd like to place.
  9817  	//
  9818  	// Refers instance of `VirtualMachine`.
  9819  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
  9820  	// The host we would like the virtual machine
  9821  	// to execute on. The host parameter may be left unset if the compute
  9822  	// resource associated with the pool represents a stand-alone host
  9823  	// or a DRS-enabled cluster. In the former case the stand-alone host is
  9824  	// used. In the latter case, each connected host in the cluster
  9825  	// that is not in maintenance mode is tested. If the virtual machine is a
  9826  	// template then either this parameter or the pool parameter must be set.
  9827  	//
  9828  	// Refers instance of `HostSystem`.
  9829  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
  9830  	// The resource pool we would like the virtual machine
  9831  	// to reside in. If the pool parameter is left unset, then the virtual
  9832  	// machine's current pool is assumed. If the virtual machine is a template
  9833  	// then either this parameter or the host parameter must be set.
  9834  	//
  9835  	// Refers instance of `ResourcePool`.
  9836  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
  9837  	// The set of tests to run. If this argument is not set, all
  9838  	// tests will be run. See `CheckTestType_enum` for possible values.
  9839  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
  9840  }
  9841  
  9842  func init() {
  9843  	t["CheckCompatibilityRequestType"] = reflect.TypeOf((*CheckCompatibilityRequestType)(nil)).Elem()
  9844  }
  9845  
  9846  type CheckCompatibility_Task CheckCompatibilityRequestType
  9847  
  9848  func init() {
  9849  	t["CheckCompatibility_Task"] = reflect.TypeOf((*CheckCompatibility_Task)(nil)).Elem()
  9850  }
  9851  
  9852  type CheckCompatibility_TaskResponse struct {
  9853  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9854  }
  9855  
  9856  // The parameters of `ProfileComplianceManager.CheckCompliance_Task`.
  9857  type CheckComplianceRequestType struct {
  9858  	This ManagedObjectReference `xml:"_this" json:"-"`
  9859  	// If specified, check compliance against the specified profiles.
  9860  	// If not specified, use the profiles associated with the entities.
  9861  	// If both Profiles and Entities are specified, Check the compliance of each
  9862  	// Entity against each of the profile specified.
  9863  	//
  9864  	// For more information, look at the KMap below.
  9865  	//
  9866  	// P represents if Profile is specified.
  9867  	//
  9868  	// E represents if Entity is specified.
  9869  	//
  9870  	//	            P                        ^P
  9871  	//	  ---------------------------------------------------
  9872  	//	  | Check compliance      |  Profiles associated    |
  9873  	//	 E|  of each entity       |   with the specified    |
  9874  	//	  |  against each of the  |   entity will be used   |
  9875  	//	  |  profiles specified.  |   for checking          |
  9876  	//	  |                       |   compliance.           |
  9877  	//	  |                       |                         |
  9878  	//	  |                       |                         |
  9879  	//	  ---------------------------------------------------
  9880  	//	  | All entities          |   InvalidArgument       |
  9881  	//	  |  associated with the  |   Exception is thrown.  |
  9882  	//	  |  profile are checked. |                         |
  9883  	//	^E|                       |                         |
  9884  	//	  |                       |                         |
  9885  	//	  |                       |                         |
  9886  	//	  |                       |                         |
  9887  	//	  ---------------------------------------------------
  9888  	//
  9889  	// Refers instances of `Profile`.
  9890  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
  9891  	// If specified, the compliance check is done against this entity.
  9892  	//
  9893  	// Refers instances of `ManagedEntity`.
  9894  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
  9895  }
  9896  
  9897  func init() {
  9898  	t["CheckComplianceRequestType"] = reflect.TypeOf((*CheckComplianceRequestType)(nil)).Elem()
  9899  }
  9900  
  9901  type CheckCompliance_Task CheckComplianceRequestType
  9902  
  9903  func init() {
  9904  	t["CheckCompliance_Task"] = reflect.TypeOf((*CheckCompliance_Task)(nil)).Elem()
  9905  }
  9906  
  9907  type CheckCompliance_TaskResponse struct {
  9908  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9909  }
  9910  
  9911  // The parameters of `ClusterEVCManager.CheckConfigureEvcMode_Task`.
  9912  type CheckConfigureEvcModeRequestType struct {
  9913  	This ManagedObjectReference `xml:"_this" json:"-"`
  9914  	// A key referencing the desired EVC mode.
  9915  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
  9916  	// A key referencing the desired EVC Graphics
  9917  	// mode `Capability.supportedEVCGraphicsMode`.
  9918  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
  9919  }
  9920  
  9921  func init() {
  9922  	t["CheckConfigureEvcModeRequestType"] = reflect.TypeOf((*CheckConfigureEvcModeRequestType)(nil)).Elem()
  9923  }
  9924  
  9925  type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType
  9926  
  9927  func init() {
  9928  	t["CheckConfigureEvcMode_Task"] = reflect.TypeOf((*CheckConfigureEvcMode_Task)(nil)).Elem()
  9929  }
  9930  
  9931  type CheckConfigureEvcMode_TaskResponse struct {
  9932  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
  9933  }
  9934  
  9935  type CheckCustomizationResources CheckCustomizationResourcesRequestType
  9936  
  9937  func init() {
  9938  	t["CheckCustomizationResources"] = reflect.TypeOf((*CheckCustomizationResources)(nil)).Elem()
  9939  }
  9940  
  9941  // The parameters of `CustomizationSpecManager.CheckCustomizationResources`.
  9942  type CheckCustomizationResourcesRequestType struct {
  9943  	This ManagedObjectReference `xml:"_this" json:"-"`
  9944  	// Short name from the guest OS descriptor list describing the OS
  9945  	// we intend to customize.
  9946  	GuestOs string `xml:"guestOs" json:"guestOs"`
  9947  }
  9948  
  9949  func init() {
  9950  	t["CheckCustomizationResourcesRequestType"] = reflect.TypeOf((*CheckCustomizationResourcesRequestType)(nil)).Elem()
  9951  }
  9952  
  9953  type CheckCustomizationResourcesResponse struct {
  9954  }
  9955  
  9956  type CheckCustomizationSpec CheckCustomizationSpecRequestType
  9957  
  9958  func init() {
  9959  	t["CheckCustomizationSpec"] = reflect.TypeOf((*CheckCustomizationSpec)(nil)).Elem()
  9960  }
  9961  
  9962  // The parameters of `VirtualMachine.CheckCustomizationSpec`.
  9963  type CheckCustomizationSpecRequestType struct {
  9964  	This ManagedObjectReference `xml:"_this" json:"-"`
  9965  	// The customization specification to check.
  9966  	Spec CustomizationSpec `xml:"spec" json:"spec"`
  9967  }
  9968  
  9969  func init() {
  9970  	t["CheckCustomizationSpecRequestType"] = reflect.TypeOf((*CheckCustomizationSpecRequestType)(nil)).Elem()
  9971  }
  9972  
  9973  type CheckCustomizationSpecResponse struct {
  9974  }
  9975  
  9976  type CheckForUpdates CheckForUpdatesRequestType
  9977  
  9978  func init() {
  9979  	t["CheckForUpdates"] = reflect.TypeOf((*CheckForUpdates)(nil)).Elem()
  9980  }
  9981  
  9982  // The parameters of `PropertyCollector.CheckForUpdates`.
  9983  type CheckForUpdatesRequestType struct {
  9984  	This ManagedObjectReference `xml:"_this" json:"-"`
  9985  	// The data version currently known to the client. The value
  9986  	// must be either
  9987  	//   - the special initial version (an empty string)
  9988  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session.
  9989  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
  9990  	//     session.
  9991  	Version string `xml:"version,omitempty" json:"version,omitempty"`
  9992  }
  9993  
  9994  func init() {
  9995  	t["CheckForUpdatesRequestType"] = reflect.TypeOf((*CheckForUpdatesRequestType)(nil)).Elem()
  9996  }
  9997  
  9998  type CheckForUpdatesResponse struct {
  9999  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
 10000  }
 10001  
 10002  // The parameters of `HostPatchManager.CheckHostPatch_Task`.
 10003  type CheckHostPatchRequestType struct {
 10004  	This ManagedObjectReference `xml:"_this" json:"-"`
 10005  	// a list of urls pointing to metadata.zip.
 10006  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 10007  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 10008  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 10009  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 10010  }
 10011  
 10012  func init() {
 10013  	t["CheckHostPatchRequestType"] = reflect.TypeOf((*CheckHostPatchRequestType)(nil)).Elem()
 10014  }
 10015  
 10016  type CheckHostPatch_Task CheckHostPatchRequestType
 10017  
 10018  func init() {
 10019  	t["CheckHostPatch_Task"] = reflect.TypeOf((*CheckHostPatch_Task)(nil)).Elem()
 10020  }
 10021  
 10022  type CheckHostPatch_TaskResponse struct {
 10023  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10024  }
 10025  
 10026  // The parameters of `VirtualMachineProvisioningChecker.CheckInstantClone_Task`.
 10027  type CheckInstantCloneRequestType struct {
 10028  	This ManagedObjectReference `xml:"_this" json:"-"`
 10029  	// The virtual machine we propose to instant clone.
 10030  	//
 10031  	// Refers instance of `VirtualMachine`.
 10032  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10033  	// Specifies how to instant clone the virtual machine.
 10034  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 10035  	// The set of tests to run. If this argument is not set, all
 10036  	// tests will be run. See `CheckTestType_enum` for possible values.
 10037  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10038  }
 10039  
 10040  func init() {
 10041  	t["CheckInstantCloneRequestType"] = reflect.TypeOf((*CheckInstantCloneRequestType)(nil)).Elem()
 10042  }
 10043  
 10044  type CheckInstantClone_Task CheckInstantCloneRequestType
 10045  
 10046  func init() {
 10047  	t["CheckInstantClone_Task"] = reflect.TypeOf((*CheckInstantClone_Task)(nil)).Elem()
 10048  }
 10049  
 10050  type CheckInstantClone_TaskResponse struct {
 10051  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10052  }
 10053  
 10054  type CheckLicenseFeature CheckLicenseFeatureRequestType
 10055  
 10056  func init() {
 10057  	t["CheckLicenseFeature"] = reflect.TypeOf((*CheckLicenseFeature)(nil)).Elem()
 10058  }
 10059  
 10060  // The parameters of `LicenseManager.CheckLicenseFeature`.
 10061  type CheckLicenseFeatureRequestType struct {
 10062  	This ManagedObjectReference `xml:"_this" json:"-"`
 10063  	// Host to act on if LicenseManager is not on a host.
 10064  	//
 10065  	// Refers instance of `HostSystem`.
 10066  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10067  	// Name of the feature to enable.
 10068  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 10069  }
 10070  
 10071  func init() {
 10072  	t["CheckLicenseFeatureRequestType"] = reflect.TypeOf((*CheckLicenseFeatureRequestType)(nil)).Elem()
 10073  }
 10074  
 10075  type CheckLicenseFeatureResponse struct {
 10076  	Returnval bool `xml:"returnval" json:"returnval"`
 10077  }
 10078  
 10079  // The parameters of `VirtualMachineProvisioningChecker.CheckMigrate_Task`.
 10080  type CheckMigrateRequestType struct {
 10081  	This ManagedObjectReference `xml:"_this" json:"-"`
 10082  	// The virtual machine we propose to migrate.
 10083  	//
 10084  	// Refers instance of `VirtualMachine`.
 10085  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10086  	// The target host on which the virtual machines will run. The host
 10087  	// parameter may be left unset if the compute resource associated with
 10088  	// the target pool represents a stand-alone host or a DRS-enabled
 10089  	// cluster. In the former case the stand-alone host is used as the
 10090  	// target host. In the latter case, each connected host in the cluster
 10091  	// that is not in maintenance mode is tested as a target host.
 10092  	// If the virtual machine is a template then either this
 10093  	// parameter or the pool parameter must be set.
 10094  	//
 10095  	// Refers instance of `HostSystem`.
 10096  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10097  	// The target resource pool for the virtual machines. If the
 10098  	// pool parameter is left unset, the target pool for each particular
 10099  	// virtual machine's migration will be that virtual machine's current
 10100  	// pool. If the virtual machine is a template then either this
 10101  	// parameter or the host parameter must be set.
 10102  	// The pool parameter must be set for testing the feasibility of
 10103  	// migration to a different datacenter or different vCenter service.
 10104  	//
 10105  	// Refers instance of `ResourcePool`.
 10106  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10107  	// The power state that the virtual machines must have. If
 10108  	// this argument is not set, each virtual machine is evaluated
 10109  	// according to its current power state.
 10110  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 10111  	// The set of tests to run. If this argument is not set, all
 10112  	// tests will be run. See `CheckTestType_enum` for possible values.
 10113  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10114  }
 10115  
 10116  func init() {
 10117  	t["CheckMigrateRequestType"] = reflect.TypeOf((*CheckMigrateRequestType)(nil)).Elem()
 10118  }
 10119  
 10120  type CheckMigrate_Task CheckMigrateRequestType
 10121  
 10122  func init() {
 10123  	t["CheckMigrate_Task"] = reflect.TypeOf((*CheckMigrate_Task)(nil)).Elem()
 10124  }
 10125  
 10126  type CheckMigrate_TaskResponse struct {
 10127  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10128  }
 10129  
 10130  // The parameters of `VirtualMachineCompatibilityChecker.CheckPowerOn_Task`.
 10131  type CheckPowerOnRequestType struct {
 10132  	This ManagedObjectReference `xml:"_this" json:"-"`
 10133  	// The virtual machine to power on.
 10134  	//
 10135  	// Refers instance of `VirtualMachine`.
 10136  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10137  	// The host on which we want to power on the virtual machine.
 10138  	// The host parameter may be left unset if the compute
 10139  	// resource associated with the pool represents a stand-alone host
 10140  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10141  	// is used. In the latter case, each connected host in the cluster
 10142  	// that is not in maintenance mode is tested. Either this parameter
 10143  	// or the pool parameter must be set.
 10144  	//
 10145  	// Refers instance of `HostSystem`.
 10146  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10147  	// The resource pool we would like the virtual machine to run
 10148  	// in. If the pool parameter is left unset, we use the host's
 10149  	// root resource pool.
 10150  	//
 10151  	// Refers instance of `ResourcePool`.
 10152  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10153  	// The set of tests to run. If this argument is not set,
 10154  	// all tests will be run. See `CheckTestType_enum` for possible values.
 10155  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10156  }
 10157  
 10158  func init() {
 10159  	t["CheckPowerOnRequestType"] = reflect.TypeOf((*CheckPowerOnRequestType)(nil)).Elem()
 10160  }
 10161  
 10162  type CheckPowerOn_Task CheckPowerOnRequestType
 10163  
 10164  func init() {
 10165  	t["CheckPowerOn_Task"] = reflect.TypeOf((*CheckPowerOn_Task)(nil)).Elem()
 10166  }
 10167  
 10168  type CheckPowerOn_TaskResponse struct {
 10169  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10170  }
 10171  
 10172  // The parameters of `Profile.CheckProfileCompliance_Task`.
 10173  type CheckProfileComplianceRequestType struct {
 10174  	This ManagedObjectReference `xml:"_this" json:"-"`
 10175  	// If specified, the compliance check is performed on this entity.
 10176  	// If the entity is not specified, the vCenter Server runs a compliance check on all the
 10177  	// entities associated with the profile. The entity does not have to be associated with the
 10178  	// profile.
 10179  	//
 10180  	// Refers instances of `ManagedEntity`.
 10181  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10182  }
 10183  
 10184  func init() {
 10185  	t["CheckProfileComplianceRequestType"] = reflect.TypeOf((*CheckProfileComplianceRequestType)(nil)).Elem()
 10186  }
 10187  
 10188  type CheckProfileCompliance_Task CheckProfileComplianceRequestType
 10189  
 10190  func init() {
 10191  	t["CheckProfileCompliance_Task"] = reflect.TypeOf((*CheckProfileCompliance_Task)(nil)).Elem()
 10192  }
 10193  
 10194  type CheckProfileCompliance_TaskResponse struct {
 10195  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10196  }
 10197  
 10198  // The parameters of `VirtualMachineProvisioningChecker.CheckRelocate_Task`.
 10199  type CheckRelocateRequestType struct {
 10200  	This ManagedObjectReference `xml:"_this" json:"-"`
 10201  	// The virtual machine we propose to relocate.
 10202  	//
 10203  	// Refers instance of `VirtualMachine`.
 10204  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10205  	// The specification of where to relocate the virtual machine.
 10206  	// In cases where DRS would automatically select a host, all potential
 10207  	// hosts are tested against.
 10208  	// The host parameter in the spec may be left unset for checking
 10209  	// feasibility of relocation to a different datacenter or different
 10210  	// vCenter service, if the compute resource associated with the
 10211  	// target pool represents a stand-alone host, the host is tested
 10212  	// against, otherwise each connected host in the cluster that is
 10213  	// not in maintenance mode represented by the target pool is tested
 10214  	// as a target host.
 10215  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 10216  	// The set of tests to run. If this argument is not set, all
 10217  	// tests will be run. See `CheckTestType_enum` for possible values.
 10218  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10219  }
 10220  
 10221  func init() {
 10222  	t["CheckRelocateRequestType"] = reflect.TypeOf((*CheckRelocateRequestType)(nil)).Elem()
 10223  }
 10224  
 10225  type CheckRelocate_Task CheckRelocateRequestType
 10226  
 10227  func init() {
 10228  	t["CheckRelocate_Task"] = reflect.TypeOf((*CheckRelocate_Task)(nil)).Elem()
 10229  }
 10230  
 10231  type CheckRelocate_TaskResponse struct {
 10232  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10233  }
 10234  
 10235  // The result of a call to any of the methods in either
 10236  // `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.
 10237  type CheckResult struct {
 10238  	DynamicData
 10239  
 10240  	// The virtual machine involved in the testing.
 10241  	//
 10242  	// Refers instance of `VirtualMachine`.
 10243  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10244  	// The host involved in the testing.
 10245  	//
 10246  	// Refers instance of `HostSystem`.
 10247  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10248  	// A list of faults representing problems which may
 10249  	// require attention, but which are not fatal.
 10250  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 10251  	// A list of faults representing problems which are fatal
 10252  	// to the operation.
 10253  	//
 10254  	// For `VirtualMachineProvisioningChecker` an error means that the
 10255  	// given provisioning operation would fail.
 10256  	// For `VirtualMachineCompatibilityChecker` an error means that either
 10257  	// a power-on of this virtual machine would fail, or that the
 10258  	// virtual machine would not run correctly once powered-on.
 10259  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 10260  }
 10261  
 10262  func init() {
 10263  	t["CheckResult"] = reflect.TypeOf((*CheckResult)(nil)).Elem()
 10264  }
 10265  
 10266  // The parameters of `VirtualMachineCompatibilityChecker.CheckVmConfig_Task`.
 10267  type CheckVmConfigRequestType struct {
 10268  	This ManagedObjectReference `xml:"_this" json:"-"`
 10269  	// The specification of the virtual machine to create.
 10270  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 10271  	// The existing virtual machine to apply the spec to.
 10272  	// If this is not provided, the spec is assumed to be for the creation
 10273  	// of a new virtual machine.
 10274  	//
 10275  	// Refers instance of `VirtualMachine`.
 10276  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 10277  	// The host we would like the virtual machine
 10278  	// to execute on. The host parameter may be left unset if the compute
 10279  	// resource associated with the pool represents a stand-alone host
 10280  	// or a DRS-enabled cluster. In the former case the stand-alone host
 10281  	// is used. In the latter case, each connected host in the cluster
 10282  	// that is not in maintenance mode is tested. If the virtual machine
 10283  	// is a template, then either this parameter or the pool parameter
 10284  	// must be set.
 10285  	//
 10286  	// Refers instance of `HostSystem`.
 10287  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 10288  	// The resource pool we would like the virtual machine
 10289  	// to reside in. If the pool parameter is left unset, then we use the
 10290  	// host's root resource pool.
 10291  	//
 10292  	// Refers instance of `ResourcePool`.
 10293  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 10294  	// The set of tests to run. If this argument is not set, all
 10295  	// tests will be run. See `CheckTestType_enum` for possible values.
 10296  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 10297  }
 10298  
 10299  func init() {
 10300  	t["CheckVmConfigRequestType"] = reflect.TypeOf((*CheckVmConfigRequestType)(nil)).Elem()
 10301  }
 10302  
 10303  type CheckVmConfig_Task CheckVmConfigRequestType
 10304  
 10305  func init() {
 10306  	t["CheckVmConfig_Task"] = reflect.TypeOf((*CheckVmConfig_Task)(nil)).Elem()
 10307  }
 10308  
 10309  type CheckVmConfig_TaskResponse struct {
 10310  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10311  }
 10312  
 10313  // The ChoiceOption data object type defines a set of
 10314  // supported string values, a localizable description for each value,
 10315  // and the default value.
 10316  type ChoiceOption struct {
 10317  	OptionType
 10318  
 10319  	// The set of possible selections and descriptions.
 10320  	ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr" json:"choiceInfo"`
 10321  	// The index in ChoiceOption.value that serves as the default value.
 10322  	DefaultIndex int32 `xml:"defaultIndex,omitempty" json:"defaultIndex,omitempty"`
 10323  }
 10324  
 10325  func init() {
 10326  	t["ChoiceOption"] = reflect.TypeOf((*ChoiceOption)(nil)).Elem()
 10327  }
 10328  
 10329  type ClearComplianceStatus ClearComplianceStatusRequestType
 10330  
 10331  func init() {
 10332  	t["ClearComplianceStatus"] = reflect.TypeOf((*ClearComplianceStatus)(nil)).Elem()
 10333  }
 10334  
 10335  // The parameters of `ProfileComplianceManager.ClearComplianceStatus`.
 10336  type ClearComplianceStatusRequestType struct {
 10337  	This ManagedObjectReference `xml:"_this" json:"-"`
 10338  	// If specified, clear the ComplianceResult related to the Profile.
 10339  	//
 10340  	// Refers instances of `Profile`.
 10341  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 10342  	// If specified, clear the ComplianceResult related to the entity.
 10343  	// If profile and entity are not specified, all the ComplianceResults will be cleared.
 10344  	//
 10345  	// Refers instances of `ManagedEntity`.
 10346  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 10347  }
 10348  
 10349  func init() {
 10350  	t["ClearComplianceStatusRequestType"] = reflect.TypeOf((*ClearComplianceStatusRequestType)(nil)).Elem()
 10351  }
 10352  
 10353  type ClearComplianceStatusResponse struct {
 10354  }
 10355  
 10356  type ClearNFSUser ClearNFSUserRequestType
 10357  
 10358  func init() {
 10359  	t["ClearNFSUser"] = reflect.TypeOf((*ClearNFSUser)(nil)).Elem()
 10360  }
 10361  
 10362  type ClearNFSUserRequestType struct {
 10363  	This ManagedObjectReference `xml:"_this" json:"-"`
 10364  }
 10365  
 10366  func init() {
 10367  	t["ClearNFSUserRequestType"] = reflect.TypeOf((*ClearNFSUserRequestType)(nil)).Elem()
 10368  }
 10369  
 10370  type ClearNFSUserResponse struct {
 10371  }
 10372  
 10373  type ClearSystemEventLog ClearSystemEventLogRequestType
 10374  
 10375  func init() {
 10376  	t["ClearSystemEventLog"] = reflect.TypeOf((*ClearSystemEventLog)(nil)).Elem()
 10377  }
 10378  
 10379  type ClearSystemEventLogRequestType struct {
 10380  	This ManagedObjectReference `xml:"_this" json:"-"`
 10381  }
 10382  
 10383  func init() {
 10384  	t["ClearSystemEventLogRequestType"] = reflect.TypeOf((*ClearSystemEventLogRequestType)(nil)).Elem()
 10385  }
 10386  
 10387  type ClearSystemEventLogResponse struct {
 10388  }
 10389  
 10390  type ClearTriggeredAlarms ClearTriggeredAlarmsRequestType
 10391  
 10392  func init() {
 10393  	t["ClearTriggeredAlarms"] = reflect.TypeOf((*ClearTriggeredAlarms)(nil)).Elem()
 10394  }
 10395  
 10396  // The parameters of `AlarmManager.ClearTriggeredAlarms`.
 10397  type ClearTriggeredAlarmsRequestType struct {
 10398  	This   ManagedObjectReference `xml:"_this" json:"-"`
 10399  	Filter AlarmFilterSpec        `xml:"filter" json:"filter"`
 10400  }
 10401  
 10402  func init() {
 10403  	t["ClearTriggeredAlarmsRequestType"] = reflect.TypeOf((*ClearTriggeredAlarmsRequestType)(nil)).Elem()
 10404  }
 10405  
 10406  type ClearTriggeredAlarmsResponse struct {
 10407  }
 10408  
 10409  type ClearVStorageObjectControlFlags ClearVStorageObjectControlFlagsRequestType
 10410  
 10411  func init() {
 10412  	t["ClearVStorageObjectControlFlags"] = reflect.TypeOf((*ClearVStorageObjectControlFlags)(nil)).Elem()
 10413  }
 10414  
 10415  // The parameters of `VcenterVStorageObjectManager.ClearVStorageObjectControlFlags`.
 10416  type ClearVStorageObjectControlFlagsRequestType struct {
 10417  	This ManagedObjectReference `xml:"_this" json:"-"`
 10418  	// The ID of the virtual storage object.
 10419  	Id ID `xml:"id" json:"id"`
 10420  	// The datastore where the source virtual storage
 10421  	// object is located.
 10422  	//
 10423  	// Required privileges: Datastore.FileManagement
 10424  	//
 10425  	// Refers instance of `Datastore`.
 10426  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 10427  	// control flags enum array to be cleared on the
 10428  	// VStorageObject. All control flags not included
 10429  	// in the array remain intact.
 10430  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 10431  }
 10432  
 10433  func init() {
 10434  	t["ClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*ClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 10435  }
 10436  
 10437  type ClearVStorageObjectControlFlagsResponse struct {
 10438  }
 10439  
 10440  // Fault indicating that the clock skew in the system exceeds the limit.
 10441  type ClockSkew struct {
 10442  	HostConfigFault
 10443  }
 10444  
 10445  func init() {
 10446  	t["ClockSkew"] = reflect.TypeOf((*ClockSkew)(nil)).Elem()
 10447  }
 10448  
 10449  type ClockSkewFault ClockSkew
 10450  
 10451  func init() {
 10452  	t["ClockSkewFault"] = reflect.TypeOf((*ClockSkewFault)(nil)).Elem()
 10453  }
 10454  
 10455  // An attempt is being made to clone a virtual machine from a snapshot
 10456  // point, and this is not supported.
 10457  //
 10458  // See also `VirtualMachineCloneSpec.snapshot`, `VirtualMachineCapability.snapshotConfigSupported`, `HostCapability.cloneFromSnapshotSupported`.
 10459  type CloneFromSnapshotNotSupported struct {
 10460  	MigrationFault
 10461  }
 10462  
 10463  func init() {
 10464  	t["CloneFromSnapshotNotSupported"] = reflect.TypeOf((*CloneFromSnapshotNotSupported)(nil)).Elem()
 10465  }
 10466  
 10467  type CloneFromSnapshotNotSupportedFault CloneFromSnapshotNotSupported
 10468  
 10469  func init() {
 10470  	t["CloneFromSnapshotNotSupportedFault"] = reflect.TypeOf((*CloneFromSnapshotNotSupportedFault)(nil)).Elem()
 10471  }
 10472  
 10473  type CloneSession CloneSessionRequestType
 10474  
 10475  func init() {
 10476  	t["CloneSession"] = reflect.TypeOf((*CloneSession)(nil)).Elem()
 10477  }
 10478  
 10479  // The parameters of `SessionManager.CloneSession`.
 10480  type CloneSessionRequestType struct {
 10481  	This ManagedObjectReference `xml:"_this" json:"-"`
 10482  	// ticket string acquired via `SessionManager.AcquireCloneTicket`.
 10483  	CloneTicket string `xml:"cloneTicket" json:"cloneTicket"`
 10484  }
 10485  
 10486  func init() {
 10487  	t["CloneSessionRequestType"] = reflect.TypeOf((*CloneSessionRequestType)(nil)).Elem()
 10488  }
 10489  
 10490  type CloneSessionResponse struct {
 10491  	Returnval UserSession `xml:"returnval" json:"returnval"`
 10492  }
 10493  
 10494  // The parameters of `VirtualApp.CloneVApp_Task`.
 10495  type CloneVAppRequestType struct {
 10496  	This ManagedObjectReference `xml:"_this" json:"-"`
 10497  	// The name of the new vApp.
 10498  	Name string `xml:"name" json:"name"`
 10499  	// The parent entity of the new vApp. Must be of type
 10500  	// `ResourcePool` or `VirtualApp`.
 10501  	//
 10502  	// Refers instance of `ResourcePool`.
 10503  	Target ManagedObjectReference `xml:"target" json:"target"`
 10504  	// Specifies how to clone the vApp.
 10505  	Spec VAppCloneSpec `xml:"spec" json:"spec"`
 10506  }
 10507  
 10508  func init() {
 10509  	t["CloneVAppRequestType"] = reflect.TypeOf((*CloneVAppRequestType)(nil)).Elem()
 10510  }
 10511  
 10512  type CloneVApp_Task CloneVAppRequestType
 10513  
 10514  func init() {
 10515  	t["CloneVApp_Task"] = reflect.TypeOf((*CloneVApp_Task)(nil)).Elem()
 10516  }
 10517  
 10518  type CloneVApp_TaskResponse struct {
 10519  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10520  }
 10521  
 10522  // The parameters of `VirtualMachine.CloneVM_Task`.
 10523  type CloneVMRequestType struct {
 10524  	This ManagedObjectReference `xml:"_this" json:"-"`
 10525  	// The location of the new virtual machine.
 10526  	//
 10527  	// Required privileges: VirtualMachine.Inventory.CreateFromExisting
 10528  	//
 10529  	// Refers instance of `Folder`.
 10530  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 10531  	// The name of the new virtual machine.
 10532  	Name string `xml:"name" json:"name"`
 10533  	// Specifies how to clone the virtual machine. The folder
 10534  	// specified in the spec takes precedence over the folder parameter.
 10535  	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
 10536  }
 10537  
 10538  func init() {
 10539  	t["CloneVMRequestType"] = reflect.TypeOf((*CloneVMRequestType)(nil)).Elem()
 10540  }
 10541  
 10542  type CloneVM_Task CloneVMRequestType
 10543  
 10544  func init() {
 10545  	t["CloneVM_Task"] = reflect.TypeOf((*CloneVM_Task)(nil)).Elem()
 10546  }
 10547  
 10548  type CloneVM_TaskResponse struct {
 10549  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10550  }
 10551  
 10552  // The parameters of `VcenterVStorageObjectManager.CloneVStorageObject_Task`.
 10553  type CloneVStorageObjectRequestType struct {
 10554  	This ManagedObjectReference `xml:"_this" json:"-"`
 10555  	// The ID of the virtual storage object.
 10556  	Id ID `xml:"id" json:"id"`
 10557  	// The datastore where the source virtual storage object
 10558  	// is located.
 10559  	//
 10560  	// Refers instance of `Datastore`.
 10561  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 10562  	// The specification for cloning the virtual storage
 10563  	// object.
 10564  	Spec VslmCloneSpec `xml:"spec" json:"spec"`
 10565  }
 10566  
 10567  func init() {
 10568  	t["CloneVStorageObjectRequestType"] = reflect.TypeOf((*CloneVStorageObjectRequestType)(nil)).Elem()
 10569  }
 10570  
 10571  type CloneVStorageObject_Task CloneVStorageObjectRequestType
 10572  
 10573  func init() {
 10574  	t["CloneVStorageObject_Task"] = reflect.TypeOf((*CloneVStorageObject_Task)(nil)).Elem()
 10575  }
 10576  
 10577  type CloneVStorageObject_TaskResponse struct {
 10578  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 10579  }
 10580  
 10581  type CloseInventoryViewFolder CloseInventoryViewFolderRequestType
 10582  
 10583  func init() {
 10584  	t["CloseInventoryViewFolder"] = reflect.TypeOf((*CloseInventoryViewFolder)(nil)).Elem()
 10585  }
 10586  
 10587  // The parameters of `InventoryView.CloseInventoryViewFolder`.
 10588  type CloseInventoryViewFolderRequestType struct {
 10589  	This ManagedObjectReference `xml:"_this" json:"-"`
 10590  	// An array of managed object references. Each array entry is a
 10591  	// reference to an entity to collapse.
 10592  	//
 10593  	// Required privileges: System.View
 10594  	//
 10595  	// Refers instances of `ManagedEntity`.
 10596  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 10597  }
 10598  
 10599  func init() {
 10600  	t["CloseInventoryViewFolderRequestType"] = reflect.TypeOf((*CloseInventoryViewFolderRequestType)(nil)).Elem()
 10601  }
 10602  
 10603  type CloseInventoryViewFolderResponse struct {
 10604  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 10605  }
 10606  
 10607  // Base class for all action recommendations in VirtualCenter.
 10608  type ClusterAction struct {
 10609  	DynamicData
 10610  
 10611  	// Type of the action.
 10612  	//
 10613  	// This is encoded to differentiate between
 10614  	// different types of actions aimed at achieving different goals.
 10615  	Type string `xml:"type" json:"type"`
 10616  	// The target object on which this action will be applied.
 10617  	//
 10618  	// For
 10619  	// instance, a migration action will have a virtual machine as its
 10620  	// target object, while a host power action will have a host as its
 10621  	// target action.
 10622  	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
 10623  }
 10624  
 10625  func init() {
 10626  	t["ClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem()
 10627  }
 10628  
 10629  // Base class for all action history.
 10630  type ClusterActionHistory struct {
 10631  	DynamicData
 10632  
 10633  	// The action that was executed recently.
 10634  	Action BaseClusterAction `xml:"action,typeattr" json:"action"`
 10635  	// The time when the action was executed.
 10636  	Time time.Time `xml:"time" json:"time"`
 10637  }
 10638  
 10639  func init() {
 10640  	t["ClusterActionHistory"] = reflect.TypeOf((*ClusterActionHistory)(nil)).Elem()
 10641  }
 10642  
 10643  // The `ClusterAffinityRuleSpec` data object defines a set
 10644  // of virtual machines.
 10645  //
 10646  // DRS will attempt to schedule the virtual machines
 10647  // to run on the same host.
 10648  type ClusterAffinityRuleSpec struct {
 10649  	ClusterRuleInfo
 10650  
 10651  	// List of virtual machine references.
 10652  	//
 10653  	// Refers instances of `VirtualMachine`.
 10654  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10655  }
 10656  
 10657  func init() {
 10658  	t["ClusterAffinityRuleSpec"] = reflect.TypeOf((*ClusterAffinityRuleSpec)(nil)).Elem()
 10659  }
 10660  
 10661  // The `ClusterAntiAffinityRuleSpec` data object defines
 10662  // a set of virtual machines.
 10663  //
 10664  // DRS will attempt to schedule the virtual
 10665  // machines to run on different hosts.
 10666  type ClusterAntiAffinityRuleSpec struct {
 10667  	ClusterRuleInfo
 10668  
 10669  	// List of virtual machine references.
 10670  	//
 10671  	// Refers instances of `VirtualMachine`.
 10672  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 10673  }
 10674  
 10675  func init() {
 10676  	t["ClusterAntiAffinityRuleSpec"] = reflect.TypeOf((*ClusterAntiAffinityRuleSpec)(nil)).Elem()
 10677  }
 10678  
 10679  // This data class reports virtual machine powerOn information.
 10680  type ClusterAttemptedVmInfo struct {
 10681  	DynamicData
 10682  
 10683  	// The virtual machine being powered on.
 10684  	//
 10685  	// Refers instance of `VirtualMachine`.
 10686  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 10687  	// The ID of the task, which monitors powering on.
 10688  	//
 10689  	// Refers instance of `Task`.
 10690  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 10691  }
 10692  
 10693  func init() {
 10694  	t["ClusterAttemptedVmInfo"] = reflect.TypeOf((*ClusterAttemptedVmInfo)(nil)).Elem()
 10695  }
 10696  
 10697  // Describes an action for the initial placement of a virtual machine in a
 10698  // cluster.
 10699  //
 10700  // This action is used by the cross cluster placement API when a
 10701  // virtual machine needs to be placed across a set of given clusters. See
 10702  // `Folder.PlaceVmsXCluster`. This action encapsulates details
 10703  // about the chosen cluster (via the resource pool inside that cluster), the
 10704  // chosen host and the chosen datastores for the disks of the virtual machine.
 10705  type ClusterClusterInitialPlacementAction struct {
 10706  	ClusterAction
 10707  
 10708  	// The host where the virtual machine should be initially placed.
 10709  	//
 10710  	// This field
 10711  	// is optional because the primary use case of
 10712  	// `Folder.PlaceVmsXCluster` is to select the best cluster for
 10713  	// placing VMs. This `ClusterClusterInitialPlacementAction.targetHost`
 10714  	// denotes the best host within the best cluster and it is only returned
 10715  	// if the client asks for it, which is determined by
 10716  	// `PlaceVmsXClusterSpec.hostRecommRequired`. If
 10717  	// `PlaceVmsXClusterSpec.hostRecommRequired` is set to true, then
 10718  	// the targetHost is returned with a valid value and if it is either set to
 10719  	// false or left unset, then targetHost is also left unset. When this field
 10720  	// is unset, then it means that the client did not ask for the target host
 10721  	// within the recommended cluster. It does not mean that there is no
 10722  	// recommended host for placing this VM in the recommended cluster.
 10723  	//
 10724  	// Refers instance of `HostSystem`.
 10725  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 10726  	// The chosen resource pool for placing the virtual machine.
 10727  	//
 10728  	// This is non-
 10729  	// optional because recommending the best cluster (by recommending the
 10730  	// resource pool in the best cluster) is the primary use case for the
 10731  	// `ClusterClusterInitialPlacementAction`.
 10732  	//
 10733  	// Refers instance of `ResourcePool`.
 10734  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 10735  	// The config spec of the virtual machine to be placed.
 10736  	//
 10737  	// The `Folder.PlaceVmsXCluster` method takes
 10738  	// input of `VirtualMachineConfigSpec` from client and populates the backing
 10739  	// for each virtual disk and the VM home path in it unless the input
 10740  	// ConfigSpec already provides them. The existing settings in the input
 10741  	// ConfigSpec are preserved and not overridden in the returned ConfigSpec
 10742  	// in this action as well as the resulting
 10743  	// `ClusterRecommendation`. This field is set based on whether
 10744  	// the client needs `Folder.PlaceVmsXCluster` to recommend a
 10745  	// backing datastore for the disks of the candidate VMs or not, which is
 10746  	// specified via `PlaceVmsXClusterSpec.datastoreRecommRequired`.
 10747  	// If `PlaceVmsXClusterSpec.datastoreRecommRequired` is set to
 10748  	// true, then this
 10749  	// `ClusterClusterInitialPlacementAction.configSpec` is also set
 10750  	// with the backing of each disk populated. If
 10751  	// `PlaceVmsXClusterSpec.datastoreRecommRequired` is either set to
 10752  	// false or left unset, then this field is also left unset. When this field
 10753  	// is left unset, then it means that the client did not ask to populate the
 10754  	// backing datastore for the disks of the candidate VMs.
 10755  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 10756  }
 10757  
 10758  func init() {
 10759  	t["ClusterClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterClusterInitialPlacementAction)(nil)).Elem()
 10760  	minAPIVersionForType["ClusterClusterInitialPlacementAction"] = "8.0.0.1"
 10761  }
 10762  
 10763  // This event records that a compliance check was triggered
 10764  // on the cluster.
 10765  type ClusterComplianceCheckedEvent struct {
 10766  	ClusterEvent
 10767  
 10768  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 10769  }
 10770  
 10771  func init() {
 10772  	t["ClusterComplianceCheckedEvent"] = reflect.TypeOf((*ClusterComplianceCheckedEvent)(nil)).Elem()
 10773  }
 10774  
 10775  // ClusterConfigResult is the result returned for the `ClusterComputeResource.ConfigureHCI_Task`
 10776  // method.
 10777  type ClusterComputeResourceClusterConfigResult struct {
 10778  	DynamicData
 10779  
 10780  	// List of failed hosts.
 10781  	FailedHosts []FolderFailedHostResult `xml:"failedHosts,omitempty" json:"failedHosts,omitempty"`
 10782  	// List of successfully configured hosts.
 10783  	//
 10784  	// Refers instances of `HostSystem`.
 10785  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 10786  }
 10787  
 10788  func init() {
 10789  	t["ClusterComputeResourceClusterConfigResult"] = reflect.TypeOf((*ClusterComputeResourceClusterConfigResult)(nil)).Elem()
 10790  }
 10791  
 10792  // The encryption mode policy for a cluster.
 10793  type ClusterComputeResourceCryptoModePolicy struct {
 10794  	DynamicData
 10795  
 10796  	// The host key identifier.
 10797  	//
 10798  	// When set, all hosts in the cluster will use this key when enabling
 10799  	// the crypto safe mode. Only one of `ClusterComputeResourceCryptoModePolicy.keyId` and
 10800  	// `ClusterComputeResourceCryptoModePolicy.providerId` may be set.
 10801  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 10802  	// The host key provider identifier.
 10803  	//
 10804  	// When set, all hosts in the cluster will use a key from the specified
 10805  	// key provider when enabling the crypto safe mode. Only one of
 10806  	// `ClusterComputeResourceCryptoModePolicy.keyId` and `ClusterComputeResourceCryptoModePolicy.providerId` may be set.
 10807  	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
 10808  }
 10809  
 10810  func init() {
 10811  	t["ClusterComputeResourceCryptoModePolicy"] = reflect.TypeOf((*ClusterComputeResourceCryptoModePolicy)(nil)).Elem()
 10812  	minAPIVersionForType["ClusterComputeResourceCryptoModePolicy"] = "8.0.3.0"
 10813  }
 10814  
 10815  // Describes the validations applicable to the network settings.
 10816  //
 10817  // These
 10818  // are based off the information recorded in
 10819  // `dvsSetting`.
 10820  type ClusterComputeResourceDVSConfigurationValidation struct {
 10821  	ClusterComputeResourceValidationResultBase
 10822  
 10823  	// Check if the DVS is alive.
 10824  	IsDvsValid bool `xml:"isDvsValid" json:"isDvsValid"`
 10825  	// Check if the portgroups are valid.
 10826  	IsDvpgValid bool `xml:"isDvpgValid" json:"isDvpgValid"`
 10827  }
 10828  
 10829  func init() {
 10830  	t["ClusterComputeResourceDVSConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceDVSConfigurationValidation)(nil)).Elem()
 10831  }
 10832  
 10833  // Contains reference to the DVS, list of physical nics attached to it,
 10834  // and list of dvportgroups created on it while initially configuring a
 10835  // cluster by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 10836  type ClusterComputeResourceDVSSetting struct {
 10837  	DynamicData
 10838  
 10839  	// Managed object reference to the DVS.
 10840  	//
 10841  	// Refers instance of `DistributedVirtualSwitch`.
 10842  	DvSwitch ManagedObjectReference `xml:"dvSwitch" json:"dvSwitch"`
 10843  	// List of physical nics attached to the DVS.
 10844  	PnicDevices []string `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10845  	// Describes dvportgroups on the DVS and services residing on each one.
 10846  	DvPortgroupSetting []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"dvPortgroupSetting,omitempty" json:"dvPortgroupSetting,omitempty"`
 10847  }
 10848  
 10849  func init() {
 10850  	t["ClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ClusterComputeResourceDVSSetting)(nil)).Elem()
 10851  }
 10852  
 10853  type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
 10854  	DynamicData
 10855  
 10856  	// Managed object reference to the dvportgroup.
 10857  	//
 10858  	// Refers instance of `DistributedVirtualPortgroup`.
 10859  	DvPortgroup ManagedObjectReference `xml:"dvPortgroup" json:"dvPortgroup"`
 10860  	// Service to be configured on the virtual nics attached to this
 10861  	// dvportgroup.
 10862  	//
 10863  	// See `HostVirtualNicManagerNicType_enum` for
 10864  	// supported values.
 10865  	Service string `xml:"service" json:"service"`
 10866  }
 10867  
 10868  func init() {
 10869  	t["ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem()
 10870  }
 10871  
 10872  // Describes DVS related information to be configured by calling
 10873  // `ClusterComputeResource.ConfigureHCI_Task` method.
 10874  //
 10875  // Consists of name of the DVS, the physical adapters to be attached to it
 10876  // and the list of dvportgroups to be created on this DVS.
 10877  type ClusterComputeResourceDvsProfile struct {
 10878  	DynamicData
 10879  
 10880  	// Name of the new `DistributedVirtualSwitch`.
 10881  	DvsName string `xml:"dvsName,omitempty" json:"dvsName,omitempty"`
 10882  	// Managed object reference to an existing `DistributedVirtualSwitch`.
 10883  	//
 10884  	// Refers instance of `DistributedVirtualSwitch`.
 10885  	DvSwitch *ManagedObjectReference `xml:"dvSwitch,omitempty" json:"dvSwitch,omitempty"`
 10886  	// List of physical Nics to be attached to the DVS.
 10887  	PnicDevices        []string                                                          `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
 10888  	DvPortgroupMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"dvPortgroupMapping,omitempty" json:"dvPortgroupMapping,omitempty"`
 10889  }
 10890  
 10891  func init() {
 10892  	t["ClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ClusterComputeResourceDvsProfile)(nil)).Elem()
 10893  }
 10894  
 10895  type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
 10896  	DynamicData
 10897  
 10898  	// Specification for a new `DistributedVirtualPortgroup`.
 10899  	DvPortgroupSpec *DVPortgroupConfigSpec `xml:"dvPortgroupSpec,omitempty" json:"dvPortgroupSpec,omitempty"`
 10900  	// Managed object reference to an existing `DistributedVirtualPortgroup`.
 10901  	//
 10902  	// Refers instance of `DistributedVirtualPortgroup`.
 10903  	DvPortgroup *ManagedObjectReference `xml:"dvPortgroup,omitempty" json:"dvPortgroup,omitempty"`
 10904  	// Service to be configured on the virtual nics attached to this
 10905  	// dvportgroup.
 10906  	//
 10907  	// See `HostVirtualNicManagerNicType_enum` for
 10908  	// supported values.
 10909  	Service string `xml:"service" json:"service"`
 10910  }
 10911  
 10912  func init() {
 10913  	t["ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem()
 10914  }
 10915  
 10916  // This data object captures a subset of initial configuration of the cluster,
 10917  // which was configured by calling the `ClusterComputeResource.ConfigureHCI_Task` method.
 10918  type ClusterComputeResourceHCIConfigInfo struct {
 10919  	DynamicData
 10920  
 10921  	// Configuration pertinent to state of the HCI workflow.
 10922  	//
 10923  	// Valid
 10924  	// values are enumerated by the `HCIWorkflowState`
 10925  	// type.
 10926  	WorkflowState string `xml:"workflowState" json:"workflowState"`
 10927  	// Contains DVS related information captured while configuring
 10928  	// the cluster.
 10929  	DvsSetting []ClusterComputeResourceDVSSetting `xml:"dvsSetting,omitempty" json:"dvsSetting,omitempty"`
 10930  	// Contains a list of hosts that are currently configured using
 10931  	// `ClusterComputeResource.ConfigureHCI_Task` and `ClusterComputeResource.ExtendHCI_Task`
 10932  	// method.
 10933  	//
 10934  	// A failed host will not be part of this list.
 10935  	//
 10936  	// Refers instances of `HostSystem`.
 10937  	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
 10938  	// Configuration of host services and host settings.
 10939  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 10940  }
 10941  
 10942  func init() {
 10943  	t["ClusterComputeResourceHCIConfigInfo"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigInfo)(nil)).Elem()
 10944  }
 10945  
 10946  // Specification to configure the cluster.
 10947  type ClusterComputeResourceHCIConfigSpec struct {
 10948  	DynamicData
 10949  
 10950  	// Information related to network configuration.
 10951  	//
 10952  	// For each DvsProfile
 10953  	// object, specify either `ClusterComputeResourceDvsProfile.dvsName` or
 10954  	// `ClusterComputeResourceDvsProfile.dvSwitch`. Across all DvsProfile objects, specify
 10955  	// exactly one
 10956  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroup` or
 10957  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroupSpec` per
 10958  	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.service`.
 10959  	DvsProf []ClusterComputeResourceDvsProfile `xml:"dvsProf,omitempty" json:"dvsProf,omitempty"`
 10960  	// Configuration of host services and host settings.
 10961  	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
 10962  	// vSan configuration specification.
 10963  	//
 10964  	// This is vim.vsan.ReconfigSpec object
 10965  	// represented via the VIM object.
 10966  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 10967  	// Describes cluster and EVC configuration.
 10968  	VcProf *ClusterComputeResourceVCProfile `xml:"vcProf,omitempty" json:"vcProf,omitempty"`
 10969  }
 10970  
 10971  func init() {
 10972  	t["ClusterComputeResourceHCIConfigSpec"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigSpec)(nil)).Elem()
 10973  }
 10974  
 10975  // Host configuration input to configure hosts in a cluster.
 10976  type ClusterComputeResourceHostConfigurationInput struct {
 10977  	DynamicData
 10978  
 10979  	// Refers instance of `HostSystem`.
 10980  	Host        ManagedObjectReference                 `xml:"host" json:"host"`
 10981  	HostVmkNics []ClusterComputeResourceHostVmkNicInfo `xml:"hostVmkNics,omitempty" json:"hostVmkNics,omitempty"`
 10982  	// To apply configuration on the host, the host is expected to be in
 10983  	// maintenance mode.
 10984  	//
 10985  	// This constraint can be relaxed by setting this
 10986  	// flag to true.
 10987  	AllowedInNonMaintenanceMode *bool `xml:"allowedInNonMaintenanceMode" json:"allowedInNonMaintenanceMode,omitempty"`
 10988  }
 10989  
 10990  func init() {
 10991  	t["ClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationInput)(nil)).Elem()
 10992  }
 10993  
 10994  // HostConfigurationProfile describes the configuration of services
 10995  // and settings which gets applied on every host in the HCI cluster.
 10996  type ClusterComputeResourceHostConfigurationProfile struct {
 10997  	DynamicData
 10998  
 10999  	// Date and time settings
 11000  	DateTimeConfig *HostDateTimeConfig `xml:"dateTimeConfig,omitempty" json:"dateTimeConfig,omitempty"`
 11001  	// Desired lockdown mode
 11002  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 11003  }
 11004  
 11005  func init() {
 11006  	t["ClusterComputeResourceHostConfigurationProfile"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationProfile)(nil)).Elem()
 11007  }
 11008  
 11009  // Describes the validations applicable to the settings on the host.
 11010  type ClusterComputeResourceHostConfigurationValidation struct {
 11011  	ClusterComputeResourceValidationResultBase
 11012  
 11013  	// Host being validated.
 11014  	//
 11015  	// Refers instance of `HostSystem`.
 11016  	Host ManagedObjectReference `xml:"host" json:"host"`
 11017  	// Check if the host is attached to the DVS on right adapters.
 11018  	IsDvsSettingValid *bool `xml:"isDvsSettingValid" json:"isDvsSettingValid,omitempty"`
 11019  	// Check if the adapters for services are present and on the right
 11020  	// portgroups.
 11021  	IsVmknicSettingValid *bool `xml:"isVmknicSettingValid" json:"isVmknicSettingValid,omitempty"`
 11022  	// Check if NTP is configured per specification.
 11023  	IsNtpSettingValid *bool `xml:"isNtpSettingValid" json:"isNtpSettingValid,omitempty"`
 11024  	// Check if lockdown mode is set per specification
 11025  	IsLockdownModeValid *bool `xml:"isLockdownModeValid" json:"isLockdownModeValid,omitempty"`
 11026  }
 11027  
 11028  func init() {
 11029  	t["ClusterComputeResourceHostConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationValidation)(nil)).Elem()
 11030  }
 11031  
 11032  // This data object describes what evacuation actions should be made for a given host.
 11033  type ClusterComputeResourceHostEvacuationInfo struct {
 11034  	DynamicData
 11035  
 11036  	// Candidate host to be put into maintenance mode.
 11037  	//
 11038  	// Refers instance of `HostSystem`.
 11039  	Host ManagedObjectReference `xml:"host" json:"host"`
 11040  	// Specifies the list of required actions.
 11041  	//
 11042  	// Depending on the specified option values passed, additional
 11043  	// actions such as ones related to evacuation of specific objects,
 11044  	// additional memory reservation or allowing/disallowing certain groups
 11045  	// of operations may be taken when entering the desired flavor of
 11046  	// maintenance mode. The list of supported options and values may vary
 11047  	// based on the version of the ESXi host and Virtual Center.
 11048  	//
 11049  	// If unset, a default list of actions will be assumed based on the
 11050  	// selected flavor of maintenance mode as specified by the
 11051  	// `ClusterComputeResourceMaintenanceInfo.partialMMId` field. See `HostPartialMaintenanceModeId_enum`
 11052  	// for further information about individual flavors.
 11053  	Action []BaseOptionValue `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 11054  }
 11055  
 11056  func init() {
 11057  	t["ClusterComputeResourceHostEvacuationInfo"] = reflect.TypeOf((*ClusterComputeResourceHostEvacuationInfo)(nil)).Elem()
 11058  	minAPIVersionForType["ClusterComputeResourceHostEvacuationInfo"] = "8.0.3.0"
 11059  }
 11060  
 11061  // This data object describes how a vmknic on a host must be configured.
 11062  type ClusterComputeResourceHostVmkNicInfo struct {
 11063  	DynamicData
 11064  
 11065  	// NIC specification
 11066  	NicSpec HostVirtualNicSpec `xml:"nicSpec" json:"nicSpec"`
 11067  	// Service type for this adapter.
 11068  	//
 11069  	// See
 11070  	// `HostVirtualNicManagerNicType_enum` for supported values.
 11071  	Service string `xml:"service" json:"service"`
 11072  }
 11073  
 11074  func init() {
 11075  	t["ClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ClusterComputeResourceHostVmkNicInfo)(nil)).Elem()
 11076  }
 11077  
 11078  // This data object describes how a given array of hosts will be put into maintenance mode.
 11079  type ClusterComputeResourceMaintenanceInfo struct {
 11080  	DynamicData
 11081  
 11082  	// Indicates the flavor of maintenance mode requested.
 11083  	//
 11084  	// If set, specifies the desired flavor of partial
 11085  	// maintenance mode. Otherwise, full maintenance mode is assumed.
 11086  	// See `HostPartialMaintenanceModeId_enum` for supported values.
 11087  	PartialMMId string `xml:"partialMMId,omitempty" json:"partialMMId,omitempty"`
 11088  	// Evaucation information for each host
 11089  	HostEvacInfo []ClusterComputeResourceHostEvacuationInfo `xml:"hostEvacInfo,omitempty" json:"hostEvacInfo,omitempty"`
 11090  }
 11091  
 11092  func init() {
 11093  	t["ClusterComputeResourceMaintenanceInfo"] = reflect.TypeOf((*ClusterComputeResourceMaintenanceInfo)(nil)).Elem()
 11094  	minAPIVersionForType["ClusterComputeResourceMaintenanceInfo"] = "8.0.3.0"
 11095  }
 11096  
 11097  // The `ClusterComputeResourceSummary` data object
 11098  // encapsulates runtime properties of a `ClusterComputeResource`.
 11099  type ClusterComputeResourceSummary struct {
 11100  	ComputeResourceSummary
 11101  
 11102  	// Deprecated as of vSphere API 4.0, use
 11103  	// `ClusterFailoverLevelAdmissionControlInfo.currentFailoverLevel`.
 11104  	//
 11105  	// Current failover level.
 11106  	//
 11107  	// This is the number of physical host failures that can
 11108  	// be tolerated without impacting the ability to satisfy the minimums for all
 11109  	// running virtual machines. This represents the current value, as opposed to
 11110  	// desired value configured by the user.
 11111  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 11112  	// Information about the current amount of resources available for a vSphere HA
 11113  	// cluster.
 11114  	//
 11115  	// The actual type of admissionControlInfo will depend on what kind of
 11116  	// `ClusterDasAdmissionControlPolicy` was used to configure the cluster.
 11117  	AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr" json:"admissionControlInfo,omitempty"`
 11118  	// Total number of migrations with VMotion that have been done internal to this
 11119  	// cluster.
 11120  	NumVmotions int32 `xml:"numVmotions" json:"numVmotions"`
 11121  	// The target balance, in terms of standard deviation, for a DRS cluster.
 11122  	//
 11123  	// Units are thousandths. For example, 12 represents 0.012.
 11124  	TargetBalance int32 `xml:"targetBalance,omitempty" json:"targetBalance,omitempty"`
 11125  	// The current balance, in terms of standard deviation, for a DRS cluster.
 11126  	//
 11127  	// Units are thousandths. For example, 12 represents 0.012.
 11128  	CurrentBalance int32 `xml:"currentBalance,omitempty" json:"currentBalance,omitempty"`
 11129  	// The DRS score of this cluster, in percentage.
 11130  	DrsScore int32 `xml:"drsScore,omitempty" json:"drsScore,omitempty"`
 11131  	// The number of VMs in this cluster corresponding to each DRS score
 11132  	// bucket.
 11133  	//
 11134  	// The buckets are defined as follows:
 11135  	//   - 0% - 20%
 11136  	//   - 21% - 40%
 11137  	//   - 41% - 60%
 11138  	//   - 61% - 80%
 11139  	//   - 81% - 100%
 11140  	NumVmsPerDrsScoreBucket []int32 `xml:"numVmsPerDrsScoreBucket,omitempty" json:"numVmsPerDrsScoreBucket,omitempty"`
 11141  	// The current usage summary for a DRS cluster.
 11142  	UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty" json:"usageSummary,omitempty"`
 11143  	// The Enhanced VMotion Compatibility mode that is currently in effect
 11144  	// for all hosts in this cluster; unset if no EVC mode is active.
 11145  	//
 11146  	// See also `Capability.supportedEVCMode`.
 11147  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 11148  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 11149  	// effect for all hosts in this cluster; unset if no EVC mode is active.
 11150  	//
 11151  	// See also `Capability.supportedEVCGraphicsMode`.
 11152  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11153  	// Data pertaining to DAS.
 11154  	DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr" json:"dasData,omitempty"`
 11155  	// Configuration pertinent to state of the cluster maintenance mode.
 11156  	//
 11157  	// Valid values are enumerated by the `ClusterMaintenanceModeStatus`
 11158  	// type.
 11159  	ClusterMaintenanceModeStatus string `xml:"clusterMaintenanceModeStatus,omitempty" json:"clusterMaintenanceModeStatus,omitempty" vim:"7.0.0.2"`
 11160  	// The health status of the vSphere Cluster Services in the cluster.
 11161  	//
 11162  	// Supported values are enumerated by the `VcsHealthStatus`
 11163  	// type.
 11164  	VcsHealthStatus string `xml:"vcsHealthStatus,omitempty" json:"vcsHealthStatus,omitempty" vim:"7.0.1.1"`
 11165  	// An array of hosts and number of resource slots on the host for
 11166  	// vSphere Cluster Services in the cluster.
 11167  	//
 11168  	// The number of resource slots on the host includes both following types:
 11169  	// 1\. Number of vCS VMs running on the host (resource reserved and occupied).
 11170  	// 2\. Number of reserved and unoccupied slots (reserved for new vCS VMs).
 11171  	VcsSlots []ClusterComputeResourceVcsSlots `xml:"vcsSlots,omitempty" json:"vcsSlots,omitempty" vim:"7.0.1.1"`
 11172  }
 11173  
 11174  func init() {
 11175  	t["ClusterComputeResourceSummary"] = reflect.TypeOf((*ClusterComputeResourceSummary)(nil)).Elem()
 11176  }
 11177  
 11178  // Describes cluster configuration for various vCenter services.
 11179  type ClusterComputeResourceVCProfile struct {
 11180  	DynamicData
 11181  
 11182  	// Cluster configurarion.
 11183  	ClusterSpec *ClusterConfigSpecEx `xml:"clusterSpec,omitempty" json:"clusterSpec,omitempty"`
 11184  	// EVC mode key.
 11185  	EvcModeKey string `xml:"evcModeKey,omitempty" json:"evcModeKey,omitempty"`
 11186  	// EVC Graphics mode key
 11187  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 11188  }
 11189  
 11190  func init() {
 11191  	t["ClusterComputeResourceVCProfile"] = reflect.TypeOf((*ClusterComputeResourceVCProfile)(nil)).Elem()
 11192  }
 11193  
 11194  // Describes the validation results.
 11195  type ClusterComputeResourceValidationResultBase struct {
 11196  	DynamicData
 11197  
 11198  	// Describes the messages relevant to the validation result
 11199  	Info []LocalizableMessage `xml:"info,omitempty" json:"info,omitempty"`
 11200  }
 11201  
 11202  func init() {
 11203  	t["ClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ClusterComputeResourceValidationResultBase)(nil)).Elem()
 11204  }
 11205  
 11206  type ClusterComputeResourceVcsSlots struct {
 11207  	DynamicData
 11208  
 11209  	// Identifier of the system for which the slots are applicable.
 11210  	SystemId string `xml:"systemId,omitempty" json:"systemId,omitempty" vim:"7.0.3.0"`
 11211  	// The host that has vSphere Cluster Services slots.
 11212  	//
 11213  	// Refers instance of `HostSystem`.
 11214  	Host ManagedObjectReference `xml:"host" json:"host"`
 11215  	// Datastores on the host which are recommended for vCLS VM deployment.
 11216  	//
 11217  	// Refers instances of `Datastore`.
 11218  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty" vim:"7.0.3.0"`
 11219  	// The number of total vSphere Cluster Services slots on the host.
 11220  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 11221  }
 11222  
 11223  func init() {
 11224  	t["ClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ClusterComputeResourceVcsSlots)(nil)).Elem()
 11225  	minAPIVersionForType["ClusterComputeResourceVcsSlots"] = "7.0.1.1"
 11226  }
 11227  
 11228  // Deprecated as of VI API 2.5, use `ClusterConfigInfoEx`.
 11229  //
 11230  // A complete cluster configuration.
 11231  type ClusterConfigInfo struct {
 11232  	DynamicData
 11233  
 11234  	// Cluster-wide configuration of the vSphere HA service.
 11235  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11236  	// List of virtual machine configurations for the vSphere HA
 11237  	// service.
 11238  	//
 11239  	// Each entry applies to one virtual machine.
 11240  	//
 11241  	// If a virtual machine is not specified in this array, the service uses
 11242  	// the default settings for that virtual machine.
 11243  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11244  	// Cluster-wide configuration of the VMware DRS service.
 11245  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11246  	// List of virtual machine configurations for the VMware DRS
 11247  	// service.
 11248  	//
 11249  	// Each entry applies to one virtual machine.
 11250  	//
 11251  	// If a virtual machine is not specified in this array, the service uses
 11252  	// the default settings for that virtual machine.
 11253  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11254  	// Cluster-wide rules.
 11255  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11256  }
 11257  
 11258  func init() {
 11259  	t["ClusterConfigInfo"] = reflect.TypeOf((*ClusterConfigInfo)(nil)).Elem()
 11260  }
 11261  
 11262  // The `ClusterConfigInfoEx` data object describes a complete cluster
 11263  // configuration.
 11264  //
 11265  // For information about configuring a cluster, see
 11266  // `ClusterConfigSpecEx`.
 11267  type ClusterConfigInfoEx struct {
 11268  	ComputeResourceConfigInfo
 11269  
 11270  	// Configuration for vCLS system VMs deployment.
 11271  	SystemVMsConfig *ClusterSystemVMsConfigInfo `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11272  	// Cluster-wide configuration of the vSphere HA service.
 11273  	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
 11274  	// List of virtual machine configurations for the vSphere HA
 11275  	// service.
 11276  	//
 11277  	// Each entry applies to one virtual machine.
 11278  	//
 11279  	// If a virtual machine is not specified in this array, the service uses
 11280  	// the default settings for that virtual machine.
 11281  	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
 11282  	// Cluster-wide configuration of the VMware DRS service.
 11283  	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
 11284  	// List of virtual machine configurations for the VMware DRS
 11285  	// service.
 11286  	//
 11287  	// Each entry applies to one virtual machine.
 11288  	//
 11289  	// If a virtual machine is not specified in this array, the service uses
 11290  	// the default settings for that virtual machine.
 11291  	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
 11292  	// Cluster-wide rules.
 11293  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 11294  	// Cluster-wide configuration of VM orchestration.
 11295  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty"`
 11296  	// List of virtual machine configurations that apply during cluster wide
 11297  	// VM orchestration.
 11298  	//
 11299  	// Each entry applies to one virtual machine.
 11300  	//
 11301  	// If a virtual machine is not specified in this array, the service uses
 11302  	// the default settings for that virtual machine.
 11303  	VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty" json:"vmOrchestration,omitempty"`
 11304  	// Cluster-wide configuration of the VMware DPM service.
 11305  	DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty" json:"dpmConfigInfo,omitempty"`
 11306  	// List of host configurations for the VMware DPM
 11307  	// service.
 11308  	//
 11309  	// Each entry applies to one host.
 11310  	//
 11311  	// If a host is not specified in this array, the service uses
 11312  	// the cluster default settings for that host.
 11313  	DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty" json:"dpmHostConfig,omitempty"`
 11314  	// Cluster-wide configuration of the VMware VSAN service.
 11315  	VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty" json:"vsanConfigInfo,omitempty"`
 11316  	// List of host configurations for the VMware VSAN service.
 11317  	//
 11318  	// Each entry applies to one host.
 11319  	//
 11320  	// If a host is not specified in this array, the service uses
 11321  	// the cluster default settings for that host.
 11322  	VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty"`
 11323  	// Cluster-wide groups.
 11324  	Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr" json:"group,omitempty"`
 11325  	// Cluster-wide configuration of the VMware InfraUpdateHA service.
 11326  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty"`
 11327  	// Cluster-wide configuration of the ProactiveDRS service.
 11328  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty"`
 11329  	// Cluster-wide configuration of the encryption mode.
 11330  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty"`
 11331  }
 11332  
 11333  func init() {
 11334  	t["ClusterConfigInfoEx"] = reflect.TypeOf((*ClusterConfigInfoEx)(nil)).Elem()
 11335  }
 11336  
 11337  // Deprecated as of VI API 2.5, use `ClusterConfigSpecEx`.
 11338  //
 11339  // A complete cluster configuration.
 11340  //
 11341  // All fields are defined as
 11342  // optional. In case of a reconfiguration, unset fields are
 11343  // unchanged.
 11344  type ClusterConfigSpec struct {
 11345  	DynamicData
 11346  
 11347  	// Changes to the configuration of vSphere HA.
 11348  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11349  	// Changes to the per-virtual-machine vSphere HA settings.
 11350  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11351  	// Changes to the configuration of the VMware DRS service.
 11352  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11353  	// Changes to the per-virtual-machine DRS settings.
 11354  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11355  	// Changes to the set of rules.
 11356  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11357  }
 11358  
 11359  func init() {
 11360  	t["ClusterConfigSpec"] = reflect.TypeOf((*ClusterConfigSpec)(nil)).Elem()
 11361  }
 11362  
 11363  // The `ClusterConfigSpecEx` data object provides a set of update
 11364  // specifications for complete cluster configuration.
 11365  //
 11366  // You can configure a cluster when you create a new cluster
 11367  // (the `Folder.CreateClusterEx` method) or when you
 11368  // reconfigure an existing cluster
 11369  // (the `ComputeResource.ReconfigureComputeResource_Task` method).
 11370  //
 11371  // All fields are optional. If you set the <code>modify</code>
 11372  // parameter to <code>true</code> when you call
 11373  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11374  // on the existing property value in the cluster configuration on the Server.
 11375  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11376  // reconfigure a cluster, the cluster configuration is reverted to the default
 11377  // values, then the new configuration values are applied.
 11378  //
 11379  // Use the properties defined for this object to configure
 11380  // the following services:
 11381  //
 11382  //   - HA (High Availability) -
 11383  //     provides failover protection for virtual machines
 11384  //     running in a cluster of ESX Server hosts.
 11385  //     The virtual machines are located in a `Datastore`, which
 11386  //     provides shared storage for the cluster.
 11387  //     When a failure occurs that affects a protected virtual machine,
 11388  //     HA will restart the virtual machine on another host.
 11389  //     When HA detects a host failure, either the host has failed or it may be
 11390  //     isolated from the network. The HA agent on an isolated host will power off
 11391  //     or shutdown the virtual machines running on that host so that they
 11392  //     can be restarted elsewhere.
 11393  //     See `ClusterDasVmSettingsIsolationResponse_enum` for information
 11394  //     about how a host handles network isolation.
 11395  //
 11396  //     When it chooses a failover host, HA selects a host that is compatible
 11397  //     with the virtual machine and that can support resource allocation for
 11398  //     that virtual machine so that service level guarantees remain intact.
 11399  //     HA does not consider hosts that are in maintenance mode, standby mode,
 11400  //     or which are disconnected from the vCenter Server. When a host powers
 11401  //     on or becomes available again, HA is reenabled on that host,
 11402  //     so it becomes available for failover again.
 11403  //     VMware recommends that you configure hosts and virtual machines
 11404  //     so that all virtual machines can run on all hosts in the cluster.
 11405  //     This will maximize the chances of restarting a VM after a failure.
 11406  //
 11407  //     HA also restarts a virtual machine after a guest operating system failure.
 11408  //     In this case, the virtual machine health monitoring service detects
 11409  //     the guest failure, and HA restarts the virtual machine on the same host.
 11410  //     The service monitors heartbeats from the VmTools service and optionally
 11411  //     heartbeats that are generated by a third-party application monitor.
 11412  //     See `ClusterVmToolsMonitoringSettings` and
 11413  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`.
 11414  //
 11415  //     To enable HA for a cluster, set the
 11416  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled`
 11417  //     property to <code>true</code> and the
 11418  //     `ClusterDasConfigInfo*.*ClusterDasConfigInfo.hostMonitoring`
 11419  //     property to `enabled`.
 11420  //     (The vSphere API uses the substring "das" in object, property,
 11421  //     and method names for HA.<sup>1</sup>)
 11422  //
 11423  //   - DRS (Distributed Resource Scheduling) - provides automatic initial
 11424  //     virtual machine placement on any of the hosts in the cluster. DRS
 11425  //     also makes automatic resource relocation and optimization decisions
 11426  //     as hosts or virtual machines are added or removed from the cluster.
 11427  //     You can also configure DRS for manual control, so that it only makes
 11428  //     recommendations that you can review and carry out.
 11429  //
 11430  //     To enable DRS for a cluster, set the
 11431  //     `ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.enabled`
 11432  //     property to <code>true</code>.
 11433  //
 11434  //   - DPM (Distributed Power Management) - supports optimized power
 11435  //     consumption on the cluster. When virtual machines in a DRS
 11436  //     cluster require fewer resources, DPM consolidates workloads
 11437  //     onto fewer servers while maintaining quality of service guarantees
 11438  //     and powers off the rest to reduce power consumption.
 11439  //     When more resources are required, DPM brings the powered-down hosts online.
 11440  //
 11441  //     To enable DPM for a cluster, set the
 11442  //     `ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.enabled`
 11443  //     property to <code>true</code>.
 11444  //
 11445  //   - VSAN - aggregrates hosts' local disks to present a single
 11446  //     shared datastore to the cluster.
 11447  //
 11448  //     To enable VSAN for a cluster, set the
 11449  //     `VsanClusterConfigInfo.enabled` property to
 11450  //     <code>true</code> for `ClusterConfigSpecEx.vsanConfig`.
 11451  //
 11452  //   - InfraUpdateHA (Infrastructure update HA) - supports automatic
 11453  //     migration of virtual machines to hosts with low risk of a
 11454  //     catastrophic failure. Similar to DRS, you can also configure
 11455  //     InfraUpdateHA for manual control to only makes recommendations that
 11456  //     you can review and carry out. The health state of the hosts are
 11457  //     propagated to HA to enable restarting of virtual machines in healthy
 11458  //     hosts as possible.
 11459  //
 11460  //     To enable InfraUpdateHA for a cluster, set the
 11461  //     `ClusterInfraUpdateHaConfigInfo*.*ClusterInfraUpdateHaConfigInfo.enabled` property to
 11462  //     <code>true</code>.
 11463  //
 11464  //   - ProactiveDRS (Proactive Distributed Resources Scheduling) - supports
 11465  //     virtual machine load balancing decisions that take predicted
 11466  //     resource demand information into account.
 11467  //
 11468  //     To enable ProactiveDRS for a cluster, set the
 11469  //     `ClusterProactiveDrsConfigInfo*.*ClusterProactiveDrsConfigInfo.enabled` property to
 11470  //     <code>true</code>.
 11471  //
 11472  // The HA, DRS, and DPM services are integrated with the FT (Fault Tolerance)
 11473  // and EVC (Enhanced vMotion Compatibility) services.
 11474  // Use the `VirtualMachine.CreateSecondaryVM_Task` method to establish
 11475  // fault tolerance for a virtual machine. Use the vSphere Client to configure EVC.
 11476  // The HA, DRS, DPM, FT, and EVC services interact under
 11477  // the following circumstances.
 11478  //
 11479  //   - To determine initial placement of a virtual machine, DRS
 11480  //     checks to see if the HA admission control policy on a
 11481  //     potential host supports the addition of the powered on
 11482  //     virtual machine. With the default setting, DRS will not
 11483  //     power on more than four FT virtual machines per host.
 11484  //     You can use the configuration editor in the vSphere Client
 11485  //     to set the HA advanced option <code>das.maxFtVmsPerHost</code>
 11486  //     to the desired number or to zero to disable.
 11487  //
 11488  //   - When a host fails, HA determines placement within
 11489  //     the cluster when it restarts the virtual machines.
 11490  //     If there is insufficient capacity, and DPM has put one or more
 11491  //     compatible hosts into standby, HA relies on DPM to bring more
 11492  //     capacity online.
 11493  //
 11494  //   - To use FT in a cluster, the cluster must be HA-enabled.
 11495  //
 11496  //   - You can disable HA in a cluster while there are FT virtual
 11497  //     machines registered on hosts in the cluster.
 11498  //     While HA is disabled, powered on FT virtual machines will continue
 11499  //     to run, but HA will not restart any virtual machines after a failure.
 11500  //     When HA is disabled, you cannot use the following FT operations:
 11501  //
 11502  //   - Turn on FT (`VirtualMachine.CreateSecondaryVM_Task`)
 11503  //
 11504  //   - Enable FT (`VirtualMachine.EnableSecondaryVM_Task`)
 11505  //
 11506  //   - Power on an FT virtual machine
 11507  //     (`VirtualMachine.PowerOnVM_Task`)
 11508  //
 11509  //   - Test failover and test secondary restart
 11510  //     (`VirtualMachine.TerminateFaultTolerantVM_Task`)
 11511  //
 11512  //   - In a cluster using DRS and HA with admission control turned on
 11513  //     (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.admissionControlEnabled`),
 11514  //     the vCenter Server might not migrate virtual machines from hosts
 11515  //     entering maintenance mode. This is because resources are reserved
 11516  //     to maintain the failover level. You must use vMotion to manually
 11517  //     migrate the virtual machines off the hosts.
 11518  //
 11519  //     When admission control is disabled, failover resource constraints
 11520  //     are not passed on to DRS and DPM. The constraints are not enforced.
 11521  //
 11522  //   - DRS determines virtual machine placement and status
 11523  //     (maintenance mode, standby mode) regardless of the impact
 11524  //     this might have on failover requirements.
 11525  //
 11526  //   - DPM powers off hosts (places them in standby mode)
 11527  //     even if doing so violates failover requirements.
 11528  //     If there is insufficient capacity when a failover
 11529  //     occurs, DPM will attempt to bring more capacity online
 11530  //     in order to correct the situation.
 11531  //
 11532  //   - You must enable EVC in a cluster to enable DRS to manage FT primary
 11533  //     and secondary virtual machine pairs in the cluster.
 11534  //     For information about EVC clusters, see `EVCMode`.
 11535  //
 11536  //     If EVC is disabled, vCenter automatically creates overrides
 11537  //     to disable DRS for FT primary/secondary pairs in the cluster.
 11538  //     vCenter will still use DRS to place a secondary virtual machine
 11539  //     when it powers on.
 11540  //     Attempts to remove the overrides or to enable DRS operations
 11541  //     will fail.
 11542  //
 11543  //   - EVC clusters support load balancing of powered on FT primary
 11544  //     and secondary virtual machines. DRS behavior
 11545  //     is governed by the overrides defined for the primary virtual
 11546  //     machine. The secondary inherits DRS behavior from its primary.
 11547  //     If you do not configure a DRS override for an FT virtual
 11548  //     machine, DRS uses the cluster default
 11549  //     (`ClusterDrsConfigInfo.defaultVmBehavior`).
 11550  //
 11551  // <sup>1</sup>High Availability was previously called Distributed
 11552  // Availability Services.
 11553  type ClusterConfigSpecEx struct {
 11554  	ComputeResourceConfigSpec
 11555  
 11556  	// Configuration for vCLS system VMs deployment.
 11557  	SystemVMsConfig *ClusterSystemVMsConfigSpec `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
 11558  	// HA configuration; includes default settings for virtual machines.
 11559  	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
 11560  	// HA configuration for individual virtual machines.
 11561  	//
 11562  	// The entries in this array override the cluster default
 11563  	// settings
 11564  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 11565  	// You cannot specify an HA override for a secondary FT virtual
 11566  	// machine. The secondary virtual machine will inherit whatever
 11567  	// settings apply to its primary virtual machine. If you
 11568  	// include an entry for a secondary, the reconfigure method
 11569  	// will throw the fault
 11570  	// `CannotChangeHaSettingsForFtSecondary`.
 11571  	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
 11572  	// DRS configuration; includes default settings for virtual machines.
 11573  	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
 11574  	// DRS configuration for individual virtual machines.
 11575  	//
 11576  	// The entries in this array override the cluster default
 11577  	// settings
 11578  	// (`ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.defaultVmBehavior`).
 11579  	// You cannot specify a DRS override for a secondary FT virtual
 11580  	// machine. The secondary virtual machine will inherit whatever
 11581  	// setting applies to its primary virtual machine. If you
 11582  	// include an entry for a secondary, the reconfigure method
 11583  	// will throw the fault
 11584  	// `CannotChangeDrsBehaviorForFtSecondary`.
 11585  	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
 11586  	// Cluster affinity and anti-affinity rule configuration.
 11587  	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
 11588  	// Cluster configuration of VM orchestration.
 11589  	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty"`
 11590  	// List of specific VM configurations that apply during cluster wide
 11591  	// VM orchestration.
 11592  	//
 11593  	// Each entry applies to one virtual machine, and
 11594  	// overrides the cluster default settings.
 11595  	VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty" json:"vmOrchestrationSpec,omitempty"`
 11596  	// DPM configuration; includes default settings for hosts.
 11597  	DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty" json:"dpmConfig,omitempty"`
 11598  	// DPM configuration for individual hosts.
 11599  	//
 11600  	// The entries in this array override the cluster default
 11601  	// settings
 11602  	// (`ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.defaultDpmBehavior`).
 11603  	DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty" json:"dpmHostConfigSpec,omitempty"`
 11604  	// VSAN configuration; includes default settings for hosts.
 11605  	//
 11606  	// When it is requested to change, vSAN related sub tasks will be
 11607  	// generated automatically per member hosts, which are identified
 11608  	// by using cluster reconfiguration task id as
 11609  	// `TaskInfo.parentTaskKey`, and should be monitored
 11610  	// and tracked separatedly.
 11611  	VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty" json:"vsanConfig,omitempty"`
 11612  	// VSAN configuration for individual hosts.
 11613  	//
 11614  	// The entries in this array override the cluster default settings
 11615  	// as specified in `VsanClusterConfigInfo`.
 11616  	VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty" json:"vsanHostConfigSpec,omitempty"`
 11617  	// Cluster-wide group configuration.
 11618  	//
 11619  	// The array contains one or more group specification objects.
 11620  	// A group specification object contains a virtual machine group
 11621  	// (`ClusterVmGroup`) or a host group (`ClusterHostGroup`).
 11622  	// Groups can be related; see `ClusterVmHostRuleInfo`.
 11623  	GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty" json:"groupSpec,omitempty"`
 11624  	// InfraUpdateHA configuration.
 11625  	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty"`
 11626  	// ProactiveDrs configuration.
 11627  	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty"`
 11628  	// Flag to place the cluster in the HCI workflow during cluster creation.
 11629  	//
 11630  	// This flag is specified only at the time of cluster creation.
 11631  	// A cluster cannot be reconfigured to place it in the HCI workflow.
 11632  	InHciWorkflow *bool `xml:"inHciWorkflow" json:"inHciWorkflow,omitempty"`
 11633  	// Cluster-wide configuration of encryption mode.
 11634  	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty"`
 11635  }
 11636  
 11637  func init() {
 11638  	t["ClusterConfigSpecEx"] = reflect.TypeOf((*ClusterConfigSpecEx)(nil)).Elem()
 11639  }
 11640  
 11641  // This event records when a cluster is created.
 11642  type ClusterCreatedEvent struct {
 11643  	ClusterEvent
 11644  
 11645  	// The folder where the cluster is created.
 11646  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 11647  }
 11648  
 11649  func init() {
 11650  	t["ClusterCreatedEvent"] = reflect.TypeOf((*ClusterCreatedEvent)(nil)).Elem()
 11651  }
 11652  
 11653  type ClusterCryptoConfigInfo struct {
 11654  	DynamicData
 11655  
 11656  	// The cluster encryption mode.
 11657  	//
 11658  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for supported values.
 11659  	CryptoMode string `xml:"cryptoMode,omitempty" json:"cryptoMode,omitempty"`
 11660  	// The encryption mode policy for the cluster.
 11661  	//
 11662  	// When unset, host keys will be automatically generated using the current
 11663  	// default key provider.
 11664  	Policy *ClusterComputeResourceCryptoModePolicy `xml:"policy,omitempty" json:"policy,omitempty" vim:"8.0.3.0"`
 11665  }
 11666  
 11667  func init() {
 11668  	t["ClusterCryptoConfigInfo"] = reflect.TypeOf((*ClusterCryptoConfigInfo)(nil)).Elem()
 11669  }
 11670  
 11671  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11672  // vCenter Server. Availability information is now reported using
 11673  // `HostRuntimeInfo.dasHostState`.
 11674  //
 11675  // The `ClusterDasAamHostInfo` object contains a list of the ESX hosts
 11676  // in an HA cluster and a list that identifies the _primary_ hosts.
 11677  //
 11678  // (AAM is a component of the HA service.)
 11679  // The primary hosts share the joint responsibility of maintaining all cluster
 11680  // state and one will initiate failover actions should a failure occur.
 11681  //
 11682  // When you add an ESX host to a vSphere HA cluster, the host
 11683  // downloads HA agent components from the vCenter Server.
 11684  // The HA agent maintains communication with the vCenter Server.
 11685  //
 11686  // When the host downloads the HA agent, the host configures the agent
 11687  // to communicate with other agents in the cluster. A host that joins
 11688  // the cluster communicates with an existing primary host to complete
 11689  // its configuration (except when you are adding the first host to the cluster).
 11690  //   - The first five hosts added to the cluster are designated
 11691  //     as primary hosts. All subsequent hosts are designated as secondary hosts.
 11692  //   - If a primary host is removed from the cluster,
 11693  //     the vCenter Server promotes another host to primary status.
 11694  //   - There must be at least one functional primary host for vSphere HA
 11695  //     to operate correctly. If there is not an available primary host
 11696  //     (no response), host configuration for HA will fail.
 11697  //     If there is a total cluster failure, HA will begin restarting virtual
 11698  //     machines as soon as one host recovers and its HA agent is up and running.
 11699  //
 11700  // One of the primary hosts assumes the role of the active primary host.
 11701  // The active primary host responsibilities include the following activities:
 11702  //   - Decides where to restart virtual machines.
 11703  //   - Tracks failed restart attempts.
 11704  //   - Determines when it is appropriate to continue attempts to restart
 11705  //     a virtual machine.
 11706  //
 11707  // If the active primary host fails, another primary host replaces it.
 11708  type ClusterDasAamHostInfo struct {
 11709  	ClusterDasHostInfo
 11710  
 11711  	// The state of HA on the hosts.
 11712  	HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty" json:"hostDasState,omitempty"`
 11713  	// The list of primary hosts.
 11714  	PrimaryHosts []string `xml:"primaryHosts,omitempty" json:"primaryHosts,omitempty"`
 11715  }
 11716  
 11717  func init() {
 11718  	t["ClusterDasAamHostInfo"] = reflect.TypeOf((*ClusterDasAamHostInfo)(nil)).Elem()
 11719  }
 11720  
 11721  // Deprecated as of vSphere API 5.0, this object is no longer returned by
 11722  // vCenter Server. See `HostRuntimeInfo.dasHostState` for a
 11723  // description of the objects now used.
 11724  //
 11725  // The `ClusterDasAamNodeState` data object represents the state
 11726  // of the HA service on an ESX host.
 11727  //
 11728  // (AAM is a component of this service.)
 11729  type ClusterDasAamNodeState struct {
 11730  	DynamicData
 11731  
 11732  	// Reference to the host.
 11733  	//
 11734  	// Refers instance of `HostSystem`.
 11735  	Host ManagedObjectReference `xml:"host" json:"host"`
 11736  	// Name of the host
 11737  	// (`HostSystem*.*ManagedEntity.name`).
 11738  	Name string `xml:"name" json:"name"`
 11739  	// Configuration state of the HA agent on the host.
 11740  	//
 11741  	// The property can be one of the following values:
 11742  	//
 11743  	// configuring
 11744  	// error
 11745  	// unconfiguring
 11746  	// running
 11747  	//
 11748  	// <code>configState</code> represents setting or resetting the HA
 11749  	// configuration on the host. If the configuration operation is
 11750  	// successful, the value of <code>configState</code> changes
 11751  	// to <code>running</code>. See `ClusterDasAamNodeStateDasState_enum`.
 11752  	ConfigState string `xml:"configState" json:"configState"`
 11753  	// The runtime state of the HA agent on the node.
 11754  	//
 11755  	// The property can be one of the following values:
 11756  	//
 11757  	// uninitialized
 11758  	// initialized
 11759  	// running
 11760  	// error
 11761  	// agentShutdown
 11762  	// nodeFailed
 11763  	//
 11764  	// See `ClusterDasAamNodeStateDasState_enum`.
 11765  	RuntimeState string `xml:"runtimeState" json:"runtimeState"`
 11766  }
 11767  
 11768  func init() {
 11769  	t["ClusterDasAamNodeState"] = reflect.TypeOf((*ClusterDasAamNodeState)(nil)).Elem()
 11770  }
 11771  
 11772  // Base class for admission control related information of a vSphere HA cluster.
 11773  type ClusterDasAdmissionControlInfo struct {
 11774  	DynamicData
 11775  }
 11776  
 11777  func init() {
 11778  	t["ClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem()
 11779  }
 11780  
 11781  // Base class for specifying how admission control should be done for vSphere HA.
 11782  type ClusterDasAdmissionControlPolicy struct {
 11783  	DynamicData
 11784  
 11785  	// Percentage of resource reduction that a cluster of VMs can tolerate
 11786  	// in case of a failover.
 11787  	ResourceReductionToToleratePercent *int32 `xml:"resourceReductionToToleratePercent" json:"resourceReductionToToleratePercent,omitempty"`
 11788  	// Flag that determines whether strict admission control for persistent
 11789  	// memory is enabled.
 11790  	//
 11791  	// By default, this value is false.
 11792  	// This flag can only be set to true if
 11793  	// `ClusterDasConfigInfo.admissionControlEnabled` is set to true.
 11794  	// When you use persistent memory admission control, the following
 11795  	// operations are prevented, if doing so would violate the
 11796  	// `ClusterDasConfigInfo.admissionControlEnabled`.
 11797  	//   - Creating a virtual machine with persistent memory.
 11798  	//   - Adding a virtual persistent memory device to a virtual machine.
 11799  	//   - Increasing the capacity of a virtual persistent memory device.
 11800  	PMemAdmissionControlEnabled *bool `xml:"pMemAdmissionControlEnabled" json:"pMemAdmissionControlEnabled,omitempty" vim:"7.0.2.0"`
 11801  }
 11802  
 11803  func init() {
 11804  	t["ClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem()
 11805  }
 11806  
 11807  // Base class for advanced runtime information related to the high
 11808  // availability service for a cluster.
 11809  type ClusterDasAdvancedRuntimeInfo struct {
 11810  	DynamicData
 11811  
 11812  	// The information pertaining to the HA agents on the hosts
 11813  	DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr" json:"dasHostInfo,omitempty"`
 11814  	// Whether HA VM Component Protection can be enabled for the cluster.
 11815  	VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty" json:"vmcpSupported,omitempty"`
 11816  	// The map of a datastore to the set of hosts that are using
 11817  	// the datastore for storage heartbeating.
 11818  	HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty" json:"heartbeatDatastoreInfo,omitempty"`
 11819  }
 11820  
 11821  func init() {
 11822  	t["ClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem()
 11823  }
 11824  
 11825  // Class for capability to support VM Component Protection
 11826  type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct {
 11827  	DynamicData
 11828  
 11829  	// If all hosts in the cluster support the reaction of VM Component Protection
 11830  	// to storage All Paths Down timeout
 11831  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}
 11832  	StorageAPDSupported bool `xml:"storageAPDSupported" json:"storageAPDSupported"`
 11833  	// If all hosts in the cluster support the reaction of VM Component Protection
 11834  	// to storage Permanent Device Loss
 11835  	// (@link vim.host.MountInfo.InaccessibleReason#PermanentDeviceLoss}
 11836  	StoragePDLSupported bool `xml:"storagePDLSupported" json:"storagePDLSupported"`
 11837  }
 11838  
 11839  func init() {
 11840  	t["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo)(nil)).Elem()
 11841  }
 11842  
 11843  // The `ClusterDasConfigInfo` data object contains configuration data
 11844  // about the HA service on a cluster.
 11845  //
 11846  // All fields are optional. If you set the <code>modify</code>
 11847  // parameter to <code>true</code> when you call
 11848  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 11849  // on the existing property value in the cluster configuration on the Server.
 11850  // If you set the <code>modify</code> parameter to <code>false</code> when you
 11851  // reconfigure a cluster, the cluster configuration is reverted to the default
 11852  // values, then the new configuration values are applied.
 11853  type ClusterDasConfigInfo struct {
 11854  	DynamicData
 11855  
 11856  	// Flag to indicate whether or not vSphere HA feature is enabled.
 11857  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 11858  	// Level of HA Virtual Machine Health Monitoring Service.
 11859  	//
 11860  	// You can monitor both guest and application heartbeats, guest heartbeats only,
 11861  	// or you can disable the service. See `ClusterDasConfigInfoVmMonitoringState_enum`.
 11862  	// The default value is `vmMonitoringDisabled`.
 11863  	//
 11864  	// The Service level specified for the cluster determines
 11865  	// the possible monitoring settings that you can use for individual virtual machines.
 11866  	// See `ClusterVmToolsMonitoringSettings*.*ClusterVmToolsMonitoringSettings.vmMonitoring`.
 11867  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty"`
 11868  	// Determines whether HA restarts virtual machines after a host fails.
 11869  	//
 11870  	// The default value is
 11871  	// `ClusterDasConfigInfoServiceState_enum*.*enabled`.
 11872  	// This property is meaningful only when
 11873  	// `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled` is <code>true</code>.
 11874  	//
 11875  	// When <code>hostMonitoring</code> is
 11876  	// `enabled`, HA restarts virtual machines
 11877  	// after a host fails.
 11878  	//
 11879  	// When <code>hostMonitoring</code> is
 11880  	// `disabled`, HA does not restart
 11881  	// virtual machines after a host fails.
 11882  	// The status of Host Monitoring does not affect other services such
 11883  	// as virtual machine Health Monitoring or Fault Tolerance.
 11884  	// The rest of the cluster operations follow normal processing.
 11885  	// No configuration information is lost and re-enabling the service
 11886  	// is a quick operation.
 11887  	HostMonitoring string `xml:"hostMonitoring,omitempty" json:"hostMonitoring,omitempty"`
 11888  	// This property indicates if vSphere HA VM Component Protection service
 11889  	// is enabled.
 11890  	//
 11891  	// The default value is `disabled`.
 11892  	//
 11893  	// When <code>vmComponentProtecting</code> is set to
 11894  	// `disabled`, reaction to all types of VM
 11895  	// component failures is disabled.
 11896  	//
 11897  	// When <code>vmComponentProtecting</code> is set to
 11898  	// `enabled`, VM Component Protection service
 11899  	// will detect and react to component failures. The actual reaction is determined
 11900  	// by `ClusterVmComponentProtectionSettings` which is referenced by both cluster
 11901  	// level configuration (`ClusterDasConfigInfo.defaultVmSettings`) and per-VM
 11902  	// override `ClusterConfigInfoEx.dasVmConfig`.
 11903  	VmComponentProtecting string `xml:"vmComponentProtecting,omitempty" json:"vmComponentProtecting,omitempty"`
 11904  	// Deprecated as of vSphere API 4.0, use
 11905  	// `ClusterFailoverLevelAdmissionControlPolicy` to set
 11906  	// `ClusterDasConfigInfo.admissionControlPolicy`.
 11907  	//
 11908  	// Configured failover level.
 11909  	//
 11910  	// This is the number of physical host failures
 11911  	// that can be tolerated without impacting the ability to satisfy the
 11912  	// minimums for all running virtual machines. Acceptable values range from one to
 11913  	// four.
 11914  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 11915  	// Virtual machine admission control policy for vSphere HA.
 11916  	//
 11917  	// The policies specify resource availability for failover support.
 11918  	//   - Failover host admission policy
 11919  	//     `ClusterFailoverHostAdmissionControlPolicy` -
 11920  	//     specify one or more dedicated failover hosts.
 11921  	//   - Failover level policy
 11922  	//     `ClusterFailoverLevelAdmissionControlPolicy` -
 11923  	//     the limit of host failures for which resources are reserved.
 11924  	//     When you use the failover level policy,
 11925  	//     HA partitions resources into slots. A slot represents the minimum
 11926  	//     CPU and memory resources that are required to support
 11927  	//     any powered on virtual machine in the cluster.
 11928  	//     To retrieve information about partitioned resources, use the
 11929  	//     `ClusterComputeResource.RetrieveDasAdvancedRuntimeInfo`
 11930  	//     method.
 11931  	//   - Resources admission policy
 11932  	//     `ClusterFailoverResourcesAdmissionControlPolicy` -
 11933  	//     CPU and memory resources reserved for failover support.
 11934  	//     When you use the resources policy, you can reserve
 11935  	//     a percentage of the aggregate cluster resource for failover.
 11936  	AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr" json:"admissionControlPolicy,omitempty"`
 11937  	// Flag that determines whether strict admission control is enabled.
 11938  	//
 11939  	// When you use admission control, the following operations are
 11940  	// prevented, if doing so would violate the `ClusterDasConfigInfo.admissionControlPolicy`.
 11941  	//   - Powering on a virtual machine in the cluster.
 11942  	//   - Migrating a virtual machine into the cluster.
 11943  	//   - Increasing the CPU or memory reservation of powered-on
 11944  	//     virtual machines in the cluster.
 11945  	//
 11946  	// With admission control disabled, there is no assurance that
 11947  	// all virtual machines in the HA cluster can be restarted after
 11948  	// a host failure. VMware recommends that you do not disable
 11949  	// admission control, but you might need to do so temporarily,
 11950  	// for the following reasons:
 11951  	//   - If you need to violate the failover constraints when there
 11952  	//     are not enough resources to support them (for example,
 11953  	//     if you are placing hosts in standby mode to test them
 11954  	//     for use with DPM).
 11955  	//   - If an automated process needs to take actions that might
 11956  	//     temporarily violate the failover constraints (for example,
 11957  	//     as part of an upgrade directed by VMware Update Manager).
 11958  	//   - If you need to perform testing or maintenance operations.
 11959  	AdmissionControlEnabled *bool `xml:"admissionControlEnabled" json:"admissionControlEnabled,omitempty"`
 11960  	// Cluster-wide defaults for virtual machine HA settings.
 11961  	//
 11962  	// When a virtual machine has no HA configuration
 11963  	// (`ClusterDasVmConfigSpec`), it uses the values
 11964  	// specified here.
 11965  	DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty" json:"defaultVmSettings,omitempty"`
 11966  	// Advanced settings.
 11967  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 11968  	// The list of preferred datastores to use for storage heartbeating.
 11969  	//
 11970  	// Each of the specified datastores should be active and mounted
 11971  	// by more than one host. There is no limit on the number of specified
 11972  	// datastores and no priority among them.
 11973  	// The specified datastores will replace those previously specified and
 11974  	// an empty list will delete all such earlier specified ones.
 11975  	//
 11976  	// vCenter Server chooses the heartbeat datastores for a host from the
 11977  	// set specified by `ClusterDasConfigInfo.hBDatastoreCandidatePolicy`.
 11978  	// The choice is made based on datastore connectivity and storage array
 11979  	// redundancy (in case of VMFS).
 11980  	//
 11981  	// The final set of selected heartbeat datastores is reported via
 11982  	// `ClusterDasAdvancedRuntimeInfo.heartbeatDatastoreInfo`.
 11983  	//
 11984  	// Refers instances of `Datastore`.
 11985  	HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty" json:"heartbeatDatastore,omitempty"`
 11986  	// The policy on what datastores will be used by vCenter Server to choose
 11987  	// heartbeat datastores.
 11988  	//
 11989  	// See `ClusterDasConfigInfoHBDatastoreCandidate_enum` for all options.
 11990  	// The default value is
 11991  	// `allFeasibleDsWithUserPreference`.
 11992  	HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty" json:"hBDatastoreCandidatePolicy,omitempty"`
 11993  }
 11994  
 11995  func init() {
 11996  	t["ClusterDasConfigInfo"] = reflect.TypeOf((*ClusterDasConfigInfo)(nil)).Elem()
 11997  }
 11998  
 11999  // Base class for DAS data for high availability service for a cluster.
 12000  type ClusterDasData struct {
 12001  	DynamicData
 12002  }
 12003  
 12004  func init() {
 12005  	t["ClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem()
 12006  }
 12007  
 12008  // This class contains the summary of the data that DAS needs/uses.
 12009  //
 12010  // The actual data is available in `ClusterDasDataDetails` and can be retrieved
 12011  // using the `ClusterComputeResource.RetrieveDasData` method.
 12012  // This class is meant for VMware internal use only.
 12013  type ClusterDasDataSummary struct {
 12014  	ClusterDasData
 12015  
 12016  	// The version corresponding to the hostList
 12017  	HostListVersion int64 `xml:"hostListVersion" json:"hostListVersion"`
 12018  	// The version corresponding to the clusterConfig
 12019  	ClusterConfigVersion int64 `xml:"clusterConfigVersion" json:"clusterConfigVersion"`
 12020  	// The version corresponding to the compatList
 12021  	CompatListVersion int64 `xml:"compatListVersion" json:"compatListVersion"`
 12022  }
 12023  
 12024  func init() {
 12025  	t["ClusterDasDataSummary"] = reflect.TypeOf((*ClusterDasDataSummary)(nil)).Elem()
 12026  }
 12027  
 12028  // Advanced runtime information related to the high availability service
 12029  // for a cluster that has been configured with a failover level admission control
 12030  // policy.
 12031  //
 12032  // See `ClusterFailoverLevelAdmissionControlPolicy`.
 12033  type ClusterDasFailoverLevelAdvancedRuntimeInfo struct {
 12034  	ClusterDasAdvancedRuntimeInfo
 12035  
 12036  	// Slot information for this cluster.
 12037  	SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo" json:"slotInfo"`
 12038  	// The total number of slots available in the cluster.
 12039  	//
 12040  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12041  	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
 12042  	// The number of slots currently being used.
 12043  	//
 12044  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12045  	UsedSlots int32 `xml:"usedSlots" json:"usedSlots"`
 12046  	// The number of slots that are not used by currently powered on virtual machines
 12047  	// and not reserved to satisfy the configured failover level.
 12048  	//
 12049  	// This number gives
 12050  	// an indication of how many additional virtual machines can be powered on in
 12051  	// this cluster without violating the failover level (assuming the new virtual
 12052  	// machine's reservations are satisfied by the current slot size).
 12053  	// This value is computed as follows (where m is the configured failover level):
 12054  	// Remove the m largest hosts (ie. the ones with the most slots) from the list
 12055  	// of "good" hosts (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.totalGoodHosts`). Sum up the number of slots on
 12056  	// the remaining hosts and deduct the number of currently used slots
 12057  	// (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.usedSlots`). If this number is negative, use zero instead.
 12058  	//
 12059  	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
 12060  	UnreservedSlots int32 `xml:"unreservedSlots" json:"unreservedSlots"`
 12061  	// The total number of powered on vms in the cluster.
 12062  	TotalVms int32 `xml:"totalVms" json:"totalVms"`
 12063  	// The total number of hosts in the cluster.
 12064  	TotalHosts int32 `xml:"totalHosts" json:"totalHosts"`
 12065  	// The total number of connected hosts that are not in maintance mode and that
 12066  	// do not have any DAS-related config issues on them.
 12067  	TotalGoodHosts int32                                                 `xml:"totalGoodHosts" json:"totalGoodHosts"`
 12068  	HostSlots      []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty" json:"hostSlots,omitempty"`
 12069  	// The list of virtual machines whose reservations and memory overhead are not
 12070  	// satisfied by a single slot.
 12071  	VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty" json:"vmsRequiringMultipleSlots,omitempty"`
 12072  }
 12073  
 12074  func init() {
 12075  	t["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfo)(nil)).Elem()
 12076  }
 12077  
 12078  type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
 12079  	DynamicData
 12080  
 12081  	// The reference to the host.
 12082  	//
 12083  	// Refers instance of `HostSystem`.
 12084  	Host ManagedObjectReference `xml:"host" json:"host"`
 12085  	// The number of slots in this host.
 12086  	Slots int32 `xml:"slots" json:"slots"`
 12087  }
 12088  
 12089  func init() {
 12090  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem()
 12091  }
 12092  
 12093  // A slot represents an amount of memory and cpu resources on a physical host for use
 12094  // by a virtual machine.
 12095  //
 12096  // It is used in computing the resources to be reserved for
 12097  // failover.
 12098  type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct {
 12099  	DynamicData
 12100  
 12101  	// Deprecated as of vSphere API 5.0, the number of vcpus is no longer used
 12102  	// for slot calculations.
 12103  	//
 12104  	// The number of virtual cpus of a slot is defined as the maximum number of
 12105  	// virtual cpus any powered on virtual machine has.
 12106  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 12107  	// The cpu speed of a slot is defined as the maximum cpu reservation of any
 12108  	// powered on virtual machine in the cluster, or any otherwise defined minimum,
 12109  	// whichever is larger.
 12110  	CpuMHz int32 `xml:"cpuMHz" json:"cpuMHz"`
 12111  	// The memory size of a slot is defined as the maximum memory reservation plus
 12112  	// memory overhead of any powered on virtual machine in the cluster, or any
 12113  	// otherwise defined minimum, whichever is larger.
 12114  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 12115  }
 12116  
 12117  func init() {
 12118  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo)(nil)).Elem()
 12119  }
 12120  
 12121  type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
 12122  	DynamicData
 12123  
 12124  	// The reference to the virtual machine
 12125  	//
 12126  	// Refers instance of `VirtualMachine`.
 12127  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12128  	// The number of slots required by this virtual machine
 12129  	Slots int32 `xml:"slots" json:"slots"`
 12130  }
 12131  
 12132  func init() {
 12133  	t["ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem()
 12134  }
 12135  
 12136  // The `ClusterDasFdmHostState` data object
 12137  // describes the availability state of each active host in a
 12138  // vSphere HA enabled cluster.
 12139  //
 12140  // In a vSphere HA cluster, the active hosts form a fault domain.
 12141  // A host is inactive if it is in standby or maintenance mode, or
 12142  // it has been disconnected from vCenter Server. A vSphere HA
 12143  // agent, called the Fault Domain Manager (FDM), runs on each host in the
 12144  // fault domain.
 12145  //
 12146  // One FDM serves as the master and the remaining FDMs as its slaves.
 12147  // The master is responsible for monitoring the availability of the hosts
 12148  // and VMs in the cluster, and restarting any VMs that fail due to a
 12149  // host failure or non-user-initiated power offs. The master is also
 12150  // responsible for reporting fault-domain state to vCenter Server.
 12151  //
 12152  // The master FDM is determined through election by the FDMs that are
 12153  // alive at the time. An election occurs in the following circumstances:
 12154  //   - When the vSphere HA feature is enabled for the cluster.
 12155  //   - When the master's host fails.
 12156  //   - When the management network is partitioned. In a network partition
 12157  //     there will be a master for each partition. However, only one master
 12158  //     will be responsible for a given VM. When the partition is
 12159  //     resolved, all but one of the masters will abdicate.
 12160  //   - After a host in a vSphere HA cluster powers back up following a failure
 12161  //     that caused all hosts in the cluster to power off.
 12162  //
 12163  // The slaves are responsible for reporting state updates to the master and
 12164  // restarting VMs as required. All FDMs provide the VM/Application Health
 12165  // Monitoring Service.
 12166  type ClusterDasFdmHostState struct {
 12167  	DynamicData
 12168  
 12169  	// The Availability State of a host based on information
 12170  	// reported by the entity given by the
 12171  	// `ClusterDasFdmHostState.stateReporter` property.
 12172  	//
 12173  	// See
 12174  	// `ClusterDasFdmAvailabilityState_enum` for the set of
 12175  	// states.
 12176  	State string `xml:"state" json:"state"`
 12177  	// The entity reporting the state of the host.
 12178  	//
 12179  	// If the reporter is a host,
 12180  	// the property reports which host, whereas if the reporter is vCenter Server,
 12181  	// the property is unset.
 12182  	//
 12183  	// Refers instance of `HostSystem`.
 12184  	StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty" json:"stateReporter,omitempty"`
 12185  }
 12186  
 12187  func init() {
 12188  	t["ClusterDasFdmHostState"] = reflect.TypeOf((*ClusterDasFdmHostState)(nil)).Elem()
 12189  }
 12190  
 12191  // HA specific advanced information pertaining to the hosts in the cluster.
 12192  type ClusterDasHostInfo struct {
 12193  	DynamicData
 12194  }
 12195  
 12196  func init() {
 12197  	t["ClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem()
 12198  }
 12199  
 12200  // A host recommendation for a virtual machine managed by the VMware
 12201  // HA Service.
 12202  type ClusterDasHostRecommendation struct {
 12203  	DynamicData
 12204  
 12205  	// The recommended host.
 12206  	//
 12207  	// Refers instance of `HostSystem`.
 12208  	Host ManagedObjectReference `xml:"host" json:"host"`
 12209  	// Rating as computed by DRS for a DRS-enabled cluster.
 12210  	//
 12211  	// Rating
 12212  	// range from 1 to 5, and the higher the rating, the stronger DRS
 12213  	// suggests this host is picked for the operation.
 12214  	DrsRating int32 `xml:"drsRating,omitempty" json:"drsRating,omitempty"`
 12215  }
 12216  
 12217  func init() {
 12218  	t["ClusterDasHostRecommendation"] = reflect.TypeOf((*ClusterDasHostRecommendation)(nil)).Elem()
 12219  }
 12220  
 12221  // The `ClusterDasVmConfigInfo` data object contains
 12222  // the HA configuration for a single virtual machine.
 12223  //
 12224  // All fields are optional. If you set the <code>modify</code>
 12225  // parameter to <code>true</code> when you call
 12226  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12227  // on the existing property value in the cluster configuration on the Server.
 12228  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12229  // reconfigure a cluster, the cluster configuration is reverted to the default
 12230  // values, then the new configuration values are applied.
 12231  type ClusterDasVmConfigInfo struct {
 12232  	DynamicData
 12233  
 12234  	// Reference to the virtual machine.
 12235  	//
 12236  	// Refers instance of `VirtualMachine`.
 12237  	Key ManagedObjectReference `xml:"key" json:"key"`
 12238  	// Deprecated as of VI API 2.5, use
 12239  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.restartPriority`.
 12240  	// If you specify `ClusterDasVmConfigInfo.restartPriority` here and in
 12241  	// `ClusterDasVmSettings`, the value in `ClusterDasVmSettings`
 12242  	// has precedence.
 12243  	//
 12244  	// Restart priority for a virtual machine.
 12245  	//
 12246  	// If there is nothing specified here, then the defaults are picked up from
 12247  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12248  	RestartPriority DasVmPriority `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12249  	// Deprecated as of VI API 2.5, use
 12250  	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.isolationResponse`.
 12251  	// If you specify both `ClusterDasVmConfigInfo.powerOffOnIsolation` and
 12252  	// `ClusterDasVmSettings.isolationResponse`, the value in
 12253  	// `ClusterDasVmSettings.isolationResponse` has precedence.
 12254  	//
 12255  	// Flag to indicate whether or not the virtual machine should be powered off if a
 12256  	// host determines that it is isolated from the rest of the compute resource.
 12257  	//
 12258  	// If there is nothing specified here, then the defaults are picked up from
 12259  	// `ClusterDasConfigInfo.defaultVmSettings`.
 12260  	PowerOffOnIsolation *bool `xml:"powerOffOnIsolation" json:"powerOffOnIsolation,omitempty"`
 12261  	// HA settings that apply to this virtual machine.
 12262  	//
 12263  	// Values specified in this object override the cluster-wide
 12264  	// defaults for virtual machines (`ClusterDasConfigInfo.defaultVmSettings`).
 12265  	DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty" json:"dasSettings,omitempty"`
 12266  }
 12267  
 12268  func init() {
 12269  	t["ClusterDasVmConfigInfo"] = reflect.TypeOf((*ClusterDasVmConfigInfo)(nil)).Elem()
 12270  }
 12271  
 12272  // An incremental update to the per-virtual-machine vSphere HA configuration.
 12273  type ClusterDasVmConfigSpec struct {
 12274  	ArrayUpdateSpec
 12275  
 12276  	Info *ClusterDasVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12277  }
 12278  
 12279  func init() {
 12280  	t["ClusterDasVmConfigSpec"] = reflect.TypeOf((*ClusterDasVmConfigSpec)(nil)).Elem()
 12281  }
 12282  
 12283  // The `ClusterDasVmSettings` data object contains the HA configuration
 12284  // settings specified for a single virtual machine (identified by
 12285  // `ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.key`)
 12286  // or as cluster-wide defaults
 12287  // `ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`
 12288  //
 12289  // All fields are optional. If you set the <code>modify</code> parameter to
 12290  // <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`,
 12291  // an unset property has no effect on the existing property value in the
 12292  // cluster configuration on the Server. If you set the <code>modify</code>
 12293  // parameter to <code>false</code> when you reconfigure a cluster, the cluster
 12294  // configuration is reverted to the default values, then the new configuration
 12295  // values are applied.
 12296  type ClusterDasVmSettings struct {
 12297  	DynamicData
 12298  
 12299  	// Restart priority for a virtual machine.
 12300  	//
 12301  	// If not specified at either the cluster level or
 12302  	// the virtual machine level, this will default to <code>medium</code>.
 12303  	//
 12304  	// See also `ClusterDasVmSettingsRestartPriority_enum`.
 12305  	RestartPriority string `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
 12306  	// This setting is used to specify a maximum time the lower priority VMs
 12307  	// should wait for the higher priority VMs to be ready.
 12308  	//
 12309  	// If the higher
 12310  	// priority Vms are not ready by this time, then the lower priority VMs
 12311  	// are restarted irrespective of the VM ready state. This timeout can be
 12312  	// used to prevent the failover of lower priority VMs to be stuck
 12313  	// infinitely.
 12314  	//
 12315  	// This timeout is not used if ready condition is
 12316  	// `none`
 12317  	//
 12318  	// Timeout specified in seconds. To use cluster setting for a VM override,
 12319  	// set to -1 in per-VM.
 12320  	// setting.
 12321  	RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty" json:"restartPriorityTimeout,omitempty"`
 12322  	// Indicates whether or not the virtual machine should be powered off if a
 12323  	// host determines that it is isolated from the rest of the compute
 12324  	// resource.
 12325  	//
 12326  	// If not specified at either the cluster level or
 12327  	// the virtual machine level, this will default to <code>powerOff</code>.
 12328  	//
 12329  	// See also `ClusterDasVmSettingsIsolationResponse_enum`.
 12330  	IsolationResponse string `xml:"isolationResponse,omitempty" json:"isolationResponse,omitempty"`
 12331  	// Configuration for the VM Health Monitoring Service.
 12332  	VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty" json:"vmToolsMonitoringSettings,omitempty"`
 12333  	// Configuration for the VM Component Protection Service.
 12334  	VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty" json:"vmComponentProtectionSettings,omitempty"`
 12335  }
 12336  
 12337  func init() {
 12338  	t["ClusterDasVmSettings"] = reflect.TypeOf((*ClusterDasVmSettings)(nil)).Elem()
 12339  }
 12340  
 12341  // An incremental update to a Datastore list.
 12342  type ClusterDatastoreUpdateSpec struct {
 12343  	ArrayUpdateSpec
 12344  
 12345  	// Refers instance of `Datastore`.
 12346  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 12347  }
 12348  
 12349  func init() {
 12350  	t["ClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ClusterDatastoreUpdateSpec)(nil)).Elem()
 12351  	minAPIVersionForType["ClusterDatastoreUpdateSpec"] = "7.0.3.0"
 12352  }
 12353  
 12354  // The `ClusterDependencyRuleInfo` data object indentifies VM-to-VM
 12355  // dependencies.
 12356  //
 12357  // A VM-VM Dependency rule identifies the following groups.
 12358  //   - A virtual machine group - `ClusterDependencyRuleInfo.vmGroup`
 12359  //   - A "depends on" virtual machine group - `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12360  //
 12361  // The VMs in `ClusterDependencyRuleInfo.vmGroup` depends on the list of VMs specified in `ClusterDependencyRuleInfo.dependsOnVmGroup`.
 12362  //
 12363  // For example, this rule is used during vSphere HA VM recovery
 12364  // orchestration. vSphere HA will not restart the VMs in `ClusterDependencyRuleInfo.vmGroup`
 12365  // until all the VMs in `ClusterDependencyRuleInfo.dependsOnVmGroup` are deemded "ready" (See
 12366  // `ClusterVmReadiness`).
 12367  //
 12368  // All the virtual machines referenced by this rule must be in
 12369  // the same cluster.
 12370  type ClusterDependencyRuleInfo struct {
 12371  	ClusterRuleInfo
 12372  
 12373  	// Virtual group name.
 12374  	//
 12375  	// The virtual group may contain one or more virtual
 12376  	// machines.
 12377  	// `ClusterVmGroup*.*ClusterGroupInfo.name`
 12378  	VmGroup string `xml:"vmGroup" json:"vmGroup"`
 12379  	// Depdendency virtual group name
 12380  	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 12381  	//
 12382  	// The virtual group may contain one or more virtual machines.
 12383  	DependsOnVmGroup string `xml:"dependsOnVmGroup" json:"dependsOnVmGroup"`
 12384  }
 12385  
 12386  func init() {
 12387  	t["ClusterDependencyRuleInfo"] = reflect.TypeOf((*ClusterDependencyRuleInfo)(nil)).Elem()
 12388  }
 12389  
 12390  // This event records when a cluster is destroyed.
 12391  type ClusterDestroyedEvent struct {
 12392  	ClusterEvent
 12393  }
 12394  
 12395  func init() {
 12396  	t["ClusterDestroyedEvent"] = reflect.TypeOf((*ClusterDestroyedEvent)(nil)).Elem()
 12397  }
 12398  
 12399  // Configuration of the VMware DPM service.
 12400  //
 12401  // All fields are defined as optional. In case of a reconfiguration,
 12402  // unset fields are not changed.
 12403  type ClusterDpmConfigInfo struct {
 12404  	DynamicData
 12405  
 12406  	// Flag indicating whether or not the service is enabled.
 12407  	//
 12408  	// This
 12409  	// service can not be enabled, unless DRS is enabled as well.
 12410  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12411  	// Specifies the default VMware DPM behavior for
 12412  	// hosts.
 12413  	//
 12414  	// This default behavior can be overridden on a per host
 12415  	// basis using the `ClusterDpmHostConfigInfo` object.
 12416  	DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty" json:"defaultDpmBehavior,omitempty"`
 12417  	// DPM generates only those recommendations that are above the
 12418  	// specified rating.
 12419  	//
 12420  	// Ratings vary from 1 to 5. This setting applies
 12421  	// to both manual and automated (@link DpmBehavior) DPM clusters.
 12422  	HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty" json:"hostPowerActionRate,omitempty"`
 12423  	// Deprecated as of vSphere API 4.1, use
 12424  	// `ClusterDrsConfigInfo.option`.
 12425  	//
 12426  	// Advanced settings.
 12427  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12428  }
 12429  
 12430  func init() {
 12431  	t["ClusterDpmConfigInfo"] = reflect.TypeOf((*ClusterDpmConfigInfo)(nil)).Elem()
 12432  }
 12433  
 12434  // DPM configuration for a single host.
 12435  //
 12436  // This makes
 12437  // it possible to override the default behavior for an individual
 12438  // host.
 12439  type ClusterDpmHostConfigInfo struct {
 12440  	DynamicData
 12441  
 12442  	// Reference to the host.
 12443  	//
 12444  	// Refers instance of `HostSystem`.
 12445  	Key ManagedObjectReference `xml:"key" json:"key"`
 12446  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12447  	// power related operations or recommendations for this host.
 12448  	//
 12449  	// If this flag is false, the host is effectively excluded from
 12450  	// DPM service.
 12451  	//
 12452  	// If no individual DPM specification exists for a host,
 12453  	// this property defaults to true.
 12454  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12455  	// Specifies the particular DPM behavior for this host.
 12456  	//
 12457  	// See also `ClusterDpmConfigInfo`.
 12458  	Behavior DpmBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12459  }
 12460  
 12461  func init() {
 12462  	t["ClusterDpmHostConfigInfo"] = reflect.TypeOf((*ClusterDpmHostConfigInfo)(nil)).Elem()
 12463  }
 12464  
 12465  // The `ClusterDpmHostConfigSpec` data object provides information
 12466  // that the Server uses to update the DPM configuration for a
 12467  // single host (identified by the
 12468  // `ClusterDpmHostConfigInfo.key` property).
 12469  //
 12470  // The host DPM configuration overrides the cluster
 12471  // default DPM setting
 12472  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmConfig`).
 12473  //
 12474  // The vSphere API defines three update operations
 12475  // (`ArrayUpdateSpec*.*ArrayUpdateSpec.operation`).
 12476  //   - add: Define DPM behavior for a host. If the cluster
 12477  //     configuration already includes a DPM behavior override
 12478  //     for the specified host, this operation
 12479  //     removes the existing override and adds the new one.
 12480  //     The new DPM override will use the cluster default value
 12481  //     if you do not specify the behavior property
 12482  //     (`ClusterDpmConfigInfo.defaultDpmBehavior`).
 12483  //   - edit: Perform an incremental update to an existing
 12484  //     DPM configuration entry for a host.
 12485  //     The reconfigure method changes only the properties
 12486  //     that you set in the data object. The entry must exist
 12487  //     in the
 12488  //     `ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmHostConfigSpec` array.
 12489  //   - remove: Remove the DPM override for the specified
 12490  //     host. To identify the host to delete, use the
 12491  //     `ArrayUpdateSpec.removeKey` property
 12492  //     to specify the `ClusterDpmHostConfigInfo.key`
 12493  //     in the host override.
 12494  //
 12495  // Use the `ComputeResource.ReconfigureComputeResource_Task` method
 12496  // to update the DPM configuration. If you set the modify parameter
 12497  // to true, you can use any of the three operations (add, edit, or remove).
 12498  // If you set the modify parameter to false, you can use only the
 12499  // add operation.
 12500  type ClusterDpmHostConfigSpec struct {
 12501  	ArrayUpdateSpec
 12502  
 12503  	Info *ClusterDpmHostConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12504  }
 12505  
 12506  func init() {
 12507  	t["ClusterDpmHostConfigSpec"] = reflect.TypeOf((*ClusterDpmHostConfigSpec)(nil)).Elem()
 12508  }
 12509  
 12510  // The `ClusterDrsConfigInfo` data object contains configuration information
 12511  // for the VMware DRS service.
 12512  //
 12513  // All fields are optional. If you set the <code>modify</code>
 12514  // parameter to <code>true</code> when you call
 12515  // `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect
 12516  // on the existing property value in the cluster configuration on the Server.
 12517  // If you set the <code>modify</code> parameter to <code>false</code> when you
 12518  // reconfigure a cluster, the cluster configuration is reverted to the default
 12519  // values, then the new configuration values are applied.
 12520  type ClusterDrsConfigInfo struct {
 12521  	DynamicData
 12522  
 12523  	// Deprecated as of vSphere API 7.0.
 12524  	// To disable DRS load balancing, please use the lowest DRS aggressiveness
 12525  	// level, setting `ClusterDrsConfigInfo.vmotionRate` to 5, and/or
 12526  	// setting `ClusterDrsConfigInfo.defaultVmBehavior` to manual.
 12527  	// The former only generates manadatory move recommendations, not load
 12528  	// balancing recommendations. The latter only generates recommendations,
 12529  	// without executing them.
 12530  	// To remove all the child resource pools, please find the root resource
 12531  	// pool `ComputeResource.resourcePool`, and destroy all its
 12532  	// children `ResourcePool.DestroyChildren`.
 12533  	// Vice versa.
 12534  	//
 12535  	// Flag indicating whether or not DRS service is enabled.
 12536  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12537  	// Flag that dictates whether DRS Behavior overrides for individual
 12538  	// virtual machines (`ClusterDrsVmConfigInfo`) are enabled.
 12539  	//
 12540  	// The default
 12541  	// value is <code>true</code>.
 12542  	//
 12543  	// When this flag is <code>true</code>, the
 12544  	// `ClusterConfigSpecEx*.*ClusterConfigSpecEx.drsVmConfigSpec`
 12545  	// values override the `ClusterDrsConfigInfo.defaultVmBehavior`.
 12546  	//
 12547  	// When this flag is <code>false</code>, the
 12548  	// `ClusterDrsConfigInfo.defaultVmBehavior` value applies to all virtual
 12549  	// machines, with the following exception: in a cluster that has EVC disabled,
 12550  	// you cannot override the virtual machine setting
 12551  	// (`ClusterConfigSpecEx.drsVmConfigSpec`)
 12552  	// for Fault Tolerance virtual machines.
 12553  	EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides" json:"enableVmBehaviorOverrides,omitempty"`
 12554  	// Specifies the cluster-wide default DRS behavior for virtual machines.
 12555  	//
 12556  	// You can override the default behavior for a virtual machine
 12557  	// by using the `ClusterDrsVmConfigInfo` object.
 12558  	DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 12559  	// Threshold for generated `ClusterRecommendation`s.
 12560  	//
 12561  	// DRS generates only those recommendations that are above the
 12562  	// specified vmotionRate. Ratings vary from 1 to 5. This setting applies
 12563  	// to manual, partiallyAutomated, and fullyAutomated
 12564  	// DRS clusters. See `DrsBehavior_enum`.
 12565  	VmotionRate int32 `xml:"vmotionRate,omitempty" json:"vmotionRate,omitempty"`
 12566  	// Specifies the scaling behavior of the shares of all resource pools
 12567  	// in the cluster.
 12568  	//
 12569  	// See `ResourceConfigSpecScaleSharesBehavior_enum`
 12570  	// for possible values. If any scaling behavior other than
 12571  	// `disabled` is specified,
 12572  	// the system will scale the CPU and memory shares allocated to each
 12573  	// resource pool with the total shares of all powered on virtual machines
 12574  	// under each respective pool. The system will also use the
 12575  	// `SharesInfo` set on each resource pool as a multiplier for the
 12576  	// scale. Setting the
 12577  	// `ClusterDrsConfigInfo.scaleDescendantsShares` on the cluster
 12578  	// is equivalent to setting the
 12579  	// `ResourceConfigSpec.scaleDescendantsShares` on the root
 12580  	// resource pool.
 12581  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty"`
 12582  	// Advanced settings.
 12583  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12584  }
 12585  
 12586  func init() {
 12587  	t["ClusterDrsConfigInfo"] = reflect.TypeOf((*ClusterDrsConfigInfo)(nil)).Elem()
 12588  }
 12589  
 12590  // The faults generated by DRS when it tries to make recommendations
 12591  // for rule enforcement, power management, etc., and indexed in a tree
 12592  // structure with reason for recommendations and VM to migrate (optional)
 12593  // as the index keys.
 12594  type ClusterDrsFaults struct {
 12595  	DynamicData
 12596  
 12597  	// A reason code explaining why this set of recommendations were attempted
 12598  	// by DRS when it generated the faults.
 12599  	Reason string `xml:"reason" json:"reason"`
 12600  	// The faults grouped by VMs that DRS was trying to migrate.
 12601  	FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr" json:"faultsByVm"`
 12602  }
 12603  
 12604  func init() {
 12605  	t["ClusterDrsFaults"] = reflect.TypeOf((*ClusterDrsFaults)(nil)).Elem()
 12606  }
 12607  
 12608  // The faults generated by storage DRS when it tries to move a virtual disk.
 12609  type ClusterDrsFaultsFaultsByVirtualDisk struct {
 12610  	ClusterDrsFaultsFaultsByVm
 12611  
 12612  	// The virtual disk that storage DRS was trying to migrate when it
 12613  	// generated the faults.
 12614  	//
 12615  	// If this property is NULL, the fault is not
 12616  	// associated with a particular virtual disk.
 12617  	Disk *VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 12618  }
 12619  
 12620  func init() {
 12621  	t["ClusterDrsFaultsFaultsByVirtualDisk"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVirtualDisk)(nil)).Elem()
 12622  }
 12623  
 12624  // FaultsByVm is the faults generated by DRS when it tries to
 12625  // move a VM.
 12626  type ClusterDrsFaultsFaultsByVm struct {
 12627  	DynamicData
 12628  
 12629  	// The VM that DRS was trying to migrate when it generated the faults.
 12630  	//
 12631  	// If this property is NULL, the fault is not associated with a particular VM.
 12632  	//
 12633  	// Refers instance of `VirtualMachine`.
 12634  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 12635  	// The faults generated by DRS when it was trying to move the given VM.
 12636  	Fault []LocalizedMethodFault `xml:"fault" json:"fault"`
 12637  }
 12638  
 12639  func init() {
 12640  	t["ClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem()
 12641  }
 12642  
 12643  // Describes a single virtual machine migration.
 12644  type ClusterDrsMigration struct {
 12645  	DynamicData
 12646  
 12647  	// A unique key that identifies this recommendation.
 12648  	//
 12649  	// This
 12650  	// is used as an argument to
 12651  	// ComputeResource.applyRecommendation.
 12652  	Key string `xml:"key" json:"key"`
 12653  	// The time this recommendation was computed.
 12654  	Time time.Time `xml:"time" json:"time"`
 12655  	// The virtual machine selected for migration.
 12656  	//
 12657  	// Refers instance of `VirtualMachine`.
 12658  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 12659  	// Current CPU load for the virtual machine, in MHz.
 12660  	//
 12661  	// This property is only populated for recommendations.
 12662  	CpuLoad int32 `xml:"cpuLoad,omitempty" json:"cpuLoad,omitempty"`
 12663  	// Current memory load for the virtual machine, in bytes.
 12664  	//
 12665  	// This field is only populated for recommendations.
 12666  	MemoryLoad int64 `xml:"memoryLoad,omitempty" json:"memoryLoad,omitempty"`
 12667  	// Source host.
 12668  	//
 12669  	// Refers instance of `HostSystem`.
 12670  	Source ManagedObjectReference `xml:"source" json:"source"`
 12671  	// Current CPU load on the source host, in MHz.
 12672  	SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty" json:"sourceCpuLoad,omitempty"`
 12673  	// Current memory usage on the source host, in bytes.
 12674  	SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty" json:"sourceMemoryLoad,omitempty"`
 12675  	// Destination host.
 12676  	//
 12677  	// Refers instance of `HostSystem`.
 12678  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 12679  	// Current CPU load on the destination host, in MHz.
 12680  	DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty" json:"destinationCpuLoad,omitempty"`
 12681  	// Current memory usage on the destination host, in bytes.
 12682  	DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty" json:"destinationMemoryLoad,omitempty"`
 12683  }
 12684  
 12685  func init() {
 12686  	t["ClusterDrsMigration"] = reflect.TypeOf((*ClusterDrsMigration)(nil)).Elem()
 12687  }
 12688  
 12689  // Deprecated as of VI API 2.5 use `ClusterRecommendation`.
 12690  //
 12691  // DrsRecommendation describes a recommendation to migrate
 12692  // one or more virtual machines.
 12693  type ClusterDrsRecommendation struct {
 12694  	DynamicData
 12695  
 12696  	// Key to identify the recommendation when calling applyRecommendation.
 12697  	Key string `xml:"key" json:"key"`
 12698  	// A rating of the recommendation.
 12699  	//
 12700  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 12701  	Rating int32 `xml:"rating" json:"rating"`
 12702  	// A reason code explaining why this set of migrations is being suggested.
 12703  	Reason string `xml:"reason" json:"reason"`
 12704  	// Text that provides more information about the reason code for the suggested
 12705  	// set of migrations.
 12706  	ReasonText string `xml:"reasonText" json:"reasonText"`
 12707  	// Deprecated a more general `recommendation` list should be used. This recommendation type
 12708  	// and the migrationList is kept for backward compatibility.
 12709  	//
 12710  	// List of migrations in this recommendation and all the parent
 12711  	// recommendations on which this recommendation depends.
 12712  	//
 12713  	// All the
 12714  	// migrations in this list can be constructed from `ClusterRecommendation.prerequisite` and `ClusterRecommendation.action`.
 12715  	MigrationList []ClusterDrsMigration `xml:"migrationList" json:"migrationList"`
 12716  }
 12717  
 12718  func init() {
 12719  	t["ClusterDrsRecommendation"] = reflect.TypeOf((*ClusterDrsRecommendation)(nil)).Elem()
 12720  }
 12721  
 12722  // DRS configuration for a single virtual machine.
 12723  //
 12724  // This makes it possible
 12725  // to override the default behavior for an individual virtual machine.
 12726  type ClusterDrsVmConfigInfo struct {
 12727  	DynamicData
 12728  
 12729  	// Reference to the virtual machine.
 12730  	//
 12731  	// Refers instance of `VirtualMachine`.
 12732  	Key ManagedObjectReference `xml:"key" json:"key"`
 12733  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 12734  	// DRS migration or initial placement recommendations for this virtual
 12735  	// machine.
 12736  	//
 12737  	// If this flag is false, the virtual machine is effectively excluded from
 12738  	// DRS.
 12739  	//
 12740  	// If no individual DRS specification exists for a virtual machine,
 12741  	// this property defaults to true.
 12742  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 12743  	// Specifies the particular DRS behavior for this virtual machine.
 12744  	//
 12745  	// See also `ClusterDrsConfigInfo`.
 12746  	Behavior DrsBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
 12747  }
 12748  
 12749  func init() {
 12750  	t["ClusterDrsVmConfigInfo"] = reflect.TypeOf((*ClusterDrsVmConfigInfo)(nil)).Elem()
 12751  }
 12752  
 12753  // Updates the per-virtual-machine DRS configuration.
 12754  //
 12755  // To update the DRS configuration of a virtual machine, a copy of this object
 12756  // is included in the `ClusterConfigSpecEx` object passed to the method
 12757  // `ComputeResource.ReconfigureComputeResource_Task`.
 12758  //
 12759  // If _reconfigureEx_ is used to
 12760  // incrementally update the cluster configuration (i.e., the parameter `*modify*` is true),
 12761  // then three operations are provided for updating the DRS configuration for a virtual machine.
 12762  // These operations are listed below (see `ArrayUpdateSpec` for more
 12763  // information on these operations).
 12764  //   - add: add a configuration for the virtual machine, overwritting the existing
 12765  //     configuration if one exists
 12766  //   - edit: incrmentally update the existing configuration; an existing configuration
 12767  //     must exist
 12768  //   - remove: remove the existing configuration; an existing configuration must exist
 12769  //
 12770  // If, instead, this method is used to overwrite the cluster configuration (i.e., the parameter
 12771  // `*modify*` is false) thereby creating a new configuration, only the add operation is allowed.
 12772  // In this case, _add_ creates a DRS configuration for a virtual machine in the new cluster
 12773  // configuration.
 12774  type ClusterDrsVmConfigSpec struct {
 12775  	ArrayUpdateSpec
 12776  
 12777  	Info *ClusterDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 12778  }
 12779  
 12780  func init() {
 12781  	t["ClusterDrsVmConfigSpec"] = reflect.TypeOf((*ClusterDrsVmConfigSpec)(nil)).Elem()
 12782  }
 12783  
 12784  type ClusterEVCManagerCheckResult struct {
 12785  	DynamicData
 12786  
 12787  	// The EVC mode being tested for legal application.
 12788  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 12789  	// A problem that would prevent applying the desired EVC mode.
 12790  	Error LocalizedMethodFault `xml:"error" json:"error"`
 12791  	// The set of hosts which would generate the fault described by the
 12792  	// `ClusterEVCManagerCheckResult.error` property when the desired EVC mode is applied.
 12793  	//
 12794  	// Refers instances of `HostSystem`.
 12795  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 12796  }
 12797  
 12798  func init() {
 12799  	t["ClusterEVCManagerCheckResult"] = reflect.TypeOf((*ClusterEVCManagerCheckResult)(nil)).Elem()
 12800  }
 12801  
 12802  type ClusterEVCManagerEVCState struct {
 12803  	DynamicData
 12804  
 12805  	// All supported EVC modes.
 12806  	//
 12807  	// Identical to
 12808  	// `Capability.supportedEVCMode`.
 12809  	SupportedEVCMode []EVCMode `xml:"supportedEVCMode" json:"supportedEVCMode"`
 12810  	// If unset, then EVC is disabled.
 12811  	//
 12812  	// If set, then EVC is enabled, and the
 12813  	// value references an EVC mode described in one of the elements of the
 12814  	// `ClusterEVCManagerEVCState.supportedEVCMode` array property. The EVC mode determines the
 12815  	// set of guaranteed clusterwide CPU features. While EVC is enabled, CPU
 12816  	// compatibility issues will not block any VMotion within the cluster
 12817  	// (unless some VM is specifically configured to do different CPUID
 12818  	// overrides).
 12819  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 12820  	// Deprecated as of vSphere API 6.5 use `ClusterEVCManagerEVCState.featureCapability`.
 12821  	//
 12822  	// When EVC is enabled, this array contains the CPU feature bits that are
 12823  	// guaranteed (by EVC) to be the same among all hosts in the cluster.
 12824  	//
 12825  	// This property has the same value as the guaranteedCPUFeatures property
 12826  	// of the configured EVC mode. On any host in the EVC cluster, the CPU
 12827  	// features either naturally match these values because of the CPU
 12828  	// hardware, or else CPU feature override is used to mask out differences
 12829  	// and enforce a match. This array is empty when EVC is disabled.
 12830  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
 12831  	// When EVC is enabled, this array contains the feature capabilities that
 12832  	// are guaranteed (by EVC) to be the same among all hosts in the cluster.
 12833  	//
 12834  	// This property has the same value as the featureCapability property
 12835  	// of the configured EVC mode. On any host in the EVC cluster, the feature
 12836  	// capabilities either naturally match these values because of the CPU
 12837  	// hardware, or else feature masks are used to mask out differences and
 12838  	// enforce a match. This array is empty when EVC is disabled.
 12839  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 12840  	// The masks (modifications to a host's feature capabilities) that limit a
 12841  	// host's capabilities to that of the EVC mode baseline.
 12842  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 12843  	// The conditions that must be true of a host's feature capabilities in order
 12844  	// for the host to meet the minimum requirements of the EVC mode baseline.
 12845  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 12846  }
 12847  
 12848  func init() {
 12849  	t["ClusterEVCManagerEVCState"] = reflect.TypeOf((*ClusterEVCManagerEVCState)(nil)).Elem()
 12850  }
 12851  
 12852  type ClusterEnterMaintenanceMode ClusterEnterMaintenanceModeRequestType
 12853  
 12854  func init() {
 12855  	t["ClusterEnterMaintenanceMode"] = reflect.TypeOf((*ClusterEnterMaintenanceMode)(nil)).Elem()
 12856  }
 12857  
 12858  // The parameters of `ClusterComputeResource.ClusterEnterMaintenanceMode`.
 12859  type ClusterEnterMaintenanceModeRequestType struct {
 12860  	This ManagedObjectReference `xml:"_this" json:"-"`
 12861  	// The array of hosts to put into maintenance mode.
 12862  	//
 12863  	// Required privileges: Host.Config.Maintenance
 12864  	//
 12865  	// Refers instances of `HostSystem`.
 12866  	Host []ManagedObjectReference `xml:"host" json:"host"`
 12867  	// An array of `OptionValue`
 12868  	// options for this query. The specified options override the
 12869  	// advanced options in `ClusterDrsConfigInfo`.
 12870  	Option []BaseOptionValue                      `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 12871  	Info   *ClusterComputeResourceMaintenanceInfo `xml:"info,omitempty" json:"info,omitempty" vim:"8.0.3.0"`
 12872  }
 12873  
 12874  func init() {
 12875  	t["ClusterEnterMaintenanceModeRequestType"] = reflect.TypeOf((*ClusterEnterMaintenanceModeRequestType)(nil)).Elem()
 12876  }
 12877  
 12878  type ClusterEnterMaintenanceModeResponse struct {
 12879  	Returnval ClusterEnterMaintenanceResult `xml:"returnval" json:"returnval"`
 12880  }
 12881  
 12882  // EnterMaintenanceResult is the base class of the result returned to the
 12883  // `ClusterComputeResource.ClusterEnterMaintenanceMode` method.
 12884  type ClusterEnterMaintenanceResult struct {
 12885  	DynamicData
 12886  
 12887  	// The list of recommendations for hosts that Virtual Center will
 12888  	// be able to evacuate.
 12889  	//
 12890  	// Each recommendation consists of a host
 12891  	// maintenance action `ClusterAction` for a host, along
 12892  	// with zero or more vmotions for evacuation. Application of the
 12893  	// recommendations is not supported currently. The client will have
 12894  	// to put the hosts into maintenance mode by calling the separate
 12895  	// method `HostSystem.EnterMaintenanceMode_Task`.
 12896  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 12897  	// The faults that explain why the Virtual Center cannot evacuate
 12898  	// some hosts.
 12899  	Fault *ClusterDrsFaults `xml:"fault,omitempty" json:"fault,omitempty"`
 12900  }
 12901  
 12902  func init() {
 12903  	t["ClusterEnterMaintenanceResult"] = reflect.TypeOf((*ClusterEnterMaintenanceResult)(nil)).Elem()
 12904  }
 12905  
 12906  // These are cluster events.
 12907  type ClusterEvent struct {
 12908  	Event
 12909  }
 12910  
 12911  func init() {
 12912  	t["ClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem()
 12913  }
 12914  
 12915  // The current admission control related information if the cluster was configured
 12916  // with a FailoverHostAdmissionControlPolicy.
 12917  type ClusterFailoverHostAdmissionControlInfo struct {
 12918  	ClusterDasAdmissionControlInfo
 12919  
 12920  	// Status of the failover hosts in the cluster.
 12921  	HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty" json:"hostStatus,omitempty"`
 12922  }
 12923  
 12924  func init() {
 12925  	t["ClusterFailoverHostAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfo)(nil)).Elem()
 12926  }
 12927  
 12928  // Data object containing the status of a failover host.
 12929  type ClusterFailoverHostAdmissionControlInfoHostStatus struct {
 12930  	DynamicData
 12931  
 12932  	// The failover host.
 12933  	//
 12934  	// Refers instance of `HostSystem`.
 12935  	Host ManagedObjectReference `xml:"host" json:"host"`
 12936  	// The status of the failover host.
 12937  	//
 12938  	// The status is green for a connected host with no vSphere HA errors and
 12939  	// no virtual machines running on it.
 12940  	// The status is yellow for a connected host with no vSphere HA errors and
 12941  	// some virtual machines running on it.
 12942  	// The status red for a disconnected or not responding host, a host that
 12943  	// is in maintenance or standby mode or that has a vSphere HA error on it.
 12944  	Status ManagedEntityStatus `xml:"status" json:"status"`
 12945  }
 12946  
 12947  func init() {
 12948  	t["ClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem()
 12949  }
 12950  
 12951  // The `ClusterFailoverHostAdmissionControlPolicy` dedicates
 12952  // one or more hosts for use during failover.
 12953  //
 12954  // When a host fails with this policy in place, vSphere HA attempts
 12955  // to restart its virtual machines on a dedicated failover host.
 12956  // If this is not possible, for example the failover host itself has failed
 12957  // or it has insufficient resources, HA attempts to restart those virtual
 12958  // machines on another host in the cluster.
 12959  //
 12960  // To support the availabilty of a failover host,
 12961  // the vCenter Server will prevent users from powering on virtual machines
 12962  // on that host, or from using vMotion to migrate virtual machines to the host.
 12963  // Also, DRS does not use the failover host for load balancing.
 12964  //
 12965  // To obtain the status of a failover host, use the
 12966  // `ClusterFailoverHostAdmissionControlInfo.hostStatus`
 12967  // property
 12968  // (`ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.admissionControlInfo*.*ClusterFailoverHostAdmissionControlInfo.hostStatus`).
 12969  type ClusterFailoverHostAdmissionControlPolicy struct {
 12970  	ClusterDasAdmissionControlPolicy
 12971  
 12972  	// List of managed object references to failover hosts.
 12973  	//
 12974  	// Refers instances of `HostSystem`.
 12975  	FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty" json:"failoverHosts,omitempty"`
 12976  	// Number of host failures that should be tolerated, still guaranteeing
 12977  	// sufficient resources to restart virtual machines on available hosts.
 12978  	//
 12979  	// If not set, we assume 1.
 12980  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 12981  }
 12982  
 12983  func init() {
 12984  	t["ClusterFailoverHostAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlPolicy)(nil)).Elem()
 12985  }
 12986  
 12987  // The current admission control related information if the cluster was
 12988  // configured with a FailoverLevelAdmissionControlPolicy.
 12989  type ClusterFailoverLevelAdmissionControlInfo struct {
 12990  	ClusterDasAdmissionControlInfo
 12991  
 12992  	// Current failover level.
 12993  	//
 12994  	// This is the number of physical host failures that
 12995  	// can be tolerated without impacting the ability to satisfy the minimums for
 12996  	// all running virtual machines. This represents the current value, as
 12997  	// opposed to desired value configured by the user.
 12998  	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
 12999  }
 13000  
 13001  func init() {
 13002  	t["ClusterFailoverLevelAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlInfo)(nil)).Elem()
 13003  }
 13004  
 13005  // The `ClusterFailoverLevelAdmissionControlPolicy`
 13006  // defines the number of host failures that should be tolerated and still
 13007  // guarantee enough unfragmented resources to failover all powered on virtual
 13008  // machines on those failed hosts.
 13009  //
 13010  // When you use the failover level policy, vSphere HA partitions resources
 13011  // into slots. A slot represents the minimum CPU and memory resources
 13012  // that are required to support any powered-on virtual machine in the cluster.
 13013  //
 13014  // With the failover level policy in place, HA uses the following slot
 13015  // calculations to control virtual machine migration within the cluster:
 13016  //
 13017  //  1. Calculate the slot size from CPU and memory reservations.
 13018  //     The CPU value is the largest CPU reservation for all powered-on
 13019  //     virtual machines in the cluster. The memory value is the largest
 13020  //     memory reservation (plus memory overhead).
 13021  //
 13022  //     If your cluster contains any virtual machines that have much larger
 13023  //     reservations than the others, they will distort slot size calculation.
 13024  //     To avoid this, you can specify an upper bound for slot sizes;
 13025  //     use the configuration editor in the vSphere Client to set the
 13026  //     das.slotCpuInMHz and das.slotMemInMB attributes. When you use these
 13027  //     attributes, there is a risk that resource fragmentation will cause
 13028  //     virtual machines with resource requirements larger than the slot size
 13029  //     to be assigned multiple slots. In a cluster that is close to capacity,
 13030  //     there might be enough slots in aggregate for HA to successfully
 13031  //     failover a virtual machine. However, if those slots are located
 13032  //     on multiple hosts, a virtual machine assigned multiple slots cannot
 13033  //     use them because a virtual machine can run on only a single host
 13034  //     at a time.
 13035  //
 13036  //  2. Determine how many slots each host in the cluster can hold.
 13037  //     HA uses the CPU and memory resources in a host's root resource pool
 13038  //     to determine host slot capacity, not the total physical resources
 13039  //     of the host. Resources used for virtualization purposes are not
 13040  //     included. HA uses connected hosts that are not in maintenance mode
 13041  //     and that do not have any HA errors.
 13042  //
 13043  //     The CPU slot resource is the host CPU resource amount divided
 13044  //     by the CPU component of the slot size; the result is rounded down.
 13045  //     HA makes the same calculation for host memory resource amount.
 13046  //     HA compares the results; the lower of the two numbers is the
 13047  //     host slot capacity.
 13048  //
 13049  //  3. Determine the current failover capacity of the cluster. This is the
 13050  //     number of hosts (starting from the largest) that can fail and still
 13051  //     leave enough slots to satisfy all of the powered-on virtual machines.
 13052  //
 13053  //  4. Compare the current failover capacity to the configured
 13054  //     `ClusterFailoverLevelAdmissionControlPolicy.failoverLevel`.
 13055  //     If the current failover capacity is less than the configured
 13056  //     failover level, HA disallows the operation.
 13057  type ClusterFailoverLevelAdmissionControlPolicy struct {
 13058  	ClusterDasAdmissionControlPolicy
 13059  
 13060  	// Number of host failures that should be tolerated, still guaranteeing
 13061  	// sufficient resources to restart virtual machines on available hosts.
 13062  	FailoverLevel int32 `xml:"failoverLevel" json:"failoverLevel"`
 13063  	// A policy for how to compute the slot size.
 13064  	//
 13065  	// If left unset, the slot is
 13066  	// computed using the maximum reservations and memory overhead of any
 13067  	// powered on virtual machine in the cluster.
 13068  	SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr" json:"slotPolicy,omitempty"`
 13069  }
 13070  
 13071  func init() {
 13072  	t["ClusterFailoverLevelAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlPolicy)(nil)).Elem()
 13073  }
 13074  
 13075  // The current admission control related information if the cluster was configured
 13076  // with a FailoverResourcesAdmissionControlPolicy.
 13077  type ClusterFailoverResourcesAdmissionControlInfo struct {
 13078  	ClusterDasAdmissionControlInfo
 13079  
 13080  	// The percentage of cpu resources in the cluster available for failover.
 13081  	CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent" json:"currentCpuFailoverResourcesPercent"`
 13082  	// The percentage of memory resources in the cluster available for failover.
 13083  	CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent" json:"currentMemoryFailoverResourcesPercent"`
 13084  	// The percentage of persistent memory resources in the cluster available
 13085  	// for failover.
 13086  	CurrentPMemFailoverResourcesPercent int32 `xml:"currentPMemFailoverResourcesPercent,omitempty" json:"currentPMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13087  }
 13088  
 13089  func init() {
 13090  	t["ClusterFailoverResourcesAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlInfo)(nil)).Elem()
 13091  }
 13092  
 13093  // The `ClusterFailoverResourcesAdmissionControlPolicy`
 13094  // reserves a specified percentage of aggregate cluster resources for failover.
 13095  //
 13096  // With the resources failover policy in place, vSphere HA uses the following
 13097  // calculations to control virtual machine migration in the cluster.
 13098  //  1. Calculate the total resource requirements for all powered-on
 13099  //     virtual machines in the cluster.
 13100  //  2. Calculate the total host resources available for virtual machines.
 13101  //  3. Calculate the Current CPU failover capacity, memory failover
 13102  //     capacity and optionally, persistent memory failover capacity
 13103  //     for the cluster.
 13104  //  4. Compare the current CPU failover capacity and current memory failover
 13105  //     capacity with the configured resource percentages
 13106  //     (`ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13107  //     and
 13108  //     `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`).
 13109  //     If either current capacity is less than the corresponding configured
 13110  //     capacity, HA does not allow the operation.
 13111  //
 13112  // HA uses the actual reservations of the virtual machines. If a virtual machine
 13113  // does not have reservations, meaning that the reservation is 0, a default
 13114  // of 0MB memory and 256MHz CPU is applied. This is controlled by the same
 13115  // HA advanced options used for the failover level policy
 13116  // (`ClusterFailoverLevelAdmissionControlPolicy`).
 13117  type ClusterFailoverResourcesAdmissionControlPolicy struct {
 13118  	ClusterDasAdmissionControlPolicy
 13119  
 13120  	// Percentage of CPU resources in the cluster to reserve for failover.
 13121  	//
 13122  	// You can specify up to 100% of CPU resources for failover.
 13123  	CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent" json:"cpuFailoverResourcesPercent"`
 13124  	// Percentage of memory resources in the cluster to reserve for failover.
 13125  	//
 13126  	// You can specify up to 100% of memory resources for failover.
 13127  	MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent" json:"memoryFailoverResourcesPercent"`
 13128  	// Number of host failures that should be tolerated, still guaranteeing
 13129  	// sufficient resources to restart virtual machines on available hosts.
 13130  	//
 13131  	// If not set, we assume 1.
 13132  	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
 13133  	// Flag to enable user input values for
 13134  	// `ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
 13135  	// and
 13136  	// `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`
 13137  	// By default, this is true and the default calculation is using the
 13138  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel`
 13139  	// hosts' resources.
 13140  	//
 13141  	// If users want to override the percentage values,
 13142  	// they must disable the auto-compute by setting this field to false.
 13143  	AutoComputePercentages *bool `xml:"autoComputePercentages" json:"autoComputePercentages,omitempty"`
 13144  	// Percentage of persistent memory resources in the cluster to reserve for
 13145  	// the failover.
 13146  	//
 13147  	// You can specify up to 100% of persistent memory resources for failover.
 13148  	PMemFailoverResourcesPercent int32 `xml:"pMemFailoverResourcesPercent,omitempty" json:"pMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13149  	// Flag to enable user input values for
 13150  	// `ClusterFailoverResourcesAdmissionControlPolicy.pMemFailoverResourcesPercent`
 13151  	// By default, this is true and the default calculation is done using the
 13152  	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel` hosts' resources.
 13153  	//
 13154  	// If a user wants to override the percentage values, they
 13155  	// must disable the auto-compute by setting this field to false.
 13156  	AutoComputePMemFailoverResourcesPercent *bool `xml:"autoComputePMemFailoverResourcesPercent" json:"autoComputePMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
 13157  }
 13158  
 13159  func init() {
 13160  	t["ClusterFailoverResourcesAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlPolicy)(nil)).Elem()
 13161  }
 13162  
 13163  // This policy allows setting a fixed slot size
 13164  type ClusterFixedSizeSlotPolicy struct {
 13165  	ClusterSlotPolicy
 13166  
 13167  	// The cpu component of the slot size (in MHz)
 13168  	Cpu int32 `xml:"cpu" json:"cpu"`
 13169  	// The memory component of the slot size (in megabytes)
 13170  	Memory int32 `xml:"memory" json:"memory"`
 13171  }
 13172  
 13173  func init() {
 13174  	t["ClusterFixedSizeSlotPolicy"] = reflect.TypeOf((*ClusterFixedSizeSlotPolicy)(nil)).Elem()
 13175  }
 13176  
 13177  // An `ClusterFtVmHostRuleInfo` object provides control of the
 13178  // placement of virtual machines across two host groups. The virtual machines
 13179  // and hosts referenced by an FT VM-Host rule must be in the same cluster.
 13180  //
 13181  // An FT VM-Host rule identifies the following groups.
 13182  //   - A virtual machine group name (`ClusterVmGroup`).
 13183  //   - An array of two host groups (`ClusterHostGroup`).
 13184  //
 13185  // `ClusterFtVmHostRuleInfo` stores only the names of the relevant
 13186  // virtual machine and host groups. The group contents are stored in
 13187  // the virtual machine and host group objects.
 13188  //
 13189  // When employing this rule, take care to ensure that the specified
 13190  // host groups have sufficient resources to support the requirements
 13191  // of all VMs specified.
 13192  type ClusterFtVmHostRuleInfo struct {
 13193  	ClusterRuleInfo
 13194  
 13195  	// Virtual machine group name
 13196  	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 13197  	//
 13198  	// The named virtual machine group may have zero or more VMs.
 13199  	// A virtual machine in this group may be a normal virtual machine
 13200  	// or a fault tolerant primary virtual machine; it cannot
 13201  	// be a fault tolerant secondary virtual machine.
 13202  	//
 13203  	// Control of FT secondary virtual machines is implied by the presence
 13204  	// of the primary FT virtual machine.
 13205  	//
 13206  	// A virtual machine in this group should not be referenced in any other
 13207  	// FT VM-Host rule or VM-Host rule `ClusterVmHostRuleInfo`.
 13208  	VmGroupName string `xml:"vmGroupName" json:"vmGroupName"`
 13209  	// Array of two Host Groups (`ClusterHostGroup`).
 13210  	//
 13211  	// The hostGroup array must have two host groups. Each host group in the
 13212  	// hostGroup array will have a set of hosts. For each Fault Tolerance primary
 13213  	// VM that is part of VmGroup, the primary and secondary VMs would be placed
 13214  	// on hosts that are not part of the same host group.
 13215  	//
 13216  	// The members of each host group should be disjoint from the members
 13217  	// of all other host group specified.
 13218  	HostGroupName []string `xml:"hostGroupName,omitempty" json:"hostGroupName,omitempty"`
 13219  }
 13220  
 13221  func init() {
 13222  	t["ClusterFtVmHostRuleInfo"] = reflect.TypeOf((*ClusterFtVmHostRuleInfo)(nil)).Elem()
 13223  	minAPIVersionForType["ClusterFtVmHostRuleInfo"] = "8.0.3.0"
 13224  }
 13225  
 13226  // `ClusterGroupInfo` is the base type for all virtual machine
 13227  // and host groups.
 13228  //
 13229  // All virtual machines and hosts that are part of a group
 13230  // must be part of the same cluster.
 13231  type ClusterGroupInfo struct {
 13232  	DynamicData
 13233  
 13234  	// Unique name of the group.
 13235  	Name string `xml:"name" json:"name"`
 13236  	// Flag to indicate whether the group is created by the user or the system.
 13237  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty"`
 13238  	// Unique ID for the group.
 13239  	//
 13240  	// uniqueID is unique within a cluster.
 13241  	// Groups residing in different clusters might share a uniqueID.
 13242  	UniqueID string `xml:"uniqueID,omitempty" json:"uniqueID,omitempty"`
 13243  }
 13244  
 13245  func init() {
 13246  	t["ClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem()
 13247  }
 13248  
 13249  // An incremental update to the cluster-wide groups.
 13250  type ClusterGroupSpec struct {
 13251  	ArrayUpdateSpec
 13252  
 13253  	Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13254  }
 13255  
 13256  func init() {
 13257  	t["ClusterGroupSpec"] = reflect.TypeOf((*ClusterGroupSpec)(nil)).Elem()
 13258  }
 13259  
 13260  // The `ClusterHostGroup` data object identifies hosts for VM-Host rules.
 13261  //
 13262  // VM-Host rules determine placement of virtual machines on hosts in a cluster.
 13263  // The logic specified in a `ClusterVmHostRuleInfo` object
 13264  // determines where virtual machines can be powered-on.
 13265  type ClusterHostGroup struct {
 13266  	ClusterGroupInfo
 13267  
 13268  	// List of hosts that are part of this group.
 13269  	//
 13270  	// A host group can contain zero or more hosts.
 13271  	//
 13272  	// Refers instances of `HostSystem`.
 13273  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 13274  }
 13275  
 13276  func init() {
 13277  	t["ClusterHostGroup"] = reflect.TypeOf((*ClusterHostGroup)(nil)).Elem()
 13278  }
 13279  
 13280  // Describes a HostSystem's quarantine or maintenance mode change action.
 13281  type ClusterHostInfraUpdateHaModeAction struct {
 13282  	ClusterAction
 13283  
 13284  	// Specify the action type.
 13285  	//
 13286  	// Values are of type
 13287  	// `OperationType`.
 13288  	OperationType string `xml:"operationType" json:"operationType"`
 13289  }
 13290  
 13291  func init() {
 13292  	t["ClusterHostInfraUpdateHaModeAction"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeAction)(nil)).Elem()
 13293  }
 13294  
 13295  // Describes a single host power action.
 13296  type ClusterHostPowerAction struct {
 13297  	ClusterAction
 13298  
 13299  	// Specify whether the action is power on or power off
 13300  	OperationType HostPowerOperationType `xml:"operationType" json:"operationType"`
 13301  	// Estimated power consumption of the host.
 13302  	//
 13303  	// In case of power-on,
 13304  	// this is the projected increase in the cluster's power
 13305  	// consumption. In case of power off, this is the projected
 13306  	// decrease in the cluster's power consumption
 13307  	PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty" json:"powerConsumptionWatt,omitempty"`
 13308  	// CPU capacity of the host in units of MHz.
 13309  	//
 13310  	// In case of power-on
 13311  	// action, this is the projected increase in the cluster's CPU
 13312  	// capacity. In case of power off, this is the projected decrease
 13313  	// in the cluster's CPU capacity.
 13314  	CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty" json:"cpuCapacityMHz,omitempty"`
 13315  	// Memory capacity of the host in units of MM.
 13316  	//
 13317  	// In case of power-on
 13318  	// action, this is the projected increase in the cluster's memory
 13319  	// capacity. In case of power off, this is the projected decrease
 13320  	// in the cluster's memory capacity.
 13321  	MemCapacityMB int32 `xml:"memCapacityMB,omitempty" json:"memCapacityMB,omitempty"`
 13322  }
 13323  
 13324  func init() {
 13325  	t["ClusterHostPowerAction"] = reflect.TypeOf((*ClusterHostPowerAction)(nil)).Elem()
 13326  }
 13327  
 13328  // A DRS recommended host for either powering on, resuming or
 13329  // reverting a virtual machine, or migrating a virtual machine from
 13330  // outside the cluster.
 13331  type ClusterHostRecommendation struct {
 13332  	DynamicData
 13333  
 13334  	// The recommended host.
 13335  	//
 13336  	// Refers instance of `HostSystem`.
 13337  	Host ManagedObjectReference `xml:"host" json:"host"`
 13338  	// Rating for the recommendation.
 13339  	//
 13340  	// Ratings range from 1 to 5, and
 13341  	// the higher the rating, the stronger DRS suggests this host is
 13342  	// picked for the operation.
 13343  	Rating int32 `xml:"rating" json:"rating"`
 13344  }
 13345  
 13346  func init() {
 13347  	t["ClusterHostRecommendation"] = reflect.TypeOf((*ClusterHostRecommendation)(nil)).Elem()
 13348  }
 13349  
 13350  // Configuration of the vSphere InfraUpdateHA service.
 13351  //
 13352  // All fields are defined as optional. In case of a reconfiguration,
 13353  // unset fields are not changed.
 13354  type ClusterInfraUpdateHaConfigInfo struct {
 13355  	DynamicData
 13356  
 13357  	// Flag indicating whether or not the service is enabled.
 13358  	//
 13359  	// InfraUpdateHA
 13360  	// will not be active, unless DRS is enabled as well.
 13361  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13362  	// Configured behavior.
 13363  	//
 13364  	// Values are of type
 13365  	// `BehaviorType`.
 13366  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 13367  	// Configured remediation for moderately degraded hosts.
 13368  	//
 13369  	// Values are of type
 13370  	// `RemediationType`.
 13371  	// Configuring MaintenanceMode for moderateRemedation and QuarantineMode for
 13372  	// severeRemediation is not supported and will throw InvalidArgument.
 13373  	ModerateRemediation string `xml:"moderateRemediation,omitempty" json:"moderateRemediation,omitempty"`
 13374  	// Configured remediation for severely degraded hosts.
 13375  	//
 13376  	// Values are of type
 13377  	// `RemediationType`.
 13378  	SevereRemediation string `xml:"severeRemediation,omitempty" json:"severeRemediation,omitempty"`
 13379  	// The list of health update providers configured for this cluster.
 13380  	//
 13381  	// Providers are identified by their id.
 13382  	//
 13383  	// When reconfiguring the cluster, a list with a single element {""} will
 13384  	// clear the list of providers.
 13385  	//
 13386  	// If the provider list is empty, InfraUpdateHA will not be active.
 13387  	Providers []string `xml:"providers,omitempty" json:"providers,omitempty"`
 13388  }
 13389  
 13390  func init() {
 13391  	t["ClusterInfraUpdateHaConfigInfo"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfo)(nil)).Elem()
 13392  }
 13393  
 13394  // Describes an initial placement of a single virtual machine
 13395  type ClusterInitialPlacementAction struct {
 13396  	ClusterAction
 13397  
 13398  	// The host where the virtual machine should be initially placed.
 13399  	//
 13400  	// Refers instance of `HostSystem`.
 13401  	TargetHost ManagedObjectReference `xml:"targetHost" json:"targetHost"`
 13402  	// The resource pool to place the virtual machine into in case this
 13403  	// action is for migrating from outside cluster.
 13404  	//
 13405  	// Refers instance of `ResourcePool`.
 13406  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 13407  }
 13408  
 13409  func init() {
 13410  	t["ClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterInitialPlacementAction)(nil)).Elem()
 13411  }
 13412  
 13413  // Information about an IO Filter on a compute resource.
 13414  type ClusterIoFilterInfo struct {
 13415  	IoFilterInfo
 13416  
 13417  	// The operation that was performed for the IO Filter.
 13418  	//
 13419  	// The set of possible values are described in
 13420  	// `IoFilterOperation_enum`.
 13421  	// If opType is `uninstall`,
 13422  	// and the uninstallation of the filter was sucessful on all the hosts
 13423  	// in the cluster, the filter will be removed from the cluster's filter
 13424  	// list.
 13425  	OpType string `xml:"opType" json:"opType"`
 13426  	// The URL of the VIB package that the IO Filter is installed from.
 13427  	//
 13428  	// The property is unset if the information is not available.
 13429  	VibUrl string `xml:"vibUrl,omitempty" json:"vibUrl,omitempty"`
 13430  }
 13431  
 13432  func init() {
 13433  	t["ClusterIoFilterInfo"] = reflect.TypeOf((*ClusterIoFilterInfo)(nil)).Elem()
 13434  }
 13435  
 13436  // Describes a single VM migration action.
 13437  type ClusterMigrationAction struct {
 13438  	ClusterAction
 13439  
 13440  	// The details of the migration action
 13441  	DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty" json:"drsMigration,omitempty"`
 13442  }
 13443  
 13444  func init() {
 13445  	t["ClusterMigrationAction"] = reflect.TypeOf((*ClusterMigrationAction)(nil)).Elem()
 13446  }
 13447  
 13448  // The Cluster network config spec allows specification of
 13449  // the second network adapter is used for communication between
 13450  // the nodes of a VCHA cluster.
 13451  type ClusterNetworkConfigSpec struct {
 13452  	DynamicData
 13453  
 13454  	// The portgroup that is associated with the VCHA Cluster IP
 13455  	// address for VCHA cluster traffic for the second adapter to be
 13456  	// added to the Active vCenter.
 13457  	//
 13458  	// Refers instance of `Network`.
 13459  	NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup" json:"networkPortGroup"`
 13460  	// VCHA Cluster network configuration of the node.
 13461  	//
 13462  	// All cluster communication (state replication, heartbeat,
 13463  	// cluster messages) happens over this network.
 13464  	// Only a single Gateway IPv4 Address is supported.
 13465  	// IPAddress and NetMask must be specified or an InvalidArgument
 13466  	// exception will be reported.
 13467  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 13468  }
 13469  
 13470  func init() {
 13471  	t["ClusterNetworkConfigSpec"] = reflect.TypeOf((*ClusterNetworkConfigSpec)(nil)).Elem()
 13472  }
 13473  
 13474  // This data class reports one virtual machine powerOn failure.
 13475  type ClusterNotAttemptedVmInfo struct {
 13476  	DynamicData
 13477  
 13478  	// The virtual machine that can not be powered on.
 13479  	//
 13480  	// Refers instance of `VirtualMachine`.
 13481  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 13482  	// The exception returned.
 13483  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 13484  }
 13485  
 13486  func init() {
 13487  	t["ClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ClusterNotAttemptedVmInfo)(nil)).Elem()
 13488  }
 13489  
 13490  // vSphere cluster VM orchestration settings.
 13491  //
 13492  // Used by vSphere HA when restarting failed VMs. For example, if a host
 13493  // fails, vSphere HA identifies the list of VMs to be restarted. The order in
 13494  // which the failed VMs to be restarted is determined by:
 13495  //   - VM restart priority setting (`ClusterDasVmSettings.restartPriority`).
 13496  //     Lower priority VMs are restarted only after higher priority VMs are
 13497  //     restarted and ready (`ClusterVmReadiness`).
 13498  //   - VM dependency rule (`ClusterDependencyRuleInfo`). If a VM
 13499  //     depends on other VMs, then it will be restarted only after all the VMs in
 13500  //     its dependency list are ready. Cyclic dependency is not permitted across
 13501  //     VMs. Also, higher priority VMs cannot depend on lower priority VMs.
 13502  type ClusterOrchestrationInfo struct {
 13503  	DynamicData
 13504  
 13505  	// Cluster-wide defaults for virtual machine readiness
 13506  	DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty" json:"defaultVmReadiness,omitempty"`
 13507  }
 13508  
 13509  func init() {
 13510  	t["ClusterOrchestrationInfo"] = reflect.TypeOf((*ClusterOrchestrationInfo)(nil)).Elem()
 13511  }
 13512  
 13513  // This event records when a cluster's host capacity cannot satisfy resource
 13514  // configuration constraints.
 13515  type ClusterOvercommittedEvent struct {
 13516  	ClusterEvent
 13517  }
 13518  
 13519  func init() {
 13520  	t["ClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem()
 13521  }
 13522  
 13523  // PowerOnVmResult is the base class of the result returned to the
 13524  // `Datacenter.PowerOnMultiVM_Task` method.
 13525  type ClusterPowerOnVmResult struct {
 13526  	DynamicData
 13527  
 13528  	// The list of virtual machines the Virtual Center has attempted to power on.
 13529  	//
 13530  	// For a virtual machine not managed by DRS, a task ID is also returned.
 13531  	Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty" json:"attempted,omitempty"`
 13532  	// The list of virtual machines DRS can not find suitable hosts for powering on.
 13533  	//
 13534  	// There is one fault associated with each virtual machine.
 13535  	NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty" json:"notAttempted,omitempty"`
 13536  	// The list of recommendations that need the client to approve manually.
 13537  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 13538  }
 13539  
 13540  func init() {
 13541  	t["ClusterPowerOnVmResult"] = reflect.TypeOf((*ClusterPowerOnVmResult)(nil)).Elem()
 13542  }
 13543  
 13544  // The `ClusterPreemptibleVmPairInfo` data object contains the monitored and the
 13545  // preemptible VM pair in a HA-enabled cluster.
 13546  //
 13547  // Monitored virtual machine is a desired protected virtual machine in
 13548  // HA-enabled cluster when it is powered on. Any failures of this VM will
 13549  // continue to be handled by HA based on the VM's settings in cluster.
 13550  //
 13551  // Preemptible virtual machine is the desired protected virtual machine in HA
 13552  // when it is powered on. The lowest restart priority "disabled"
 13553  // `ClusterDasVmSettingsRestartPriority_enum` will be enforced for the
 13554  // `ClusterPreemptibleVmPairInfo.preemptibleVm`. A virtual machine can be marked as preemptible
 13555  // irrespective of its `powerState` but its
 13556  // extra configuration should identify it as preemptible.
 13557  //
 13558  // In case of failure of `ClusterPreemptibleVmPairInfo.monitoredVm`, the `ClusterPreemptibleVmPairInfo.preemptibleVm` will
 13559  // be terminated. This will free up any resources associated with
 13560  // `ClusterPreemptibleVmPairInfo.preemptibleVm`.
 13561  //
 13562  // In case of insufficient resources for failover of any VM in the cluster, the
 13563  // `ClusterPreemptibleVmPairInfo.preemptibleVm` will be terminated to free up resources.
 13564  //
 13565  // This data object is intended for VMware use and other usage is not
 13566  // supported. This data object will be removed in a future release.
 13567  type ClusterPreemptibleVmPairInfo struct {
 13568  	DynamicData
 13569  
 13570  	// Server-assigned unique ID for pairs.
 13571  	//
 13572  	// When adding a new pair, do not
 13573  	// specify this property. The server will assign the key and any assigned
 13574  	// value will be ignored.
 13575  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 13576  	// The virtual machine whose failure will cause the virtual machine specified
 13577  	// by `ClusterPreemptibleVmPairInfo.preemptibleVm` to be terminated.
 13578  	//
 13579  	// Refers instance of `VirtualMachine`.
 13580  	MonitoredVm ManagedObjectReference `xml:"monitoredVm" json:"monitoredVm"`
 13581  	// The preemptible virtual machine associated with the virtual machine
 13582  	// specified as `ClusterPreemptibleVmPairInfo.monitoredVm`.
 13583  	//
 13584  	// Refers instance of `VirtualMachine`.
 13585  	PreemptibleVm ManagedObjectReference `xml:"preemptibleVm" json:"preemptibleVm"`
 13586  }
 13587  
 13588  func init() {
 13589  	t["ClusterPreemptibleVmPairInfo"] = reflect.TypeOf((*ClusterPreemptibleVmPairInfo)(nil)).Elem()
 13590  	minAPIVersionForType["ClusterPreemptibleVmPairInfo"] = "8.0.0.1"
 13591  }
 13592  
 13593  // Provides monitored and preemptible VM pair along with any of the operations
 13594  // (add, edit or remove) to append, modify or remove this pair info from
 13595  // `ClusterPreemptibleVmPairInfo` list.
 13596  //
 13597  // This data object is intended for VMware use and other usage is not supported.
 13598  // This data object will be removed in a future release.
 13599  type ClusterPreemptibleVmPairSpec struct {
 13600  	ArrayUpdateSpec
 13601  
 13602  	Info *ClusterPreemptibleVmPairInfo `xml:"info,omitempty" json:"info,omitempty"`
 13603  }
 13604  
 13605  func init() {
 13606  	t["ClusterPreemptibleVmPairSpec"] = reflect.TypeOf((*ClusterPreemptibleVmPairSpec)(nil)).Elem()
 13607  	minAPIVersionForType["ClusterPreemptibleVmPairSpec"] = "8.0.0.1"
 13608  }
 13609  
 13610  type ClusterProactiveDrsConfigInfo struct {
 13611  	DynamicData
 13612  
 13613  	// Flag indicating whether or not the service is enabled.
 13614  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13615  }
 13616  
 13617  func init() {
 13618  	t["ClusterProactiveDrsConfigInfo"] = reflect.TypeOf((*ClusterProactiveDrsConfigInfo)(nil)).Elem()
 13619  }
 13620  
 13621  // DataObject completely specifying the configuration of
 13622  // the profile.
 13623  type ClusterProfileCompleteConfigSpec struct {
 13624  	ClusterProfileConfigSpec
 13625  
 13626  	// User defined compliance profile for the cluster.
 13627  	//
 13628  	// If unset, clear the complyProfile.
 13629  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13630  }
 13631  
 13632  func init() {
 13633  	t["ClusterProfileCompleteConfigSpec"] = reflect.TypeOf((*ClusterProfileCompleteConfigSpec)(nil)).Elem()
 13634  }
 13635  
 13636  type ClusterProfileConfigInfo struct {
 13637  	ProfileConfigInfo
 13638  
 13639  	// Compliance profile for the cluster
 13640  	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
 13641  }
 13642  
 13643  func init() {
 13644  	t["ClusterProfileConfigInfo"] = reflect.TypeOf((*ClusterProfileConfigInfo)(nil)).Elem()
 13645  }
 13646  
 13647  // DataObject which allows reconfiguration of a profile
 13648  // based on services that will be available on the cluster.
 13649  type ClusterProfileConfigServiceCreateSpec struct {
 13650  	ClusterProfileConfigSpec
 13651  
 13652  	// Type of the service for which the ClusterProfile is being requested.
 13653  	//
 13654  	// If more than one service is specified, the created ClusterProfile
 13655  	// will cater for all the services.
 13656  	// Possible values are specified by
 13657  	// `ClusterProfileServiceType_enum`.
 13658  	// If unset, clear the compliance expressions on the profile.
 13659  	ServiceType []string `xml:"serviceType,omitempty" json:"serviceType,omitempty"`
 13660  }
 13661  
 13662  func init() {
 13663  	t["ClusterProfileConfigServiceCreateSpec"] = reflect.TypeOf((*ClusterProfileConfigServiceCreateSpec)(nil)).Elem()
 13664  }
 13665  
 13666  // DataObject which is a baseclass for other configuration
 13667  // specifications.
 13668  type ClusterProfileConfigSpec struct {
 13669  	ClusterProfileCreateSpec
 13670  }
 13671  
 13672  func init() {
 13673  	t["ClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem()
 13674  }
 13675  
 13676  // Base class for Cluster CreateSpecs
 13677  type ClusterProfileCreateSpec struct {
 13678  	ProfileCreateSpec
 13679  }
 13680  
 13681  func init() {
 13682  	t["ClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem()
 13683  }
 13684  
 13685  // Recommendation is the base class for any packaged group of
 13686  // actions that are intended to take the system from one
 13687  // state to another one.
 13688  type ClusterRecommendation struct {
 13689  	DynamicData
 13690  
 13691  	// Key to identify the recommendation when calling applyRecommendation.
 13692  	Key string `xml:"key" json:"key"`
 13693  	// Type of the recommendation.
 13694  	//
 13695  	// This differentiates between various
 13696  	// of recommendations aimed at achieving different goals.
 13697  	Type string `xml:"type" json:"type"`
 13698  	// The time this recommendation was computed.
 13699  	Time time.Time `xml:"time" json:"time"`
 13700  	// A rating of the recommendation.
 13701  	//
 13702  	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
 13703  	Rating int32 `xml:"rating" json:"rating"`
 13704  	// A reason code explaining why this set of migrations is being suggested.
 13705  	Reason string `xml:"reason" json:"reason"`
 13706  	// Text that provides more information about the reason code for the suggested
 13707  	// set of migrations.
 13708  	ReasonText string `xml:"reasonText" json:"reasonText"`
 13709  	// Text that provides warnings about potential adverse implications of
 13710  	// applying this recommendation
 13711  	WarningText string `xml:"warningText,omitempty" json:"warningText,omitempty"`
 13712  	// Warning about potential adverse implications of applying a recommendation
 13713  	WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty" json:"warningDetails,omitempty"`
 13714  	// This recommendation may depend on some other recommendations.
 13715  	//
 13716  	// The prerequisite recommendations are listed by their keys.
 13717  	Prerequisite []string `xml:"prerequisite,omitempty" json:"prerequisite,omitempty"`
 13718  	// List of actions that are executed as part of this recommendation
 13719  	Action []BaseClusterAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 13720  	// The target object of this recommendation.
 13721  	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
 13722  }
 13723  
 13724  func init() {
 13725  	t["ClusterRecommendation"] = reflect.TypeOf((*ClusterRecommendation)(nil)).Elem()
 13726  }
 13727  
 13728  // This event records when a cluster is reconfigured.
 13729  type ClusterReconfiguredEvent struct {
 13730  	ClusterEvent
 13731  
 13732  	// The configuration values changed during the reconfiguration.
 13733  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 13734  }
 13735  
 13736  func init() {
 13737  	t["ClusterReconfiguredEvent"] = reflect.TypeOf((*ClusterReconfiguredEvent)(nil)).Elem()
 13738  }
 13739  
 13740  // This class contains cpu, memory and storage usage information at cluster
 13741  // level.
 13742  type ClusterResourceUsageSummary struct {
 13743  	DynamicData
 13744  
 13745  	CpuUsedMHz        int32 `xml:"cpuUsedMHz" json:"cpuUsedMHz"`
 13746  	CpuCapacityMHz    int32 `xml:"cpuCapacityMHz" json:"cpuCapacityMHz"`
 13747  	MemUsedMB         int32 `xml:"memUsedMB" json:"memUsedMB"`
 13748  	MemCapacityMB     int32 `xml:"memCapacityMB" json:"memCapacityMB"`
 13749  	PMemAvailableMB   int64 `xml:"pMemAvailableMB,omitempty" json:"pMemAvailableMB,omitempty"`
 13750  	PMemCapacityMB    int64 `xml:"pMemCapacityMB,omitempty" json:"pMemCapacityMB,omitempty"`
 13751  	StorageUsedMB     int64 `xml:"storageUsedMB" json:"storageUsedMB"`
 13752  	StorageCapacityMB int64 `xml:"storageCapacityMB" json:"storageCapacityMB"`
 13753  }
 13754  
 13755  func init() {
 13756  	t["ClusterResourceUsageSummary"] = reflect.TypeOf((*ClusterResourceUsageSummary)(nil)).Elem()
 13757  }
 13758  
 13759  // The `ClusterRuleInfo` data object is the base type for affinity
 13760  // and anti-affinity rules.
 13761  //
 13762  // The affinity and anti-affinity rules
 13763  // are DRS (Distributed Resource Scheduling) rules that affect the placement
 13764  // of virtual machines in a cluster. Hosts and virtual machines referenced
 13765  // in a DRS rule must be in the same cluster.
 13766  //
 13767  // Note: DRS rules are different than an individual host's CPU affinity rules
 13768  // (`VirtualMachineAffinityInfo`).
 13769  //
 13770  // The Server uses DRS rule objects to describe the current rule configuration
 13771  // (`ClusterConfigInfoEx*.*ClusterConfigInfoEx.rule`).
 13772  // Your client application uses rule objects to configure the affinity and
 13773  // anti-affinity rules
 13774  // (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.rulesSpec`).
 13775  //
 13776  // You can create the following types of rules:
 13777  //   - An affinity rule defines a set of virtual machines that should run
 13778  //     on the same host.
 13779  //     The `ClusterAffinityRuleSpec` object describes a rule that
 13780  //     identifies virtual machines, but does not identify any specific host.
 13781  //   - An anti-affinity rule defines a set of virtual machines that should run
 13782  //     on different hosts.
 13783  //     The `ClusterAntiAffinityRuleSpec` object describes a rule that
 13784  //     identifies virtual machines, but does not identify any specific host.
 13785  //   - A VM-Host rule defines affinity and anti-affinity relationships between
 13786  //     virtual machines and hosts.
 13787  //     The `ClusterVmHostRuleInfo` object describes a rule that identifies
 13788  //     a virtual machine group (`ClusterVmGroup`) and affinity and
 13789  //     anti-affinity host groups (`ClusterHostGroup`).
 13790  //
 13791  // Rule configuration is a dynamic process. When you create or modify a DRS rule,
 13792  // the Server applies the rule to the cluster. If the existing cluster configuration
 13793  // violates the rule, the Server attempts to correct the situation. If that is not
 13794  // possible, the Server generates a fault and produces a log event.
 13795  // DRS rules do not have precedence; all rules are applied equally.
 13796  // DRS does not validate one rule against another. If you create conflicting
 13797  // rules, the older rule takes precedence and DRS disables the newer rule.
 13798  //
 13799  // Improperly used, DRS rules can fragment the cluster and inhibit the proper
 13800  // functioning of DRS, HA, and DPM services. vSphere services never
 13801  // take any actions that would result in the violation of mandatory DRS rules.
 13802  // An operation that violates a mandatory rule would produce the following
 13803  // consequences.
 13804  //   - DRS does not evacuate virtual machines to place a host in maintenance
 13805  //     mode.
 13806  //   - DRS does not place virtual machines for power-on or load balance virtual
 13807  //     machines.
 13808  //   - HA does not perform failovers.
 13809  //   - DPM does not optimize power management by placing hosts into standby
 13810  //     mode.
 13811  //
 13812  // To avoid these situations, exercise caution when creating more than one
 13813  // mandatory rule, or consider using only optional rules. Make sure that
 13814  // the number of hosts with which a virtual machine is related by affinity rule
 13815  // is large enough that losing a host does not prevent the virtual machine
 13816  // from running.
 13817  //
 13818  // For manual and partially automated DRS clusters, the Server produces migration
 13819  // recommendations to satisfy the DRS rules. You are not required to act on the
 13820  // recommendations, but the Server maintains the recommendations until the rules
 13821  // are satisfied.
 13822  type ClusterRuleInfo struct {
 13823  	DynamicData
 13824  
 13825  	// Unique ID for rules.
 13826  	//
 13827  	// When adding a new rule, do not specify this property.
 13828  	// The Server will assign the key.
 13829  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 13830  	// Flag to indicate whether or not the rule is currently satisfied.
 13831  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
 13832  	// Flag to indicate whether or not the rule is enabled.
 13833  	//
 13834  	// Set this property
 13835  	// when you configure the rule. The default value is false (disabled).
 13836  	// If there is a rule conflict, the Server can override the setting to disable
 13837  	// a rule.
 13838  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 13839  	// Name of the rule.
 13840  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 13841  	// Flag to indicate whether compliance with this rule is mandatory or optional.
 13842  	//
 13843  	// The default value is false (optional).
 13844  	//   - A mandatory rule will prevent a virtual machine from being powered on
 13845  	//     or migrated to a host that does not satisfy the rule.
 13846  	//   - An optional rule specifies a preference. DRS takes an optional rule
 13847  	//     into consideration when it places a virtual machine in the cluster.
 13848  	//     DRS will act on an optional rule as long as it does not impact
 13849  	//     the ability of the host to satisfy current CPU or memory requirements
 13850  	//     for virtual machines on the system. (As long as the operation does not
 13851  	//     cause any host to be more than 100% utilized.)
 13852  	Mandatory *bool `xml:"mandatory" json:"mandatory,omitempty"`
 13853  	// Flag to indicate whether the rule is created by the user or the system.
 13854  	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty"`
 13855  	// Flag to indicate whether or not the placement of Virtual Machines is currently
 13856  	// in compliance with this rule.
 13857  	//
 13858  	// The Server does not currently use this property.
 13859  	InCompliance *bool `xml:"inCompliance" json:"inCompliance,omitempty"`
 13860  	// UUID for the rule.
 13861  	//
 13862  	// When adding a new rule, do not specify this
 13863  	// property. The Server will assign the key.
 13864  	RuleUuid string `xml:"ruleUuid,omitempty" json:"ruleUuid,omitempty"`
 13865  }
 13866  
 13867  func init() {
 13868  	t["ClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem()
 13869  }
 13870  
 13871  // An incremental update to the cluster rules.
 13872  type ClusterRuleSpec struct {
 13873  	ArrayUpdateSpec
 13874  
 13875  	Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
 13876  }
 13877  
 13878  func init() {
 13879  	t["ClusterRuleSpec"] = reflect.TypeOf((*ClusterRuleSpec)(nil)).Elem()
 13880  }
 13881  
 13882  // The base class `ClusterSlotPolicy` is used for specifying how
 13883  // the slot size is to be computed for the failover level HA admission control
 13884  // policy.
 13885  //
 13886  // By default, vSphere HA defines the slot size using the largest memory
 13887  // and cpu reservations of any powered on virtual machine in the cluster.
 13888  // Subclasses of this class define various policies to modify how the slot size
 13889  // is chosen to prevent outlier virtual machines (i.e. those with much larger
 13890  // reservations than the average) from skewing the slot size. If such a policy is chosen,
 13891  // outlier virtual machines will use multiple slots. Using such a policy introduces
 13892  // a risk that vSphere HA will be unable to failover these virtual machines because
 13893  // of resource fragmentation.
 13894  type ClusterSlotPolicy struct {
 13895  	DynamicData
 13896  }
 13897  
 13898  func init() {
 13899  	t["ClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem()
 13900  }
 13901  
 13902  // This event records when a cluster's overall status changed.
 13903  type ClusterStatusChangedEvent struct {
 13904  	ClusterEvent
 13905  
 13906  	// The old (`status`).
 13907  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 13908  	// The new (`status`).
 13909  	NewStatus string `xml:"newStatus" json:"newStatus"`
 13910  }
 13911  
 13912  func init() {
 13913  	t["ClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem()
 13914  }
 13915  
 13916  // Configuration for System VMs deployment.
 13917  type ClusterSystemVMsConfigInfo struct {
 13918  	DynamicData
 13919  
 13920  	// The only datastores which can be used for System VMs deployment.
 13921  	//
 13922  	// Refers instances of `Datastore`.
 13923  	AllowedDatastores []ManagedObjectReference `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 13924  	// Datastores which cannot be used for System VMs deployment.
 13925  	//
 13926  	// Refers instances of `Datastore`.
 13927  	NotAllowedDatastores []ManagedObjectReference `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 13928  	// Tag categories identifying datastores, which cannot be used for System VMs
 13929  	// deployment.
 13930  	DsTagCategoriesToExclude []string `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 13931  	// The System VM deployment mode for vSphere clusters.
 13932  	//
 13933  	// Supported values are enumerated by the
 13934  	// `DeploymentMode`
 13935  	// type.
 13936  	// An unset value implies SYSTEM\_MANAGED,
 13937  	// unless the cluster is put in "Retreat Mode".
 13938  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 13939  }
 13940  
 13941  func init() {
 13942  	t["ClusterSystemVMsConfigInfo"] = reflect.TypeOf((*ClusterSystemVMsConfigInfo)(nil)).Elem()
 13943  	minAPIVersionForType["ClusterSystemVMsConfigInfo"] = "7.0.3.0"
 13944  }
 13945  
 13946  // Configuration for System VMs deployment.
 13947  type ClusterSystemVMsConfigSpec struct {
 13948  	DynamicData
 13949  
 13950  	// The only datastores which can be used for System VMs deployment.
 13951  	AllowedDatastores []ClusterDatastoreUpdateSpec `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
 13952  	// Datastores which cannot be used for System VMs deployment.
 13953  	NotAllowedDatastores []ClusterDatastoreUpdateSpec `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
 13954  	// Tag categories identifying datastores, which cannot be used for System VMs
 13955  	// deployment.
 13956  	DsTagCategoriesToExclude []ClusterTagCategoryUpdateSpec `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
 13957  	// The System VM deployment mode for vSphere clusters.
 13958  	//
 13959  	// Supported values are enumerated by the
 13960  	// `DeploymentMode`
 13961  	// type.
 13962  	// Providing an unset value does not modify deploymentMode.
 13963  	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
 13964  }
 13965  
 13966  func init() {
 13967  	t["ClusterSystemVMsConfigSpec"] = reflect.TypeOf((*ClusterSystemVMsConfigSpec)(nil)).Elem()
 13968  	minAPIVersionForType["ClusterSystemVMsConfigSpec"] = "7.0.3.0"
 13969  }
 13970  
 13971  // An incremental update to a TagCategory list.
 13972  type ClusterTagCategoryUpdateSpec struct {
 13973  	ArrayUpdateSpec
 13974  
 13975  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 13976  }
 13977  
 13978  func init() {
 13979  	t["ClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ClusterTagCategoryUpdateSpec)(nil)).Elem()
 13980  	minAPIVersionForType["ClusterTagCategoryUpdateSpec"] = "7.0.3.0"
 13981  }
 13982  
 13983  // This class contains cluster usage summary that is populated
 13984  // by DRS and used by Cloud Placement Engine in VCD.
 13985  type ClusterUsageSummary struct {
 13986  	DynamicData
 13987  
 13988  	// Total CPU capacity of the cluster.
 13989  	TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz" json:"totalCpuCapacityMhz"`
 13990  	// Total memory capacity of the cluster.
 13991  	TotalMemCapacityMB int32 `xml:"totalMemCapacityMB" json:"totalMemCapacityMB"`
 13992  	// Sum of CPU reservation of all the Resource Pools and powered-on VMs in the cluster.
 13993  	CpuReservationMhz int32 `xml:"cpuReservationMhz" json:"cpuReservationMhz"`
 13994  	// Sum of memory reservation of all the Resource Pools and powered-on VMs in the cluster.
 13995  	MemReservationMB int32 `xml:"memReservationMB" json:"memReservationMB"`
 13996  	// Sum of CPU reservation of all the powered-off VMs in the cluster.
 13997  	PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty" json:"poweredOffCpuReservationMhz,omitempty"`
 13998  	// Sum of memory reservation of all the powered-off VMs in the cluster.
 13999  	PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty" json:"poweredOffMemReservationMB,omitempty"`
 14000  	// Sum of CPU demand of all the powered-on VMs in the cluster.
 14001  	CpuDemandMhz int32 `xml:"cpuDemandMhz" json:"cpuDemandMhz"`
 14002  	// Sum of memory demand of all the powered-on VMs in the cluster.
 14003  	MemDemandMB int32 `xml:"memDemandMB" json:"memDemandMB"`
 14004  	// Generation number of the usage stats.
 14005  	//
 14006  	// Updated during every DRS load
 14007  	// balancing call.
 14008  	StatsGenNumber int64 `xml:"statsGenNumber" json:"statsGenNumber"`
 14009  	// This is the current CPU entitlement across the cluster
 14010  	CpuEntitledMhz int32 `xml:"cpuEntitledMhz" json:"cpuEntitledMhz"`
 14011  	// This is the current memory entitlement across the cluster
 14012  	MemEntitledMB int32 `xml:"memEntitledMB" json:"memEntitledMB"`
 14013  	// The number of powered off VMs in the cluster
 14014  	PoweredOffVmCount int32 `xml:"poweredOffVmCount" json:"poweredOffVmCount"`
 14015  	// The number of VMs in the cluster
 14016  	TotalVmCount int32 `xml:"totalVmCount" json:"totalVmCount"`
 14017  }
 14018  
 14019  func init() {
 14020  	t["ClusterUsageSummary"] = reflect.TypeOf((*ClusterUsageSummary)(nil)).Elem()
 14021  }
 14022  
 14023  // vSphere HA Virtual Machine Component Protection Service settings.
 14024  //
 14025  // vSphere HA Virtual Machine Component Protection Service detects
 14026  // and reacts to storage failures that do not necessarily cause a
 14027  // virtual machine to go down, but may impact the health or QoS of
 14028  // the virtual machine.
 14029  //
 14030  // All fields are defined as optional. In case of a reconfiguration, fields left unset
 14031  // are not changed.
 14032  type ClusterVmComponentProtectionSettings struct {
 14033  	DynamicData
 14034  
 14035  	// VM storage protection setting for storage failures categorized as All Paths
 14036  	// Down (APD).
 14037  	//
 14038  	// APD is a condition where a storage has become inaccessible
 14039  	// for unknown reasons. It only indicates loss of connectivity and does not indicate
 14040  	// storage device failure or LUN removal (Permenant Device Loss or PDL). The details
 14041  	// of APD and PDL are described in `HostMountInfoInaccessibleReason_enum`.
 14042  	//
 14043  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14044  	// specified by `ClusterVmComponentProtectionSettingsStorageVmReaction_enum`. The default value is
 14045  	// `disabled` for cluster setting and
 14046  	// `clusterDefault` for per-VM setting.
 14047  	//
 14048  	// When an APD condition happens and the host begins timing out I/Os
 14049  	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}, VM Component
 14050  	// Protection service will react based on the specific value of this property:
 14051  	//   - `**disabled**`, no reaction, i.e., no
 14052  	//     VM failover and no event reporting for the failures.
 14053  	//   - `**warning**`, service will issue events,
 14054  	//     alarms and/or config issues for component failures.
 14055  	//   - `**restartConservative**`, service will
 14056  	//     terminate the impacted VMs after a preconfigured time interval
 14057  	//     (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`) if they are to be restarted.
 14058  	//   - `**restartAggressive**`, service might
 14059  	//     terminate the impacted VMs after a preconfigured time interval
 14060  	//     (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`). In some cases, a VM is terminated
 14061  	//     even if it may not able to be restarted or lose Fault Tolerance redundancy.
 14062  	//   - `**clusterDefault**`, service will implement
 14063  	//     cluster default.
 14064  	VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty" json:"vmStorageProtectionForAPD,omitempty"`
 14065  	// This property indicates if APD timeout will be enabled for all the hosts
 14066  	// in the cluster when vSphere HA is configured.
 14067  	//
 14068  	// The details of APD timeout are
 14069  	// described in `HostMountInfoInaccessibleReason_enum`.
 14070  	//
 14071  	// If `ClusterDasConfigInfo.vmComponentProtecting` is `disabled`,
 14072  	// the property will be ignored. Otherwise, for each host in the cluster,
 14073  	// APD timeout will be enabled. Note that no change will be made for a host if it
 14074  	// already had APD timeout enabled.
 14075  	//
 14076  	// This property is meaningful only for cluster setting. It is ignored if specified at VM level.
 14077  	// The default value is false if not specified.
 14078  	//
 14079  	// Note that this property is not persisted by vSphere backend. It does not impact any cluster
 14080  	// reconfiguration or host operation (such as adding a host to a cluster) that might happen later.
 14081  	EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts" json:"enableAPDTimeoutForHosts,omitempty"`
 14082  	// The time interval after an APD timeout has been declared and before VM Component
 14083  	// Protection service will terminate the VM.
 14084  	//
 14085  	// The value only applies if
 14086  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD` is set to `restartConservative` or
 14087  	// `restartAggressive`.
 14088  	//
 14089  	// The default value is 180 seconds if not specified. To use cluster setting for a VM override,
 14090  	// set to -1 in per-VM setting.
 14091  	VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty" json:"vmTerminateDelayForAPDSec,omitempty"`
 14092  	// Action taken by VM Component Protection service for a powered on VM when APD
 14093  	// condition clears after APD timeout.
 14094  	//
 14095  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14096  	// specified by `ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum`. The default value is
 14097  	// `none` for cluster setting and
 14098  	// `useClusterDefault` for per-VM setting.
 14099  	VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty" json:"vmReactionOnAPDCleared,omitempty"`
 14100  	// VM storage protection setting for storage failures categorized as Permenant Device
 14101  	// Loss (PDL).
 14102  	//
 14103  	// PDL indicates storage device failure or LUN removal. In case of PDL,
 14104  	// the failed datastore or device is unlikely to recover. The details of PDL are
 14105  	// described in `HostMountInfoInaccessibleReason_enum`.
 14106  	//
 14107  	// This property is meaningful only when vSphere HA is turned on. Valid values are
 14108  	// `disabled`, `warning`,
 14109  	// `restartAggressive` and `clusterDefault`.
 14110  	// The default value is `disabled` for cluster setting and
 14111  	// `clusterDefault` for per-VM setting.
 14112  	//
 14113  	// When set to `restartAggressive`, VM Component Protection service
 14114  	// will immediately terminate the VMs impacted by PDL and will attempt to restart the VMs
 14115  	// with best effort. When set to the other values, the behavior is the same as described for
 14116  	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD`.
 14117  	VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty" json:"vmStorageProtectionForPDL,omitempty"`
 14118  }
 14119  
 14120  func init() {
 14121  	t["ClusterVmComponentProtectionSettings"] = reflect.TypeOf((*ClusterVmComponentProtectionSettings)(nil)).Elem()
 14122  }
 14123  
 14124  // The `ClusterVmGroup` data object identifies virtual machines
 14125  // for VM-Host rules.
 14126  //
 14127  // VM-Host rules determine placement of virtual machines
 14128  // on hosts in a cluster.
 14129  // The logic specified in a `ClusterVmHostRuleInfo` object
 14130  // determines where virtual machines can be powered-on.
 14131  //
 14132  // If a virtual machine is removed from the cluster, it loses its DRS group
 14133  // affiliation. The Server does not restore any group affiliations if the
 14134  // virtual machine is returned to the cluster.
 14135  type ClusterVmGroup struct {
 14136  	ClusterGroupInfo
 14137  
 14138  	// List of virtual machines that are part of this group.
 14139  	//
 14140  	// A virtual machine group can contain zero or more virtual machines.
 14141  	//
 14142  	// Refers instances of `VirtualMachine`.
 14143  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 14144  }
 14145  
 14146  func init() {
 14147  	t["ClusterVmGroup"] = reflect.TypeOf((*ClusterVmGroup)(nil)).Elem()
 14148  }
 14149  
 14150  // A `ClusterVmHostRuleInfo` object identifies virtual machines
 14151  // and host groups that determine virtual machine placement. The virtual
 14152  // machines and hosts referenced by a VM-Host rule must be in the same cluster.
 14153  //
 14154  // A VM-Host rule identifies the following groups.
 14155  //   - A virtual machine group (`ClusterVmGroup`).
 14156  //   - Two host groups - an affine host group and an anti-affine host group
 14157  //     (`ClusterHostGroup`).
 14158  //     At least one of the groups must contain one or more hosts.
 14159  //
 14160  // `ClusterVmHostRuleInfo` stores only the names of the relevant
 14161  // virtual machine and host groups. The group contents are stored in
 14162  // the virtual machine and host group objects.
 14163  //
 14164  // When you modify a VM-Host rule, only the fields that are specified are set.
 14165  type ClusterVmHostRuleInfo struct {
 14166  	ClusterRuleInfo
 14167  
 14168  	// Virtual group name (`ClusterVmGroup*.*ClusterGroupInfo.name`).
 14169  	//
 14170  	// The virtual group may contain one or more virtual machines.
 14171  	VmGroupName string `xml:"vmGroupName,omitempty" json:"vmGroupName,omitempty"`
 14172  	// Name of the affine host group
 14173  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14174  	//
 14175  	// The affine host group identifies hosts on which
 14176  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines can be powered-on.
 14177  	// The value of the `ClusterRuleInfo.mandatory` property
 14178  	// determines how the Server interprets the rule.
 14179  	AffineHostGroupName string `xml:"affineHostGroupName,omitempty" json:"affineHostGroupName,omitempty"`
 14180  	// Name of the anti-affine host group
 14181  	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
 14182  	//
 14183  	// The anti-affine host group identifies hosts on which
 14184  	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines should not
 14185  	// be powered-on.
 14186  	// The value of the `ClusterRuleInfo.mandatory` property
 14187  	// determines how the Server interprets the rule.
 14188  	AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty" json:"antiAffineHostGroupName,omitempty"`
 14189  }
 14190  
 14191  func init() {
 14192  	t["ClusterVmHostRuleInfo"] = reflect.TypeOf((*ClusterVmHostRuleInfo)(nil)).Elem()
 14193  }
 14194  
 14195  // The `ClusterVmOrchestrationInfo` data object contains the orchestration
 14196  // configuration for a single virtual machine.
 14197  //
 14198  // This makes it possible to
 14199  // override the defaut behavior for an individual virtual machine.
 14200  type ClusterVmOrchestrationInfo struct {
 14201  	DynamicData
 14202  
 14203  	// Reference to the VM that the ready state is applied to.
 14204  	//
 14205  	// Refers instance of `VirtualMachine`.
 14206  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 14207  	// Readiness policy that apply to this virtual machine.
 14208  	//
 14209  	// Values specified in this object override the cluster-wide
 14210  	// defaults for virtual machines.
 14211  	// `ClusterOrchestrationInfo.defaultVmReadiness`
 14212  	VmReadiness ClusterVmReadiness `xml:"vmReadiness" json:"vmReadiness"`
 14213  }
 14214  
 14215  func init() {
 14216  	t["ClusterVmOrchestrationInfo"] = reflect.TypeOf((*ClusterVmOrchestrationInfo)(nil)).Elem()
 14217  }
 14218  
 14219  // An incremental update to the per-VM orchestration config.
 14220  type ClusterVmOrchestrationSpec struct {
 14221  	ArrayUpdateSpec
 14222  
 14223  	Info *ClusterVmOrchestrationInfo `xml:"info,omitempty" json:"info,omitempty"`
 14224  }
 14225  
 14226  func init() {
 14227  	t["ClusterVmOrchestrationSpec"] = reflect.TypeOf((*ClusterVmOrchestrationSpec)(nil)).Elem()
 14228  }
 14229  
 14230  // VM readiness policy specifies when a VM is deemed ready.
 14231  //
 14232  // This is used in cluster VM orchestration settings. For example, vSphere HA
 14233  // restarts lower priority VMs only after higher priority VMs are ready.
 14234  type ClusterVmReadiness struct {
 14235  	DynamicData
 14236  
 14237  	// Ready condition for a virtual machine.
 14238  	//
 14239  	// See `ClusterVmReadinessReadyCondition_enum`.
 14240  	//
 14241  	// If not specified at either the cluster level or the virtual machine
 14242  	// level, this will default to `none`.
 14243  	ReadyCondition string `xml:"readyCondition,omitempty" json:"readyCondition,omitempty"`
 14244  	// Additional delay in seconds after ready condition is met.
 14245  	//
 14246  	// A VM is
 14247  	// considered ready at this point.
 14248  	//
 14249  	// If not specified in a VM override, cluster default setting is
 14250  	// used. Alternatively, set to -1 in per-VM setting to use cluster default
 14251  	// value.
 14252  	PostReadyDelay int32 `xml:"postReadyDelay,omitempty" json:"postReadyDelay,omitempty"`
 14253  }
 14254  
 14255  func init() {
 14256  	t["ClusterVmReadiness"] = reflect.TypeOf((*ClusterVmReadiness)(nil)).Elem()
 14257  }
 14258  
 14259  // The `ClusterVmToolsMonitoringSettings` data object contains
 14260  // virtual machine monitoring settings that are used by the Virtual Machine Health Monitoring Service.
 14261  //
 14262  // The Service checks the VMware Tools heartbeat of a virtual machine.
 14263  // If heartbeats have not been received within a specified time interval, the Service
 14264  // declares the virtual machine as failed and resets the virtual machine.
 14265  //
 14266  // These settings are applied to individual virtual machines during cluster reconfiguration
 14267  // (`ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.vmToolsMonitoringSettings`). You can also specify them as default values
 14268  // (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
 14269  //
 14270  // All fields are optional. In case of a reconfiguration, fields left unset are not changed.
 14271  type ClusterVmToolsMonitoringSettings struct {
 14272  	DynamicData
 14273  
 14274  	// Deprecated as of vSphere API 4.1, use `ClusterVmToolsMonitoringSettings.vmMonitoring`.
 14275  	//
 14276  	// Flag indicating whether or not the Virtual Machine Health Monitoring
 14277  	// service is enabled.
 14278  	//
 14279  	// The Server does not use this property.
 14280  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 14281  	// Indicates the type of virtual machine monitoring.
 14282  	//
 14283  	// Specify a string value corresponding to one of the
 14284  	// following `ClusterDasConfigInfoVmMonitoringState_enum` values:
 14285  	//   - <code>vmMonitoringDisabled</code> (the default value)
 14286  	//   - <code>vmMonitoringOnly</code>
 14287  	//   - <code>vmAndAppMonitoring</code>
 14288  	//
 14289  	// The individual VMware Tools setting for virtual machine monitoring depends on
 14290  	// the HA Virtual Machine Health Monitoring Service level that is
 14291  	// defined for the cluster
 14292  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14293  	// The following list indicates the supported VMware Tools <code>vmMonitoring</code> values
 14294  	// according to the cluster configuration.
 14295  	//   - If the cluster configuration specifies <code>vmMonitoringDisabled</code>,
 14296  	//     the Service is disabled and the HA Service ignores the VMware Tools monitoring setting.
 14297  	//   - If the cluster configuration specifies <code>vmMonitoringOnly</code>,
 14298  	//     the Service supports <code>vmMonitoringOnly</code> or <code>vmMonitoringDisabled</code> only.
 14299  	//   - If the cluster configuration specifies <code>vmAndAppMonitoring</code>,
 14300  	//     you can use any of the `ClusterDasConfigInfoVmMonitoringState_enum` values.
 14301  	//
 14302  	// The `ClusterVmToolsMonitoringSettings.clusterSettings` value has no
 14303  	// effect on the constraint imposed by the HA Virtual Machine Health Monitoring Service
 14304  	// level that is defined for the cluster
 14305  	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
 14306  	//
 14307  	// Application monitoring events are generated regardless of the
 14308  	// currently configured type of virtual machine monitoring.
 14309  	// You can use these events even if monitoring is being disabled
 14310  	// or set to <code>vmMonitoringOnly</code>.
 14311  	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty"`
 14312  	// Flag indicating whether to use the cluster settings or the per VM settings.
 14313  	//
 14314  	// The default value is true.
 14315  	ClusterSettings *bool `xml:"clusterSettings" json:"clusterSettings,omitempty"`
 14316  	// If no heartbeat has been received for at least the specified number of seconds,
 14317  	// the virtual machine is declared as failed.
 14318  	//
 14319  	// The default value is 30.
 14320  	FailureInterval int32 `xml:"failureInterval,omitempty" json:"failureInterval,omitempty"`
 14321  	// The number of seconds for the virtual machine's heartbeats to stabilize
 14322  	// after the virtual machine has been powered on.
 14323  	//
 14324  	// This time should include
 14325  	// the guest operating system boot-up time. The virtual machine monitoring
 14326  	// will begin only after this period.
 14327  	//
 14328  	// The default value is 120.
 14329  	MinUpTime int32 `xml:"minUpTime,omitempty" json:"minUpTime,omitempty"`
 14330  	// Maximum number of failures and automated resets allowed during the time that
 14331  	// `ClusterVmToolsMonitoringSettings.maxFailureWindow` specifies.
 14332  	//
 14333  	// If `ClusterVmToolsMonitoringSettings.maxFailureWindow` is -1
 14334  	// (no window), this represents the absolute number of failures after which
 14335  	// automated response is stopped.
 14336  	//
 14337  	// If a virtual machine exceeds this threshold, in-depth problem analysis is
 14338  	// usually needed.
 14339  	//
 14340  	// The default value is 3.
 14341  	MaxFailures int32 `xml:"maxFailures,omitempty" json:"maxFailures,omitempty"`
 14342  	// The number of seconds for the window during which up to `ClusterVmToolsMonitoringSettings.maxFailures`
 14343  	// resets can occur before automated responses stop.
 14344  	//
 14345  	// If set to -1, no failure window is specified.
 14346  	//
 14347  	// The default value is -1.
 14348  	MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty" json:"maxFailureWindow,omitempty"`
 14349  }
 14350  
 14351  func init() {
 14352  	t["ClusterVmToolsMonitoringSettings"] = reflect.TypeOf((*ClusterVmToolsMonitoringSettings)(nil)).Elem()
 14353  }
 14354  
 14355  // The distributed virtual switch received a reconfiguration request to
 14356  // activate ipfix monitoring of the switch traffic.
 14357  //
 14358  // However, the address
 14359  // and/or the port of the ipfix collector has not been specified.
 14360  type CollectorAddressUnset struct {
 14361  	DvsFault
 14362  }
 14363  
 14364  func init() {
 14365  	t["CollectorAddressUnset"] = reflect.TypeOf((*CollectorAddressUnset)(nil)).Elem()
 14366  }
 14367  
 14368  type CollectorAddressUnsetFault CollectorAddressUnset
 14369  
 14370  func init() {
 14371  	t["CollectorAddressUnsetFault"] = reflect.TypeOf((*CollectorAddressUnsetFault)(nil)).Elem()
 14372  }
 14373  
 14374  type ComplianceFailure struct {
 14375  	DynamicData
 14376  
 14377  	// String uniquely identifying the failure.
 14378  	FailureType string `xml:"failureType" json:"failureType"`
 14379  	// Message which describes the compliance failures
 14380  	// message.key serves as a key to the localized
 14381  	// message catalog.
 14382  	Message LocalizableMessage `xml:"message" json:"message"`
 14383  	// Name of the Expression which generated the ComplianceFailure
 14384  	ExpressionName string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 14385  	// If complianceStatus is non-compliant, failureValues will
 14386  	// contain values of the non-compliant fields on the host and
 14387  	// in the profile.
 14388  	FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty" json:"failureValues,omitempty"`
 14389  }
 14390  
 14391  func init() {
 14392  	t["ComplianceFailure"] = reflect.TypeOf((*ComplianceFailure)(nil)).Elem()
 14393  }
 14394  
 14395  type ComplianceFailureComplianceFailureValues struct {
 14396  	DynamicData
 14397  
 14398  	// Unique key to a message in the localized message catalog,
 14399  	// identifying the fields being compared.
 14400  	ComparisonIdentifier string `xml:"comparisonIdentifier" json:"comparisonIdentifier"`
 14401  	// Name of the profile instance, in case of non-singleton profiles.
 14402  	ProfileInstance string `xml:"profileInstance,omitempty" json:"profileInstance,omitempty"`
 14403  	// Value of the non-compliant field on the host.
 14404  	HostValue AnyType `xml:"hostValue,omitempty,typeattr" json:"hostValue,omitempty"`
 14405  	// Value of the non-compliant field in the profile.
 14406  	ProfileValue AnyType `xml:"profileValue,omitempty,typeattr" json:"profileValue,omitempty"`
 14407  }
 14408  
 14409  func init() {
 14410  	t["ComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ComplianceFailureComplianceFailureValues)(nil)).Elem()
 14411  }
 14412  
 14413  // This dataObject contains information about location of applyProfile
 14414  // which was responsible for generation of a particular ComplianceExpression.
 14415  type ComplianceLocator struct {
 14416  	DynamicData
 14417  
 14418  	// Exression for which the Locator corresponds to
 14419  	ExpressionName string `xml:"expressionName" json:"expressionName"`
 14420  	// Complete path to the profile/policy which was responsible for the
 14421  	// generation of the ComplianceExpression.
 14422  	//
 14423  	// \[ProfilePath + policyId\] will uniquely identify a Policy.
 14424  	ApplyPath ProfilePropertyPath `xml:"applyPath" json:"applyPath"`
 14425  }
 14426  
 14427  func init() {
 14428  	t["ComplianceLocator"] = reflect.TypeOf((*ComplianceLocator)(nil)).Elem()
 14429  }
 14430  
 14431  // DataObject contains the verifications that need to be done
 14432  // to make sure the entity is in compliance.
 14433  type ComplianceProfile struct {
 14434  	DynamicData
 14435  
 14436  	// List of expressions that make up the ComplianceChecks.
 14437  	Expression []BaseProfileExpression `xml:"expression,typeattr" json:"expression"`
 14438  	// Name of the Expression which is the root of the expression tree.
 14439  	RootExpression string `xml:"rootExpression" json:"rootExpression"`
 14440  }
 14441  
 14442  func init() {
 14443  	t["ComplianceProfile"] = reflect.TypeOf((*ComplianceProfile)(nil)).Elem()
 14444  }
 14445  
 14446  // DataObject representing the result from a ComplianceCheck
 14447  type ComplianceResult struct {
 14448  	DynamicData
 14449  
 14450  	// Profile for which the ComplianceResult applies
 14451  	//
 14452  	// Refers instance of `Profile`.
 14453  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 14454  	// Indicates the compliance status of the entity.
 14455  	//
 14456  	// See @link Status
 14457  	ComplianceStatus string `xml:"complianceStatus" json:"complianceStatus"`
 14458  	// Entity on which the compliance check was carried out.
 14459  	//
 14460  	// Entity can be a Cluster, Host and so on.
 14461  	//
 14462  	// Refers instance of `ManagedEntity`.
 14463  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 14464  	// Time at which compliance check was last run on the entity
 14465  	CheckTime *time.Time `xml:"checkTime" json:"checkTime,omitempty"`
 14466  	// If complianceStatus is non-compliant, failure will
 14467  	// contain additional information about the compliance errors.
 14468  	Failure []ComplianceFailure `xml:"failure,omitempty" json:"failure,omitempty"`
 14469  }
 14470  
 14471  func init() {
 14472  	t["ComplianceResult"] = reflect.TypeOf((*ComplianceResult)(nil)).Elem()
 14473  }
 14474  
 14475  // The parameters of `HostProfileManager.CompositeHostProfile_Task`.
 14476  type CompositeHostProfileRequestType struct {
 14477  	This ManagedObjectReference `xml:"_this" json:"-"`
 14478  	// Refers instance of `Profile`.
 14479  	Source ManagedObjectReference `xml:"source" json:"source"`
 14480  	// Refers instances of `Profile`.
 14481  	Targets                []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 14482  	ToBeMerged             *HostApplyProfile        `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 14483  	ToBeReplacedWith       *HostApplyProfile        `xml:"toBeReplacedWith,omitempty" json:"toBeReplacedWith,omitempty"`
 14484  	ToBeDeleted            *HostApplyProfile        `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 14485  	EnableStatusToBeCopied *HostApplyProfile        `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 14486  }
 14487  
 14488  func init() {
 14489  	t["CompositeHostProfileRequestType"] = reflect.TypeOf((*CompositeHostProfileRequestType)(nil)).Elem()
 14490  }
 14491  
 14492  type CompositeHostProfile_Task CompositeHostProfileRequestType
 14493  
 14494  func init() {
 14495  	t["CompositeHostProfile_Task"] = reflect.TypeOf((*CompositeHostProfile_Task)(nil)).Elem()
 14496  }
 14497  
 14498  type CompositeHostProfile_TaskResponse struct {
 14499  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 14500  }
 14501  
 14502  // DataObject represents a composite Policy that is created by the user
 14503  // using different PolicyOptions.
 14504  //
 14505  // The options set in the CompositePolicyOption
 14506  // should be derived from the possible options as indicated by the
 14507  // CompositePolicyOptionMetadata.
 14508  type CompositePolicyOption struct {
 14509  	PolicyOption
 14510  
 14511  	// List of policy options that are composed and applicable for
 14512  	// this composite policy option.
 14513  	//
 14514  	// The selected PolicyOptions in a CompositePolicyOption will be used in the
 14515  	// policy. PolicyOptions need not be specified if they are not desired for
 14516  	// the CompositePolicyOption.
 14517  	// Order of PolicyOptions in the PolicyOption array is not significant.
 14518  	// The host profile policy engine will not respect order of PolicyOptions.
 14519  	// It will apply PolicyOptions in a pre-determined order.
 14520  	// Clients of the API must produce PolicyOption in the same order as specified
 14521  	// in the metadata.
 14522  	Option []BasePolicyOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 14523  }
 14524  
 14525  func init() {
 14526  	t["CompositePolicyOption"] = reflect.TypeOf((*CompositePolicyOption)(nil)).Elem()
 14527  }
 14528  
 14529  type ComputeDiskPartitionInfo ComputeDiskPartitionInfoRequestType
 14530  
 14531  func init() {
 14532  	t["ComputeDiskPartitionInfo"] = reflect.TypeOf((*ComputeDiskPartitionInfo)(nil)).Elem()
 14533  }
 14534  
 14535  type ComputeDiskPartitionInfoForResize ComputeDiskPartitionInfoForResizeRequestType
 14536  
 14537  func init() {
 14538  	t["ComputeDiskPartitionInfoForResize"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResize)(nil)).Elem()
 14539  }
 14540  
 14541  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfoForResize`.
 14542  type ComputeDiskPartitionInfoForResizeRequestType struct {
 14543  	This ManagedObjectReference `xml:"_this" json:"-"`
 14544  	// The disk partition to resize.
 14545  	Partition HostScsiDiskPartition `xml:"partition" json:"partition"`
 14546  	// Specifies the desired block range for the resized
 14547  	// partition. The start of the block range specified should match
 14548  	// that of the current partition.
 14549  	BlockRange HostDiskPartitionBlockRange `xml:"blockRange" json:"blockRange"`
 14550  	// Specifies the desired partition format to be
 14551  	// computed from the block range.
 14552  	// If partitionFormat is not specified, the existing partitionFormat
 14553  	// on disk is used, if the disk is not blank and mbr otherwise.
 14554  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 14555  }
 14556  
 14557  func init() {
 14558  	t["ComputeDiskPartitionInfoForResizeRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResizeRequestType)(nil)).Elem()
 14559  }
 14560  
 14561  type ComputeDiskPartitionInfoForResizeResponse struct {
 14562  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14563  }
 14564  
 14565  // The parameters of `HostStorageSystem.ComputeDiskPartitionInfo`.
 14566  type ComputeDiskPartitionInfoRequestType struct {
 14567  	This ManagedObjectReference `xml:"_this" json:"-"`
 14568  	// The name of the device path for the specific disk.
 14569  	DevicePath string `xml:"devicePath" json:"devicePath"`
 14570  	// A data object that describes the disk partition layout.
 14571  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 14572  	// Specifies the desired partition format to be
 14573  	// computed from the block range.
 14574  	// If partitionFormat is not specified, the existing partitionFormat
 14575  	// on disk is used, if the disk is not blank and mbr otherwise.
 14576  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 14577  }
 14578  
 14579  func init() {
 14580  	t["ComputeDiskPartitionInfoRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoRequestType)(nil)).Elem()
 14581  }
 14582  
 14583  type ComputeDiskPartitionInfoResponse struct {
 14584  	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
 14585  }
 14586  
 14587  // Configuration of the compute resource; applies to both standalone hosts
 14588  // and clusters.
 14589  type ComputeResourceConfigInfo struct {
 14590  	DynamicData
 14591  
 14592  	// Swapfile placement policy for virtual machines within this compute
 14593  	// resource.
 14594  	//
 14595  	// Any policy except for "inherit" is a valid value for this
 14596  	// property; the default is "vmDirectory". This setting will be honored
 14597  	// for each virtual machine within the compute resource for which the
 14598  	// following is true:
 14599  	//   - The virtual machine is executing on a host that has the
 14600  	//     `perVmSwapFiles` capability.
 14601  	//   - The virtual machine configuration's
 14602  	//     `swapPlacement` property is set
 14603  	//     to "inherit".
 14604  	//
 14605  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14606  	VmSwapPlacement string `xml:"vmSwapPlacement" json:"vmSwapPlacement"`
 14607  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14608  	// feature is enabled on this compute resource
 14609  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty"`
 14610  	// Key for Default Hardware Version used on this compute resource
 14611  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14612  	//
 14613  	// This field affects
 14614  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14615  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14616  	// with this field unset.
 14617  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 14618  	// Key for Maximum Hardware Version used on this compute resource
 14619  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14620  	//
 14621  	// This field affects
 14622  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14623  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14624  	// with this field unset.
 14625  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14626  }
 14627  
 14628  func init() {
 14629  	t["ComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem()
 14630  }
 14631  
 14632  // Changes to apply to the compute resource configuration.
 14633  type ComputeResourceConfigSpec struct {
 14634  	DynamicData
 14635  
 14636  	// New setting for the swapfile placement policy.
 14637  	//
 14638  	// Any change to this
 14639  	// policy will affect virtual machines that subsequently power on or
 14640  	// resume from a suspended state in this compute resource, or that
 14641  	// migrate to a host in this compute resource while powered on; virtual
 14642  	// machines that are currently powered on in this compute resource will
 14643  	// not yet be affected.
 14644  	//
 14645  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 14646  	VmSwapPlacement string `xml:"vmSwapPlacement,omitempty" json:"vmSwapPlacement,omitempty"`
 14647  	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
 14648  	// feature is enabled on this compute resource
 14649  	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty"`
 14650  	// Key for Default Hardware Version to be used on this compute resource
 14651  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14652  	//
 14653  	// Setting this field affects
 14654  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14655  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14656  	// with this field unset.
 14657  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 14658  	// Desired software spec for the set of physical compute resources.
 14659  	//
 14660  	// This
 14661  	// parameter is only supported in vim.Folder#createClusterEx operation.
 14662  	DesiredSoftwareSpec *DesiredSoftwareSpec `xml:"desiredSoftwareSpec,omitempty" json:"desiredSoftwareSpec,omitempty"`
 14663  	// Key for Maximum Hardware Version to be used on this compute resource
 14664  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 14665  	//
 14666  	// Setting this field affects
 14667  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 14668  	// by `ComputeResource.environmentBrowser` of this object and all its children
 14669  	// with this field unset.
 14670  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 14671  	// Flag indicating whether or not the vLCM (vSphere Lifecycle Manager)
 14672  	// Config Manager feature is enabled on this compute resource.
 14673  	//
 14674  	// If the
 14675  	// flag is not set, the Config Manager feature will be disabled by
 14676  	// default. This parameter is only supported in `Folder.CreateClusterEx`
 14677  	// operation.
 14678  	EnableConfigManager *bool `xml:"enableConfigManager" json:"enableConfigManager,omitempty" vim:"7.0.3.1"`
 14679  	// Specification for the host seeding operation.
 14680  	HostSeedSpec *ComputeResourceHostSeedSpec `xml:"hostSeedSpec,omitempty" json:"hostSeedSpec,omitempty" vim:"8.0.3.0"`
 14681  }
 14682  
 14683  func init() {
 14684  	t["ComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem()
 14685  }
 14686  
 14687  // The event argument is a ComputeResource object.
 14688  type ComputeResourceEventArgument struct {
 14689  	EntityEventArgument
 14690  
 14691  	// The ComputeResource object.
 14692  	//
 14693  	// Refers instance of `ComputeResource`.
 14694  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 14695  }
 14696  
 14697  func init() {
 14698  	t["ComputeResourceEventArgument"] = reflect.TypeOf((*ComputeResourceEventArgument)(nil)).Elem()
 14699  }
 14700  
 14701  // The `ComputeResourceHostSPBMLicenseInfo` data object
 14702  // encapsulates the SPBM(Storage Policy Based Management) license
 14703  // information for a host.
 14704  type ComputeResourceHostSPBMLicenseInfo struct {
 14705  	DynamicData
 14706  
 14707  	// Refers instance of `HostSystem`.
 14708  	Host         ManagedObjectReference                                 `xml:"host" json:"host"`
 14709  	LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState" json:"licenseState"`
 14710  }
 14711  
 14712  func init() {
 14713  	t["ComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfo)(nil)).Elem()
 14714  }
 14715  
 14716  type ComputeResourceHostSeedSpec struct {
 14717  	DynamicData
 14718  
 14719  	// Specification for the seed host.
 14720  	SingleHostSpec ComputeResourceHostSeedSpecSingleHostSpec `xml:"singleHostSpec" json:"singleHostSpec"`
 14721  }
 14722  
 14723  func init() {
 14724  	t["ComputeResourceHostSeedSpec"] = reflect.TypeOf((*ComputeResourceHostSeedSpec)(nil)).Elem()
 14725  	minAPIVersionForType["ComputeResourceHostSeedSpec"] = "8.0.3.0"
 14726  }
 14727  
 14728  // This data object contains a specification for a single candidate host
 14729  // for the host seeding operation.
 14730  //
 14731  // If the candidate host is:
 14732  // \- A new host not managed by vCenter Server: A `HostConnectSpec`
 14733  // needs to be provided.
 14734  // \- A host managed by vCenter Server: A `HostSystem`
 14735  // needs to be provided.
 14736  type ComputeResourceHostSeedSpecSingleHostSpec struct {
 14737  	DynamicData
 14738  
 14739  	// Connection Spec for a new host.
 14740  	NewHostCnxSpec *HostConnectSpec `xml:"newHostCnxSpec,omitempty" json:"newHostCnxSpec,omitempty"`
 14741  	// Reference to an existing host.
 14742  	//
 14743  	// Refers instance of `HostSystem`.
 14744  	ExistingHost *ManagedObjectReference `xml:"existingHost,omitempty" json:"existingHost,omitempty"`
 14745  }
 14746  
 14747  func init() {
 14748  	t["ComputeResourceHostSeedSpecSingleHostSpec"] = reflect.TypeOf((*ComputeResourceHostSeedSpecSingleHostSpec)(nil)).Elem()
 14749  }
 14750  
 14751  // This data object type encapsulates a typical set of ComputeResource information
 14752  // that is useful for list views and summary pages.
 14753  type ComputeResourceSummary struct {
 14754  	DynamicData
 14755  
 14756  	// Aggregated CPU resources of all hosts, in MHz.
 14757  	TotalCpu int32 `xml:"totalCpu" json:"totalCpu"`
 14758  	// Aggregated memory resources of all hosts, in bytes.
 14759  	TotalMemory int64 `xml:"totalMemory" json:"totalMemory"`
 14760  	// Number of physical CPU cores.
 14761  	//
 14762  	// Physical CPU cores are the processors contained
 14763  	// by a CPU package.
 14764  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 14765  	// Aggregated number of CPU threads.
 14766  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 14767  	// Effective CPU resources (in MHz) available to run virtual machines.
 14768  	//
 14769  	// This is the
 14770  	// aggregated effective resource level from all running hosts. Hosts that are in
 14771  	// maintenance mode or are unresponsive are not counted. Resources used by the
 14772  	// VMware Service Console are not included in the aggregate. This value represents
 14773  	// the amount of resources available for the root resource pool for running
 14774  	// virtual machines.
 14775  	EffectiveCpu int32 `xml:"effectiveCpu" json:"effectiveCpu"`
 14776  	// Effective memory resources (in MB) available to run virtual machines.
 14777  	//
 14778  	// This is the aggregated effective resource level from all running hosts. Hosts
 14779  	// that are in maintenance mode or are unresponsive are not counted.
 14780  	// Resources used by the VMware Service Console are not included in the aggregate.
 14781  	// This value represents the amount of resources available for the root
 14782  	// resource pool for running virtual machines.
 14783  	EffectiveMemory int64 `xml:"effectiveMemory" json:"effectiveMemory"`
 14784  	// Total number of hosts.
 14785  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 14786  	// Total number of effective hosts.
 14787  	NumEffectiveHosts int32 `xml:"numEffectiveHosts" json:"numEffectiveHosts"`
 14788  	// Overall alarm status.
 14789  	//
 14790  	// In releases after vSphere API 5.0, vSphere Servers might not
 14791  	// generate property collector update notifications for this property.
 14792  	// To obtain the latest value of the property, you can use
 14793  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 14794  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 14795  	// an empty string for the version parameter.
 14796  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 14797  	// contain values for this property when some other property on the DataObject changes.
 14798  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 14799  	// version parameter, the value for this property may not be current.
 14800  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 14801  }
 14802  
 14803  func init() {
 14804  	t["ComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem()
 14805  }
 14806  
 14807  // A ConcurrentAccess fault is thrown when an operation
 14808  // fails because another operation has modified the
 14809  // datastructure.
 14810  //
 14811  // For non-transactional operations, such as a recursive
 14812  // delete of a subtree of the inventory, the operation might
 14813  // fail with ConcurrentAccess if another thread has added
 14814  // a new entity to the hierarchy.
 14815  type ConcurrentAccess struct {
 14816  	VimFault
 14817  }
 14818  
 14819  func init() {
 14820  	t["ConcurrentAccess"] = reflect.TypeOf((*ConcurrentAccess)(nil)).Elem()
 14821  }
 14822  
 14823  type ConcurrentAccessFault ConcurrentAccess
 14824  
 14825  func init() {
 14826  	t["ConcurrentAccessFault"] = reflect.TypeOf((*ConcurrentAccessFault)(nil)).Elem()
 14827  }
 14828  
 14829  // The ConfigTarget class contains information about "physical" devices that can
 14830  // be used to back virtual devices.
 14831  type ConfigTarget struct {
 14832  	DynamicData
 14833  
 14834  	// Number of logical CPUs that can be used to run virtual machines.
 14835  	//
 14836  	// If invoked against a cluster, this is the total number of logical CPUs
 14837  	// available in the cluster.
 14838  	NumCpus int32 `xml:"numCpus" json:"numCpus"`
 14839  	// Number of physical CPU cores that are available to run virtual machines.
 14840  	//
 14841  	// If invoked against a cluster, this is the total number of physical CPUs
 14842  	// available in the cluster.
 14843  	NumCpuCores int32 `xml:"numCpuCores" json:"numCpuCores"`
 14844  	// Number of NUMA nodes.
 14845  	//
 14846  	// If invoked against a cluster, this is the total number of NUMA nodes
 14847  	// available in the cluster.
 14848  	NumNumaNodes int32 `xml:"numNumaNodes" json:"numNumaNodes"`
 14849  	// Maximum number of CPUs available on a single host.
 14850  	//
 14851  	// For standalone hosts, this value will be the same as numCpus.
 14852  	MaxCpusPerHost int32 `xml:"maxCpusPerHost,omitempty" json:"maxCpusPerHost,omitempty"`
 14853  	// Presence of System Management Controller, indicates the host is
 14854  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 14855  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty"`
 14856  	// List of datastores available for virtual disks and associated storage.
 14857  	Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty" json:"datastore,omitempty"`
 14858  	// List of networks available for virtual network adapters.
 14859  	Network []VirtualMachineNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 14860  	// List of opaque networks available for virtual network adapters.
 14861  	OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 14862  	// List of networks available from DistributedVirtualSwitch for virtual
 14863  	// network adapters.
 14864  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 14865  	// List of distributed virtual switch available for virtual network
 14866  	// adapters.
 14867  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 14868  	// List of CD-ROM devices available for use by virtual CD-ROMs.
 14869  	//
 14870  	// Used for
 14871  	// `VirtualCdromAtapiBackingInfo`.
 14872  	CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty" json:"cdRom,omitempty"`
 14873  	// List of serial devices available to support virtualization.
 14874  	//
 14875  	// Used for
 14876  	// `VirtualSerialPortDeviceBackingInfo`.
 14877  	Serial []VirtualMachineSerialInfo `xml:"serial,omitempty" json:"serial,omitempty"`
 14878  	// List of parallel devices available to support virtualization.
 14879  	//
 14880  	// Used for
 14881  	// `VirtualParallelPortDeviceBackingInfo`.
 14882  	Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty" json:"parallel,omitempty"`
 14883  	// List of sound devices available to support virtualization.
 14884  	//
 14885  	// Used for
 14886  	// `VirtualSoundCardDeviceBackingInfo`.
 14887  	Sound []VirtualMachineSoundInfo `xml:"sound,omitempty" json:"sound,omitempty"`
 14888  	// List of USB devices on the host that are available to support
 14889  	// virtualization.
 14890  	//
 14891  	// Used for
 14892  	// `VirtualUSBUSBBackingInfo`.
 14893  	Usb []VirtualMachineUsbInfo `xml:"usb,omitempty" json:"usb,omitempty"`
 14894  	// List of floppy devices available for use by virtual floppies.
 14895  	//
 14896  	// Used for
 14897  	// `VirtualFloppyDeviceBackingInfo`.
 14898  	Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty" json:"floppy,omitempty"`
 14899  	// Legacy switch names when using the LegacyNetworkBacking types.
 14900  	LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty" json:"legacyNetworkInfo,omitempty"`
 14901  	// List of generic SCSI devices.
 14902  	ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty" json:"scsiPassthrough,omitempty"`
 14903  	// List of physical SCSI disks that can be used as targets for raw disk mapping
 14904  	// backings.
 14905  	ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty" json:"scsiDisk,omitempty"`
 14906  	// List of physical IDE disks that can be used as targets for raw disk backings.
 14907  	IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty" json:"ideDisk,omitempty"`
 14908  	// Maximum recommended memory size, in MB, for creating a new virtual machine.
 14909  	MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf" json:"maxMemMBOptimalPerf"`
 14910  	// Maximum supported memory size, in MB, for creating a new virtual machine.
 14911  	//
 14912  	// Maximum allowed size is smaller of this and limit in
 14913  	// `GuestOsDescriptor.supportedMaxMemMB`. When invoked on the
 14914  	// cluster, maximum size that can be created on at least one host
 14915  	// in the cluster is reported.
 14916  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB,omitempty" json:"supportedMaxMemMB,omitempty"`
 14917  	// Information about the current available resources on the current resource pool
 14918  	// for a virtual machine.
 14919  	//
 14920  	// This field is only populated from an Environment browser
 14921  	// obtained from a virtual machine.
 14922  	ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 14923  	// Information whether a virtual machine with this ConfigTarget can auto vmotion.
 14924  	//
 14925  	// This field is only populated from an Environment browser obtained from a
 14926  	// virtual machine.
 14927  	AutoVmotion *bool `xml:"autoVmotion" json:"autoVmotion,omitempty"`
 14928  	// List of generic PCI devices.
 14929  	PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr" json:"pciPassthrough,omitempty"`
 14930  	// List of SRIOV devices.
 14931  	Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty" json:"sriov,omitempty"`
 14932  	// List of vFlash modules.
 14933  	VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
 14934  	// List of shared GPU passthrough types.
 14935  	SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty" json:"sharedGpuPassthroughTypes,omitempty"`
 14936  	// Maximum available persistent memory reservation on a compute resource
 14937  	// in MB.
 14938  	AvailablePersistentMemoryReservationMB int64 `xml:"availablePersistentMemoryReservationMB,omitempty" json:"availablePersistentMemoryReservationMB,omitempty"`
 14939  	// List of Dynamic DirectPath PCI devices.
 14940  	DynamicPassthrough []VirtualMachineDynamicPassthroughInfo `xml:"dynamicPassthrough,omitempty" json:"dynamicPassthrough,omitempty"`
 14941  	// Intel SGX information.
 14942  	SgxTargetInfo *VirtualMachineSgxTargetInfo `xml:"sgxTargetInfo,omitempty" json:"sgxTargetInfo,omitempty"`
 14943  	// List of host clock resources available to support virtual precision
 14944  	// clock device.
 14945  	//
 14946  	// Used for
 14947  	// `VirtualPrecisionClockSystemClockBackingInfo`
 14948  	PrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"precisionClockInfo,omitempty" json:"precisionClockInfo,omitempty"`
 14949  	// Indicates whether the compute resource is capable of running AMD Secure
 14950  	// Encrypted Virtualization (SEV) enabled virtual machines.
 14951  	//
 14952  	// The compute
 14953  	// resource supports SEV when this value is set to true.
 14954  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 14955  	// List of vGPU device capabilities.
 14956  	VgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"vgpuDeviceInfo,omitempty" json:"vgpuDeviceInfo,omitempty" vim:"7.0.3.0"`
 14957  	// List of vGPU profile attributes.
 14958  	VgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"vgpuProfileInfo,omitempty" json:"vgpuProfileInfo,omitempty" vim:"7.0.3.0"`
 14959  	// List of PCI Vendor Device Groups.
 14960  	VendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"vendorDeviceGroupInfo,omitempty" json:"vendorDeviceGroupInfo,omitempty" vim:"8.0.0.1"`
 14961  	// Max SMT (Simultaneous multithreading) threads.
 14962  	MaxSimultaneousThreads int32 `xml:"maxSimultaneousThreads,omitempty" json:"maxSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 14963  	// List of Device Virtualization Extensions (DVX) classes.
 14964  	DvxClassInfo []VirtualMachineDvxClassInfo `xml:"dvxClassInfo,omitempty" json:"dvxClassInfo,omitempty" vim:"8.0.0.1"`
 14965  }
 14966  
 14967  func init() {
 14968  	t["ConfigTarget"] = reflect.TypeOf((*ConfigTarget)(nil)).Elem()
 14969  }
 14970  
 14971  type ConfigureCryptoKey ConfigureCryptoKeyRequestType
 14972  
 14973  func init() {
 14974  	t["ConfigureCryptoKey"] = reflect.TypeOf((*ConfigureCryptoKey)(nil)).Elem()
 14975  }
 14976  
 14977  // The parameters of `HostSystem.ConfigureCryptoKey`.
 14978  type ConfigureCryptoKeyRequestType struct {
 14979  	This ManagedObjectReference `xml:"_this" json:"-"`
 14980  	// The key to be used for coredump encryption. If unset, uses
 14981  	// existing host or cluster key or new key is generated from
 14982  	// the default KMIP server.
 14983  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 14984  }
 14985  
 14986  func init() {
 14987  	t["ConfigureCryptoKeyRequestType"] = reflect.TypeOf((*ConfigureCryptoKeyRequestType)(nil)).Elem()
 14988  }
 14989  
 14990  type ConfigureCryptoKeyResponse struct {
 14991  }
 14992  
 14993  // The parameters of `StorageResourceManager.ConfigureDatastoreIORM_Task`.
 14994  type ConfigureDatastoreIORMRequestType struct {
 14995  	This ManagedObjectReference `xml:"_this" json:"-"`
 14996  	// The datastore to be configured.
 14997  	//
 14998  	// Refers instance of `Datastore`.
 14999  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 15000  	// The configuration spec.
 15001  	Spec StorageIORMConfigSpec `xml:"spec" json:"spec"`
 15002  }
 15003  
 15004  func init() {
 15005  	t["ConfigureDatastoreIORMRequestType"] = reflect.TypeOf((*ConfigureDatastoreIORMRequestType)(nil)).Elem()
 15006  }
 15007  
 15008  type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType
 15009  
 15010  func init() {
 15011  	t["ConfigureDatastoreIORM_Task"] = reflect.TypeOf((*ConfigureDatastoreIORM_Task)(nil)).Elem()
 15012  }
 15013  
 15014  type ConfigureDatastoreIORM_TaskResponse struct {
 15015  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15016  }
 15017  
 15018  type ConfigureDatastorePrincipal ConfigureDatastorePrincipalRequestType
 15019  
 15020  func init() {
 15021  	t["ConfigureDatastorePrincipal"] = reflect.TypeOf((*ConfigureDatastorePrincipal)(nil)).Elem()
 15022  }
 15023  
 15024  // The parameters of `HostDatastoreSystem.ConfigureDatastorePrincipal`.
 15025  type ConfigureDatastorePrincipalRequestType struct {
 15026  	This ManagedObjectReference `xml:"_this" json:"-"`
 15027  	// Datastore principal user name.
 15028  	UserName string `xml:"userName" json:"userName"`
 15029  	// Optional password for systems that require password for
 15030  	// user impersonation.
 15031  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 15032  }
 15033  
 15034  func init() {
 15035  	t["ConfigureDatastorePrincipalRequestType"] = reflect.TypeOf((*ConfigureDatastorePrincipalRequestType)(nil)).Elem()
 15036  }
 15037  
 15038  type ConfigureDatastorePrincipalResponse struct {
 15039  }
 15040  
 15041  // The parameters of `ClusterEVCManager.ConfigureEvcMode_Task`.
 15042  type ConfigureEvcModeRequestType struct {
 15043  	This ManagedObjectReference `xml:"_this" json:"-"`
 15044  	// A key referencing the desired EVC mode.
 15045  	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
 15046  	// A key referencing the desired EVC Graphics
 15047  	// mode `Capability.supportedEVCGraphicsMode`.
 15048  	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 15049  }
 15050  
 15051  func init() {
 15052  	t["ConfigureEvcModeRequestType"] = reflect.TypeOf((*ConfigureEvcModeRequestType)(nil)).Elem()
 15053  }
 15054  
 15055  type ConfigureEvcMode_Task ConfigureEvcModeRequestType
 15056  
 15057  func init() {
 15058  	t["ConfigureEvcMode_Task"] = reflect.TypeOf((*ConfigureEvcMode_Task)(nil)).Elem()
 15059  }
 15060  
 15061  type ConfigureEvcMode_TaskResponse struct {
 15062  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15063  }
 15064  
 15065  // The parameters of `ClusterComputeResource.ConfigureHCI_Task`.
 15066  type ConfigureHCIRequestType struct {
 15067  	This ManagedObjectReference `xml:"_this" json:"-"`
 15068  	// Specification to configure the cluster,
 15069  	// see `ClusterComputeResourceHCIConfigSpec`
 15070  	// for details. The `DistributedVirtualSwitch` and
 15071  	// `DistributedVirtualPortgroup` objects contained
 15072  	// within the specification must be in the same datacenter as the
 15073  	// cluster. Specify `ClusterComputeResourceHCIConfigSpec.vSanConfigSpec` only when
 15074  	// vSan is enabled on the cluster.
 15075  	ClusterSpec ClusterComputeResourceHCIConfigSpec `xml:"clusterSpec" json:"clusterSpec"`
 15076  	// Inputs to configure each host in the cluster,
 15077  	// see `ClusterComputeResourceHostConfigurationInput`
 15078  	// for details. Hosts in this list should be part of the cluster and
 15079  	// should be in maintenance mode for them to be configured per
 15080  	// specification. If this parameter is not specified, the API
 15081  	// operates on all the hosts in the cluster. Hosts which were not
 15082  	// configured due to not being in maintenance
 15083  	// mode will be returned in `ClusterComputeResourceClusterConfigResult.failedHosts`.
 15084  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 15085  }
 15086  
 15087  func init() {
 15088  	t["ConfigureHCIRequestType"] = reflect.TypeOf((*ConfigureHCIRequestType)(nil)).Elem()
 15089  }
 15090  
 15091  type ConfigureHCI_Task ConfigureHCIRequestType
 15092  
 15093  func init() {
 15094  	t["ConfigureHCI_Task"] = reflect.TypeOf((*ConfigureHCI_Task)(nil)).Elem()
 15095  }
 15096  
 15097  type ConfigureHCI_TaskResponse struct {
 15098  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15099  }
 15100  
 15101  // The parameters of `HostCacheConfigurationManager.ConfigureHostCache_Task`.
 15102  type ConfigureHostCacheRequestType struct {
 15103  	This ManagedObjectReference `xml:"_this" json:"-"`
 15104  	// Specification for solid state drive cache configuration.
 15105  	Spec HostCacheConfigurationSpec `xml:"spec" json:"spec"`
 15106  }
 15107  
 15108  func init() {
 15109  	t["ConfigureHostCacheRequestType"] = reflect.TypeOf((*ConfigureHostCacheRequestType)(nil)).Elem()
 15110  }
 15111  
 15112  type ConfigureHostCache_Task ConfigureHostCacheRequestType
 15113  
 15114  func init() {
 15115  	t["ConfigureHostCache_Task"] = reflect.TypeOf((*ConfigureHostCache_Task)(nil)).Elem()
 15116  }
 15117  
 15118  type ConfigureHostCache_TaskResponse struct {
 15119  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15120  }
 15121  
 15122  type ConfigureLicenseSource ConfigureLicenseSourceRequestType
 15123  
 15124  func init() {
 15125  	t["ConfigureLicenseSource"] = reflect.TypeOf((*ConfigureLicenseSource)(nil)).Elem()
 15126  }
 15127  
 15128  // The parameters of `LicenseManager.ConfigureLicenseSource`.
 15129  type ConfigureLicenseSourceRequestType struct {
 15130  	This ManagedObjectReference `xml:"_this" json:"-"`
 15131  	// Host for which the license manager should be reconfigured.
 15132  	//
 15133  	// Refers instance of `HostSystem`.
 15134  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15135  	// ServedSource or LocalSource.
 15136  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 15137  }
 15138  
 15139  func init() {
 15140  	t["ConfigureLicenseSourceRequestType"] = reflect.TypeOf((*ConfigureLicenseSourceRequestType)(nil)).Elem()
 15141  }
 15142  
 15143  type ConfigureLicenseSourceResponse struct {
 15144  }
 15145  
 15146  type ConfigurePowerPolicy ConfigurePowerPolicyRequestType
 15147  
 15148  func init() {
 15149  	t["ConfigurePowerPolicy"] = reflect.TypeOf((*ConfigurePowerPolicy)(nil)).Elem()
 15150  }
 15151  
 15152  // The parameters of `HostPowerSystem.ConfigurePowerPolicy`.
 15153  type ConfigurePowerPolicyRequestType struct {
 15154  	This ManagedObjectReference `xml:"_this" json:"-"`
 15155  	// A key from one of the policies in
 15156  	// `PowerSystemCapability.availablePolicy`.
 15157  	Key int32 `xml:"key" json:"key"`
 15158  }
 15159  
 15160  func init() {
 15161  	t["ConfigurePowerPolicyRequestType"] = reflect.TypeOf((*ConfigurePowerPolicyRequestType)(nil)).Elem()
 15162  }
 15163  
 15164  type ConfigurePowerPolicyResponse struct {
 15165  }
 15166  
 15167  // The parameters of `StorageResourceManager.ConfigureStorageDrsForPod_Task`.
 15168  type ConfigureStorageDrsForPodRequestType struct {
 15169  	This ManagedObjectReference `xml:"_this" json:"-"`
 15170  	// The storage pod.
 15171  	//
 15172  	// Required privileges: StoragePod.Config
 15173  	//
 15174  	// Refers instance of `StoragePod`.
 15175  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 15176  	// A set of storage Drs configuration changes to apply to the storage pod.
 15177  	// The specification can be a complete set of changes or a partial
 15178  	// set of changes, applied incrementally.
 15179  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 15180  	// Flag to specify whether the specification ("spec") should
 15181  	// be applied incrementally. If "modify" is false and the
 15182  	// operation succeeds, then the configuration of the storage pod
 15183  	// matches the specification exactly; in this case any unset
 15184  	// portions of the specification will result in unset or
 15185  	// default portions of the configuration.
 15186  	Modify bool `xml:"modify" json:"modify"`
 15187  }
 15188  
 15189  func init() {
 15190  	t["ConfigureStorageDrsForPodRequestType"] = reflect.TypeOf((*ConfigureStorageDrsForPodRequestType)(nil)).Elem()
 15191  }
 15192  
 15193  type ConfigureStorageDrsForPod_Task ConfigureStorageDrsForPodRequestType
 15194  
 15195  func init() {
 15196  	t["ConfigureStorageDrsForPod_Task"] = reflect.TypeOf((*ConfigureStorageDrsForPod_Task)(nil)).Elem()
 15197  }
 15198  
 15199  type ConfigureStorageDrsForPod_TaskResponse struct {
 15200  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15201  }
 15202  
 15203  // The parameters of `HostVFlashManager.ConfigureVFlashResourceEx_Task`.
 15204  type ConfigureVFlashResourceExRequestType struct {
 15205  	This ManagedObjectReference `xml:"_this" json:"-"`
 15206  	// An array of device path names that identify disks.
 15207  	// See `ScsiDisk`.
 15208  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 15209  }
 15210  
 15211  func init() {
 15212  	t["ConfigureVFlashResourceExRequestType"] = reflect.TypeOf((*ConfigureVFlashResourceExRequestType)(nil)).Elem()
 15213  }
 15214  
 15215  type ConfigureVFlashResourceEx_Task ConfigureVFlashResourceExRequestType
 15216  
 15217  func init() {
 15218  	t["ConfigureVFlashResourceEx_Task"] = reflect.TypeOf((*ConfigureVFlashResourceEx_Task)(nil)).Elem()
 15219  }
 15220  
 15221  type ConfigureVFlashResourceEx_TaskResponse struct {
 15222  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15223  }
 15224  
 15225  // Thrown if the configurations of the objects are in conflict.
 15226  type ConflictingConfiguration struct {
 15227  	DvsFault
 15228  
 15229  	// The configurations that are in conflict.
 15230  	ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict" json:"configInConflict"`
 15231  }
 15232  
 15233  func init() {
 15234  	t["ConflictingConfiguration"] = reflect.TypeOf((*ConflictingConfiguration)(nil)).Elem()
 15235  }
 15236  
 15237  // This class defines the configuration that is in conflict.
 15238  type ConflictingConfigurationConfig struct {
 15239  	DynamicData
 15240  
 15241  	// The entity on which the configuration is in conflict.
 15242  	//
 15243  	// Refers instance of `ManagedEntity`.
 15244  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 15245  	// The property paths that are in conflict.
 15246  	PropertyPath string `xml:"propertyPath" json:"propertyPath"`
 15247  }
 15248  
 15249  func init() {
 15250  	t["ConflictingConfigurationConfig"] = reflect.TypeOf((*ConflictingConfigurationConfig)(nil)).Elem()
 15251  }
 15252  
 15253  type ConflictingConfigurationFault ConflictingConfiguration
 15254  
 15255  func init() {
 15256  	t["ConflictingConfigurationFault"] = reflect.TypeOf((*ConflictingConfigurationFault)(nil)).Elem()
 15257  }
 15258  
 15259  // ConflictingDatastoreFound is thrown when the conflicting datastores
 15260  // with the same url but backed by different disks are found in the host
 15261  // and the target datacenter.
 15262  type ConflictingDatastoreFound struct {
 15263  	RuntimeFault
 15264  
 15265  	// The name of the datastore.
 15266  	Name string `xml:"name" json:"name"`
 15267  	// The unique locator for the datastore.
 15268  	Url string `xml:"url" json:"url"`
 15269  }
 15270  
 15271  func init() {
 15272  	t["ConflictingDatastoreFound"] = reflect.TypeOf((*ConflictingDatastoreFound)(nil)).Elem()
 15273  }
 15274  
 15275  type ConflictingDatastoreFoundFault ConflictingDatastoreFound
 15276  
 15277  func init() {
 15278  	t["ConflictingDatastoreFoundFault"] = reflect.TypeOf((*ConflictingDatastoreFoundFault)(nil)).Elem()
 15279  }
 15280  
 15281  type ConnectNvmeController ConnectNvmeControllerRequestType
 15282  
 15283  func init() {
 15284  	t["ConnectNvmeController"] = reflect.TypeOf((*ConnectNvmeController)(nil)).Elem()
 15285  }
 15286  
 15287  // The parameters of `HostStorageSystem.ConnectNvmeControllerEx_Task`.
 15288  type ConnectNvmeControllerExRequestType struct {
 15289  	This ManagedObjectReference `xml:"_this" json:"-"`
 15290  	// A list of data objects, each specifying the parameters
 15291  	// necessary to connect to an NVMe controller.
 15292  	ConnectSpec []HostNvmeConnectSpec `xml:"connectSpec,omitempty" json:"connectSpec,omitempty"`
 15293  }
 15294  
 15295  func init() {
 15296  	t["ConnectNvmeControllerExRequestType"] = reflect.TypeOf((*ConnectNvmeControllerExRequestType)(nil)).Elem()
 15297  	minAPIVersionForType["ConnectNvmeControllerExRequestType"] = "7.0.3.0"
 15298  }
 15299  
 15300  type ConnectNvmeControllerEx_Task ConnectNvmeControllerExRequestType
 15301  
 15302  func init() {
 15303  	t["ConnectNvmeControllerEx_Task"] = reflect.TypeOf((*ConnectNvmeControllerEx_Task)(nil)).Elem()
 15304  }
 15305  
 15306  type ConnectNvmeControllerEx_TaskResponse struct {
 15307  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15308  }
 15309  
 15310  // The parameters of `HostStorageSystem.ConnectNvmeController`.
 15311  type ConnectNvmeControllerRequestType struct {
 15312  	This ManagedObjectReference `xml:"_this" json:"-"`
 15313  	// A data object that specifies the parameters
 15314  	// necessary to connect to the controller.
 15315  	ConnectSpec HostNvmeConnectSpec `xml:"connectSpec" json:"connectSpec"`
 15316  }
 15317  
 15318  func init() {
 15319  	t["ConnectNvmeControllerRequestType"] = reflect.TypeOf((*ConnectNvmeControllerRequestType)(nil)).Elem()
 15320  }
 15321  
 15322  type ConnectNvmeControllerResponse struct {
 15323  }
 15324  
 15325  type ConnectedIso struct {
 15326  	OvfExport
 15327  
 15328  	// The CD-ROM drive that caused the event.
 15329  	Cdrom VirtualCdrom `xml:"cdrom" json:"cdrom"`
 15330  	// The filename of the ISO
 15331  	Filename string `xml:"filename" json:"filename"`
 15332  }
 15333  
 15334  func init() {
 15335  	t["ConnectedIso"] = reflect.TypeOf((*ConnectedIso)(nil)).Elem()
 15336  }
 15337  
 15338  type ConnectedIsoFault ConnectedIso
 15339  
 15340  func init() {
 15341  	t["ConnectedIsoFault"] = reflect.TypeOf((*ConnectedIsoFault)(nil)).Elem()
 15342  }
 15343  
 15344  type ConsolidateVMDisksRequestType struct {
 15345  	This ManagedObjectReference `xml:"_this" json:"-"`
 15346  }
 15347  
 15348  func init() {
 15349  	t["ConsolidateVMDisksRequestType"] = reflect.TypeOf((*ConsolidateVMDisksRequestType)(nil)).Elem()
 15350  }
 15351  
 15352  type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType
 15353  
 15354  func init() {
 15355  	t["ConsolidateVMDisks_Task"] = reflect.TypeOf((*ConsolidateVMDisks_Task)(nil)).Elem()
 15356  }
 15357  
 15358  type ConsolidateVMDisks_TaskResponse struct {
 15359  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15360  }
 15361  
 15362  type ContinueRetrievePropertiesEx ContinueRetrievePropertiesExRequestType
 15363  
 15364  func init() {
 15365  	t["ContinueRetrievePropertiesEx"] = reflect.TypeOf((*ContinueRetrievePropertiesEx)(nil)).Elem()
 15366  }
 15367  
 15368  // The parameters of `PropertyCollector.ContinueRetrievePropertiesEx`.
 15369  type ContinueRetrievePropertiesExRequestType struct {
 15370  	This ManagedObjectReference `xml:"_this" json:"-"`
 15371  	// the token returned in the previous `RetrieveResult` returned on the same session by the
 15372  	// same `PropertyCollector`.
 15373  	Token string `xml:"token" json:"token"`
 15374  }
 15375  
 15376  func init() {
 15377  	t["ContinueRetrievePropertiesExRequestType"] = reflect.TypeOf((*ContinueRetrievePropertiesExRequestType)(nil)).Elem()
 15378  }
 15379  
 15380  type ContinueRetrievePropertiesExResponse struct {
 15381  	Returnval RetrieveResult `xml:"returnval" json:"returnval"`
 15382  }
 15383  
 15384  type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType
 15385  
 15386  func init() {
 15387  	t["ConvertNamespacePathToUuidPath"] = reflect.TypeOf((*ConvertNamespacePathToUuidPath)(nil)).Elem()
 15388  }
 15389  
 15390  // The parameters of `DatastoreNamespaceManager.ConvertNamespacePathToUuidPath`.
 15391  type ConvertNamespacePathToUuidPathRequestType struct {
 15392  	This ManagedObjectReference `xml:"_this" json:"-"`
 15393  	// The datacenter of the namespace path. Needs to be set
 15394  	// when making the call to VC; ignored when the call is
 15395  	// made to ESX.
 15396  	//
 15397  	// Refers instance of `Datacenter`.
 15398  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 15399  	// Namesapce URL of the form
 15400  	// > \[ds://\]/vmfs/volumes/\[_datastore-uuid_\]/\[_directory-name_\]/...
 15401  	// >
 15402  	NamespaceUrl string `xml:"namespaceUrl" json:"namespaceUrl"`
 15403  }
 15404  
 15405  func init() {
 15406  	t["ConvertNamespacePathToUuidPathRequestType"] = reflect.TypeOf((*ConvertNamespacePathToUuidPathRequestType)(nil)).Elem()
 15407  }
 15408  
 15409  type ConvertNamespacePathToUuidPathResponse struct {
 15410  	Returnval string `xml:"returnval" json:"returnval"`
 15411  }
 15412  
 15413  // The parameters of `FileManager.CopyDatastoreFile_Task`.
 15414  type CopyDatastoreFileRequestType struct {
 15415  	This ManagedObjectReference `xml:"_this" json:"-"`
 15416  	// The name of the source, either a URL or a
 15417  	// datastore path referring to the file or folder to be copied.
 15418  	SourceName string `xml:"sourceName" json:"sourceName"`
 15419  	// If <code>sourceName</code> is a datastore path, the
 15420  	// datacenter for that datastore path.
 15421  	// Not needed when invoked directly on ESX.
 15422  	// If not specified on a call to VirtualCenter,
 15423  	// <code>sourceName</code> must be a URL.
 15424  	//
 15425  	// Required privileges: System.View
 15426  	//
 15427  	// Refers instance of `Datacenter`.
 15428  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15429  	// The name of the destination, either a
 15430  	// URL or a datastore path referring to the destination file
 15431  	// or folder.
 15432  	DestinationName string `xml:"destinationName" json:"destinationName"`
 15433  	// If <code>destinationName</code> is a datastore
 15434  	// path, the datacenter for that datastore path.
 15435  	// Not needed when invoked directly on ESX.
 15436  	// If not specified on a call to VirtualCenter, it is assumed that
 15437  	// the destination path belongs to the source datacenter.
 15438  	//
 15439  	// Required privileges: System.View
 15440  	//
 15441  	// Refers instance of `Datacenter`.
 15442  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 15443  	// If true, overwrite any identically named file
 15444  	// at the destination. If not specified, it is assumed to be false.
 15445  	Force *bool `xml:"force" json:"force,omitempty"`
 15446  }
 15447  
 15448  func init() {
 15449  	t["CopyDatastoreFileRequestType"] = reflect.TypeOf((*CopyDatastoreFileRequestType)(nil)).Elem()
 15450  }
 15451  
 15452  type CopyDatastoreFile_Task CopyDatastoreFileRequestType
 15453  
 15454  func init() {
 15455  	t["CopyDatastoreFile_Task"] = reflect.TypeOf((*CopyDatastoreFile_Task)(nil)).Elem()
 15456  }
 15457  
 15458  type CopyDatastoreFile_TaskResponse struct {
 15459  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15460  }
 15461  
 15462  // The parameters of `VirtualDiskManager.CopyVirtualDisk_Task`.
 15463  type CopyVirtualDiskRequestType struct {
 15464  	This ManagedObjectReference `xml:"_this" json:"-"`
 15465  	// The name of the source, either a datastore path
 15466  	// or a URL referring to the virtual disk to be copied.
 15467  	SourceName string `xml:"sourceName" json:"sourceName"`
 15468  	// If <code>sourceName</code> is a datastore path, the
 15469  	// datacenter for that datastore path.
 15470  	// Not needed when invoked directly on ESX.
 15471  	// If not specified on a call to VirtualCenter,
 15472  	// <code>sourceName</code> must be a URL.
 15473  	//
 15474  	// Refers instance of `Datacenter`.
 15475  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 15476  	// The name of the destination, either a datastore path
 15477  	// or a URL referring to the virtual disk to be created.
 15478  	DestName string `xml:"destName" json:"destName"`
 15479  	// If <code>destName</code> is a datastore
 15480  	// path, the datacenter for that datastore path.
 15481  	// Not needed when invoked directly on ESX.
 15482  	// If not specified on a call to VirtualCenter, it is assumed that
 15483  	// the destination path belongs to the source datacenter.
 15484  	//
 15485  	// Refers instance of `Datacenter`.
 15486  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 15487  	// The specification of the virtual disk to be created.
 15488  	// If not specified, a preallocated format and busLogic adapter type is assumed.
 15489  	DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr" json:"destSpec,omitempty"`
 15490  	// The force flag is currently ignored. The FileAlreadyExists fault is thrown if
 15491  	// the destination file already exists.
 15492  	Force *bool `xml:"force" json:"force,omitempty"`
 15493  }
 15494  
 15495  func init() {
 15496  	t["CopyVirtualDiskRequestType"] = reflect.TypeOf((*CopyVirtualDiskRequestType)(nil)).Elem()
 15497  }
 15498  
 15499  type CopyVirtualDisk_Task CopyVirtualDiskRequestType
 15500  
 15501  func init() {
 15502  	t["CopyVirtualDisk_Task"] = reflect.TypeOf((*CopyVirtualDisk_Task)(nil)).Elem()
 15503  }
 15504  
 15505  type CopyVirtualDisk_TaskResponse struct {
 15506  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15507  }
 15508  
 15509  // Deprecated as of VI API 2.5, use `CpuIncompatible` and its other subclasses,
 15510  // not this one.
 15511  //
 15512  // Compatibility between the virtual machine's host and its CPU
 15513  // feature requirements cannot be determined, because not enough information
 15514  // is available about the CPU features of the host.
 15515  type CpuCompatibilityUnknown struct {
 15516  	CpuIncompatible
 15517  }
 15518  
 15519  func init() {
 15520  	t["CpuCompatibilityUnknown"] = reflect.TypeOf((*CpuCompatibilityUnknown)(nil)).Elem()
 15521  }
 15522  
 15523  type CpuCompatibilityUnknownFault CpuCompatibilityUnknown
 15524  
 15525  func init() {
 15526  	t["CpuCompatibilityUnknownFault"] = reflect.TypeOf((*CpuCompatibilityUnknownFault)(nil)).Elem()
 15527  }
 15528  
 15529  // Thrown when virtual CPUs cannot be hot-added or hot-removed from
 15530  // the virtual machine.
 15531  type CpuHotPlugNotSupported struct {
 15532  	VmConfigFault
 15533  }
 15534  
 15535  func init() {
 15536  	t["CpuHotPlugNotSupported"] = reflect.TypeOf((*CpuHotPlugNotSupported)(nil)).Elem()
 15537  }
 15538  
 15539  type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported
 15540  
 15541  func init() {
 15542  	t["CpuHotPlugNotSupportedFault"] = reflect.TypeOf((*CpuHotPlugNotSupportedFault)(nil)).Elem()
 15543  }
 15544  
 15545  // Deprecated as of vSphere API 6.5 use
 15546  // `FeatureRequirementsNotMet`.
 15547  //
 15548  // The host is not compatible with the CPU feature requirements of the
 15549  // virtual machine, for a particular CPUID register.
 15550  //
 15551  // A subclass of this fault
 15552  // may be used to express the incompatibilities in a more easily
 15553  // understandable format.
 15554  type CpuIncompatible struct {
 15555  	VirtualHardwareCompatibilityIssue
 15556  
 15557  	// The CpuIdInfo level where a problem was detected.
 15558  	//
 15559  	// Other levels may
 15560  	// also have problems.
 15561  	Level int32 `xml:"level" json:"level"`
 15562  	// The CpuIdInfo register where a problem was detected.
 15563  	//
 15564  	// Other registers
 15565  	// may also have problems. Possible register names are eax, ebx, ecx, or edx.
 15566  	RegisterName string `xml:"registerName" json:"registerName"`
 15567  	// The contents of the register on the target host, in CpuIdInfo register
 15568  	// format.
 15569  	//
 15570  	// The '-' character indicates an unknown value.
 15571  	RegisterBits string `xml:"registerBits,omitempty" json:"registerBits,omitempty"`
 15572  	// The desired values for the register's bits.
 15573  	//
 15574  	// The 'x' character indicates
 15575  	// don't-care.
 15576  	DesiredBits string `xml:"desiredBits,omitempty" json:"desiredBits,omitempty"`
 15577  	// The host that is not compatible with the requirements.
 15578  	//
 15579  	// Refers instance of `HostSystem`.
 15580  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15581  }
 15582  
 15583  func init() {
 15584  	t["CpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem()
 15585  }
 15586  
 15587  // Deprecated as of vSphere API 6.5 use
 15588  // `FeatureRequirementsNotMet`.
 15589  //
 15590  // Convenience subclass for calling out some named features among the
 15591  // incompatibilities found in CPUID level 1 register ecx.
 15592  type CpuIncompatible1ECX struct {
 15593  	CpuIncompatible
 15594  
 15595  	// Flag to indicate bit 0 is incompatible.
 15596  	Sse3 bool `xml:"sse3" json:"sse3"`
 15597  	// Flag to indicate bit 1 is incompatible.
 15598  	Pclmulqdq *bool `xml:"pclmulqdq" json:"pclmulqdq,omitempty"`
 15599  	// Flag to indicate bit 9 is incompatible.
 15600  	Ssse3 bool `xml:"ssse3" json:"ssse3"`
 15601  	// Flag to indicate bit 19 is incompatible.
 15602  	Sse41 bool `xml:"sse41" json:"sse41"`
 15603  	// Flag to indicate bit 20 is incompatible.
 15604  	Sse42 bool `xml:"sse42" json:"sse42"`
 15605  	// Flag to indicate bit 25 is incompatible.
 15606  	Aes *bool `xml:"aes" json:"aes,omitempty"`
 15607  	// Flag to indicate that bits other than 0/1/9/19/20/25 are incompatible.
 15608  	//
 15609  	// I.e. the detected incompatibilities cannot be completely described by
 15610  	// the sse3, pclmulqdq, ssse3, sse41, sse42, and/or aes flags.
 15611  	Other bool `xml:"other" json:"other"`
 15612  	// Flag to indicate that the sse3, pclmulqdq, ssse3, sse41, sse42, and aes
 15613  	// flags are all false, and the "other" flag is true.
 15614  	//
 15615  	// Purely a convenience
 15616  	// property for the client processing this fault.
 15617  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15618  }
 15619  
 15620  func init() {
 15621  	t["CpuIncompatible1ECX"] = reflect.TypeOf((*CpuIncompatible1ECX)(nil)).Elem()
 15622  }
 15623  
 15624  type CpuIncompatible1ECXFault CpuIncompatible1ECX
 15625  
 15626  func init() {
 15627  	t["CpuIncompatible1ECXFault"] = reflect.TypeOf((*CpuIncompatible1ECXFault)(nil)).Elem()
 15628  }
 15629  
 15630  // Deprecated as of vSphere API 6.5 use
 15631  // `FeatureRequirementsNotMet`.
 15632  //
 15633  // Convenience subclass for calling out some named features among the
 15634  // incompatibilities found in CPUID level 0x80000001 register edx.
 15635  type CpuIncompatible81EDX struct {
 15636  	CpuIncompatible
 15637  
 15638  	// Flag to indicate bit 20 is incompatible.
 15639  	Nx bool `xml:"nx" json:"nx"`
 15640  	// Flag to indicate bit 25 is incompatible.
 15641  	Ffxsr bool `xml:"ffxsr" json:"ffxsr"`
 15642  	// Flag to indicate bit 27 is incompatible.
 15643  	Rdtscp bool `xml:"rdtscp" json:"rdtscp"`
 15644  	// Flag to indicate bit 29 is incompatible.
 15645  	Lm bool `xml:"lm" json:"lm"`
 15646  	// Flag to indicate that bits other than 20/25/27/29 are incompatible.
 15647  	//
 15648  	// I.e. the detected incompatibilities cannot be completely described by
 15649  	// the nx, ffxsr, rdtscp, and/or lm flags.
 15650  	Other bool `xml:"other" json:"other"`
 15651  	// Flag to indicate that the nx, ffxsr, rdtscp, and lm flags are all false,
 15652  	// and the "other" flag is true.
 15653  	//
 15654  	// Purely a convenience property for the
 15655  	// client processing this fault.
 15656  	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
 15657  }
 15658  
 15659  func init() {
 15660  	t["CpuIncompatible81EDX"] = reflect.TypeOf((*CpuIncompatible81EDX)(nil)).Elem()
 15661  }
 15662  
 15663  type CpuIncompatible81EDXFault CpuIncompatible81EDX
 15664  
 15665  func init() {
 15666  	t["CpuIncompatible81EDXFault"] = reflect.TypeOf((*CpuIncompatible81EDXFault)(nil)).Elem()
 15667  }
 15668  
 15669  type CpuIncompatibleFault BaseCpuIncompatible
 15670  
 15671  func init() {
 15672  	t["CpuIncompatibleFault"] = reflect.TypeOf((*CpuIncompatibleFault)(nil)).Elem()
 15673  }
 15674  
 15675  type CreateAlarm CreateAlarmRequestType
 15676  
 15677  func init() {
 15678  	t["CreateAlarm"] = reflect.TypeOf((*CreateAlarm)(nil)).Elem()
 15679  }
 15680  
 15681  // The parameters of `AlarmManager.CreateAlarm`.
 15682  type CreateAlarmRequestType struct {
 15683  	This ManagedObjectReference `xml:"_this" json:"-"`
 15684  	// The entity with which the alarm is associated.
 15685  	//
 15686  	// Required privileges: Alarm.Create
 15687  	//
 15688  	// Refers instance of `ManagedEntity`.
 15689  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 15690  	// The specification for the new alarm.
 15691  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 15692  }
 15693  
 15694  func init() {
 15695  	t["CreateAlarmRequestType"] = reflect.TypeOf((*CreateAlarmRequestType)(nil)).Elem()
 15696  }
 15697  
 15698  type CreateAlarmResponse struct {
 15699  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15700  }
 15701  
 15702  // The parameters of `ResourcePool.CreateChildVM_Task`.
 15703  type CreateChildVMRequestType struct {
 15704  	This ManagedObjectReference `xml:"_this" json:"-"`
 15705  	// The configuration of the virtual machine hardware.
 15706  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 15707  	// The target host on which the virtual machine will run. This must
 15708  	// specify a host that is a member of the ComputeResource indirectly
 15709  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 15710  	// host can be omitted, and the system selects a default.
 15711  	//
 15712  	// Refers instance of `HostSystem`.
 15713  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 15714  }
 15715  
 15716  func init() {
 15717  	t["CreateChildVMRequestType"] = reflect.TypeOf((*CreateChildVMRequestType)(nil)).Elem()
 15718  }
 15719  
 15720  type CreateChildVM_Task CreateChildVMRequestType
 15721  
 15722  func init() {
 15723  	t["CreateChildVM_Task"] = reflect.TypeOf((*CreateChildVM_Task)(nil)).Elem()
 15724  }
 15725  
 15726  type CreateChildVM_TaskResponse struct {
 15727  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15728  }
 15729  
 15730  type CreateCluster CreateClusterRequestType
 15731  
 15732  func init() {
 15733  	t["CreateCluster"] = reflect.TypeOf((*CreateCluster)(nil)).Elem()
 15734  }
 15735  
 15736  type CreateClusterEx CreateClusterExRequestType
 15737  
 15738  func init() {
 15739  	t["CreateClusterEx"] = reflect.TypeOf((*CreateClusterEx)(nil)).Elem()
 15740  }
 15741  
 15742  // The parameters of `Folder.CreateClusterEx`.
 15743  type CreateClusterExRequestType struct {
 15744  	This ManagedObjectReference `xml:"_this" json:"-"`
 15745  	// Name for the new cluster.
 15746  	Name string `xml:"name" json:"name"`
 15747  	// Specification for the cluster.
 15748  	Spec ClusterConfigSpecEx `xml:"spec" json:"spec"`
 15749  }
 15750  
 15751  func init() {
 15752  	t["CreateClusterExRequestType"] = reflect.TypeOf((*CreateClusterExRequestType)(nil)).Elem()
 15753  }
 15754  
 15755  type CreateClusterExResponse struct {
 15756  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15757  }
 15758  
 15759  // The parameters of `Folder.CreateCluster`.
 15760  type CreateClusterRequestType struct {
 15761  	This ManagedObjectReference `xml:"_this" json:"-"`
 15762  	// Name for the new cluster.
 15763  	Name string `xml:"name" json:"name"`
 15764  	// Specification for the cluster.
 15765  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 15766  }
 15767  
 15768  func init() {
 15769  	t["CreateClusterRequestType"] = reflect.TypeOf((*CreateClusterRequestType)(nil)).Elem()
 15770  }
 15771  
 15772  type CreateClusterResponse struct {
 15773  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15774  }
 15775  
 15776  type CreateCollectorForEvents CreateCollectorForEventsRequestType
 15777  
 15778  func init() {
 15779  	t["CreateCollectorForEvents"] = reflect.TypeOf((*CreateCollectorForEvents)(nil)).Elem()
 15780  }
 15781  
 15782  // The parameters of `EventManager.CreateCollectorForEvents`.
 15783  type CreateCollectorForEventsRequestType struct {
 15784  	This ManagedObjectReference `xml:"_this" json:"-"`
 15785  	// The event query filter.
 15786  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 15787  }
 15788  
 15789  func init() {
 15790  	t["CreateCollectorForEventsRequestType"] = reflect.TypeOf((*CreateCollectorForEventsRequestType)(nil)).Elem()
 15791  }
 15792  
 15793  type CreateCollectorForEventsResponse struct {
 15794  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15795  }
 15796  
 15797  type CreateCollectorForTasks CreateCollectorForTasksRequestType
 15798  
 15799  func init() {
 15800  	t["CreateCollectorForTasks"] = reflect.TypeOf((*CreateCollectorForTasks)(nil)).Elem()
 15801  }
 15802  
 15803  // The parameters of `TaskManager.CreateCollectorForTasks`.
 15804  type CreateCollectorForTasksRequestType struct {
 15805  	This ManagedObjectReference `xml:"_this" json:"-"`
 15806  	// The specification for the task query filter.
 15807  	Filter TaskFilterSpec `xml:"filter" json:"filter"`
 15808  }
 15809  
 15810  func init() {
 15811  	t["CreateCollectorForTasksRequestType"] = reflect.TypeOf((*CreateCollectorForTasksRequestType)(nil)).Elem()
 15812  }
 15813  
 15814  type CreateCollectorForTasksResponse struct {
 15815  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15816  }
 15817  
 15818  type CreateCollectorWithInfoFilterForTasks CreateCollectorWithInfoFilterForTasksRequestType
 15819  
 15820  func init() {
 15821  	t["CreateCollectorWithInfoFilterForTasks"] = reflect.TypeOf((*CreateCollectorWithInfoFilterForTasks)(nil)).Elem()
 15822  }
 15823  
 15824  // The parameters of `TaskManager.CreateCollectorWithInfoFilterForTasks`.
 15825  type CreateCollectorWithInfoFilterForTasksRequestType struct {
 15826  	This ManagedObjectReference `xml:"_this" json:"-"`
 15827  	// The specification for the task query filter.
 15828  	Filter TaskFilterSpec `xml:"filter" json:"filter"`
 15829  	// The specification for the task info filter.
 15830  	InfoFilter *TaskInfoFilterSpec `xml:"infoFilter,omitempty" json:"infoFilter,omitempty"`
 15831  }
 15832  
 15833  func init() {
 15834  	t["CreateCollectorWithInfoFilterForTasksRequestType"] = reflect.TypeOf((*CreateCollectorWithInfoFilterForTasksRequestType)(nil)).Elem()
 15835  	minAPIVersionForType["CreateCollectorWithInfoFilterForTasksRequestType"] = "8.0.3.0"
 15836  }
 15837  
 15838  type CreateCollectorWithInfoFilterForTasksResponse struct {
 15839  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15840  }
 15841  
 15842  type CreateContainerView CreateContainerViewRequestType
 15843  
 15844  func init() {
 15845  	t["CreateContainerView"] = reflect.TypeOf((*CreateContainerView)(nil)).Elem()
 15846  }
 15847  
 15848  // The parameters of `ViewManager.CreateContainerView`.
 15849  type CreateContainerViewRequestType struct {
 15850  	This ManagedObjectReference `xml:"_this" json:"-"`
 15851  	// A reference to an instance of a `Folder`,
 15852  	// `Datacenter`, `ComputeResource`,
 15853  	// `ResourcePool`, or `HostSystem` object.
 15854  	//
 15855  	// Required privileges: System.View
 15856  	//
 15857  	// Refers instance of `ManagedEntity`.
 15858  	Container ManagedObjectReference `xml:"container" json:"container"`
 15859  	// An optional list of managed entity types. The server
 15860  	// associates only objects of the specified type(s) with the view.
 15861  	// If you specify an empty array, the server uses all types.
 15862  	Type []string `xml:"type,omitempty" json:"type,omitempty"`
 15863  	// Whether to include only the immediate children of the
 15864  	// container instance, or to include additional objects by
 15865  	// following paths beyond the immediate children.
 15866  	//
 15867  	// When recursive is false, the list of objects contains
 15868  	// only immediate children.
 15869  	// When recursive is true, the server populates the list
 15870  	// by following references beyond the immediate children
 15871  	// (using a child's references, and then references in the
 15872  	// resulting objects, and so on).
 15873  	//
 15874  	// Depending on the container type, the server will use the following
 15875  	// properties of the container instance to obtain objects for the
 15876  	// view's object list:
 15877  	//   - `Folder` object - `Folder.childEntity`
 15878  	//     property.
 15879  	//     If recursive is false, the container list includes the reference
 15880  	//     to the child entity in the folder instance.
 15881  	//     If recursive is true, the server will follow the child
 15882  	//     folder path(s) to collect additional childEntity references.
 15883  	//   - `ResourcePool` object - `ResourcePool.vm`
 15884  	//     and `ResourcePool.resourcePool` properties.
 15885  	//     If recursive is false, the object list will contain references
 15886  	//     to the virtual machines associated with this resource pool,
 15887  	//     and references to virtual machines associated with the
 15888  	//     immediate child resource pools. If recursive is true,
 15889  	//     the server will follow all child resource pool paths
 15890  	//     extending from the immediate children (and their children,
 15891  	//     and so on) to collect additional references to virtual machines.
 15892  	//   - `ComputeResource` object - `ComputeResource.host`
 15893  	//     and `ComputeResource.resourcePool` properties.
 15894  	//     If recursive is false, the object list will contain references
 15895  	//     to the host systems associated with this compute resource,
 15896  	//     references to virtual machines associated with the
 15897  	//     host systems, and references to virtual machines associated
 15898  	//     with the immediate child resource pools.
 15899  	//     If recursive is true, the server will follow the child
 15900  	//     resource pool paths (and their child resource pool paths,
 15901  	//     and so on) to collect additional references to virtual machines.
 15902  	//   - `Datacenter` object - `Datacenter.vmFolder`,
 15903  	//     `Datacenter.hostFolder`,
 15904  	//     `Datacenter.datastoreFolder`, and
 15905  	//     `Datacenter.networkFolder` properties.
 15906  	//     If recursive is set to false, the server uses the
 15907  	//     immediate child folders for the virtual machines,
 15908  	//     hosts, datastores, and networks associated with this
 15909  	//     datacenter. If recursive is set to true, the server
 15910  	//     will follow the folder paths to collect references
 15911  	//     to additional objects.
 15912  	//   - `HostSystem` object - `HostSystem.vm`
 15913  	//     property.
 15914  	//     The view object list contains references to the virtual machines
 15915  	//     associated with this host system. The value of recursive does not
 15916  	//     affect this behavior.
 15917  	Recursive bool `xml:"recursive" json:"recursive"`
 15918  }
 15919  
 15920  func init() {
 15921  	t["CreateContainerViewRequestType"] = reflect.TypeOf((*CreateContainerViewRequestType)(nil)).Elem()
 15922  }
 15923  
 15924  type CreateContainerViewResponse struct {
 15925  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15926  }
 15927  
 15928  type CreateCustomizationSpec CreateCustomizationSpecRequestType
 15929  
 15930  func init() {
 15931  	t["CreateCustomizationSpec"] = reflect.TypeOf((*CreateCustomizationSpec)(nil)).Elem()
 15932  }
 15933  
 15934  // The parameters of `CustomizationSpecManager.CreateCustomizationSpec`.
 15935  type CreateCustomizationSpecRequestType struct {
 15936  	This ManagedObjectReference `xml:"_this" json:"-"`
 15937  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 15938  }
 15939  
 15940  func init() {
 15941  	t["CreateCustomizationSpecRequestType"] = reflect.TypeOf((*CreateCustomizationSpecRequestType)(nil)).Elem()
 15942  }
 15943  
 15944  type CreateCustomizationSpecResponse struct {
 15945  }
 15946  
 15947  // The parameters of `DistributedVirtualSwitch.CreateDVPortgroup_Task`.
 15948  type CreateDVPortgroupRequestType struct {
 15949  	This ManagedObjectReference `xml:"_this" json:"-"`
 15950  	// The specification for the portgroup.
 15951  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 15952  }
 15953  
 15954  func init() {
 15955  	t["CreateDVPortgroupRequestType"] = reflect.TypeOf((*CreateDVPortgroupRequestType)(nil)).Elem()
 15956  }
 15957  
 15958  type CreateDVPortgroup_Task CreateDVPortgroupRequestType
 15959  
 15960  func init() {
 15961  	t["CreateDVPortgroup_Task"] = reflect.TypeOf((*CreateDVPortgroup_Task)(nil)).Elem()
 15962  }
 15963  
 15964  type CreateDVPortgroup_TaskResponse struct {
 15965  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15966  }
 15967  
 15968  // The parameters of `Folder.CreateDVS_Task`.
 15969  type CreateDVSRequestType struct {
 15970  	This ManagedObjectReference `xml:"_this" json:"-"`
 15971  	// The `DVSCreateSpec`
 15972  	// to create the distributed virtual switch.
 15973  	Spec DVSCreateSpec `xml:"spec" json:"spec"`
 15974  }
 15975  
 15976  func init() {
 15977  	t["CreateDVSRequestType"] = reflect.TypeOf((*CreateDVSRequestType)(nil)).Elem()
 15978  }
 15979  
 15980  type CreateDVS_Task CreateDVSRequestType
 15981  
 15982  func init() {
 15983  	t["CreateDVS_Task"] = reflect.TypeOf((*CreateDVS_Task)(nil)).Elem()
 15984  }
 15985  
 15986  type CreateDVS_TaskResponse struct {
 15987  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 15988  }
 15989  
 15990  type CreateDatacenter CreateDatacenterRequestType
 15991  
 15992  func init() {
 15993  	t["CreateDatacenter"] = reflect.TypeOf((*CreateDatacenter)(nil)).Elem()
 15994  }
 15995  
 15996  // The parameters of `Folder.CreateDatacenter`.
 15997  type CreateDatacenterRequestType struct {
 15998  	This ManagedObjectReference `xml:"_this" json:"-"`
 15999  	// Name for the new datacenter. An entity name
 16000  	// must be a non-empty string of less than 80 characters.
 16001  	// The slash (/), backslash (\\) and percent (%) will be escaped
 16002  	// using the URL syntax. For example, %2F.
 16003  	Name string `xml:"name" json:"name"`
 16004  }
 16005  
 16006  func init() {
 16007  	t["CreateDatacenterRequestType"] = reflect.TypeOf((*CreateDatacenterRequestType)(nil)).Elem()
 16008  }
 16009  
 16010  type CreateDatacenterResponse struct {
 16011  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16012  }
 16013  
 16014  type CreateDefaultProfile CreateDefaultProfileRequestType
 16015  
 16016  func init() {
 16017  	t["CreateDefaultProfile"] = reflect.TypeOf((*CreateDefaultProfile)(nil)).Elem()
 16018  }
 16019  
 16020  // The parameters of `HostProfileManager.CreateDefaultProfile`.
 16021  type CreateDefaultProfileRequestType struct {
 16022  	This ManagedObjectReference `xml:"_this" json:"-"`
 16023  	// Type of profile to create. The profile types
 16024  	// are system-defined
 16025  	// (`ApplyProfile*.*ApplyProfile.profileTypeName`).
 16026  	ProfileType string `xml:"profileType" json:"profileType"`
 16027  	// If specified, the method returns a profile object
 16028  	// containing data for the named profile. The type name does not have
 16029  	// to be system-defined. A user-defined profile can include various
 16030  	// dynamically-defined profiles.
 16031  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
 16032  	// Base profile used during the operation.
 16033  	//
 16034  	// Refers instance of `Profile`.
 16035  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 16036  }
 16037  
 16038  func init() {
 16039  	t["CreateDefaultProfileRequestType"] = reflect.TypeOf((*CreateDefaultProfileRequestType)(nil)).Elem()
 16040  }
 16041  
 16042  type CreateDefaultProfileResponse struct {
 16043  	Returnval BaseApplyProfile `xml:"returnval,typeattr" json:"returnval"`
 16044  }
 16045  
 16046  type CreateDescriptor CreateDescriptorRequestType
 16047  
 16048  func init() {
 16049  	t["CreateDescriptor"] = reflect.TypeOf((*CreateDescriptor)(nil)).Elem()
 16050  }
 16051  
 16052  // The parameters of `OvfManager.CreateDescriptor`.
 16053  type CreateDescriptorRequestType struct {
 16054  	This ManagedObjectReference `xml:"_this" json:"-"`
 16055  	// The entity to export. Supported types are `VirtualMachine`
 16056  	// and `VirtualApp`.
 16057  	//
 16058  	// Required privileges: VApp.Export
 16059  	//
 16060  	// Refers instance of `ManagedEntity`.
 16061  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16062  	// Parameters to the method, bundled in an instance of
 16063  	// CreateDescriptorParams.
 16064  	Cdp OvfCreateDescriptorParams `xml:"cdp" json:"cdp"`
 16065  }
 16066  
 16067  func init() {
 16068  	t["CreateDescriptorRequestType"] = reflect.TypeOf((*CreateDescriptorRequestType)(nil)).Elem()
 16069  }
 16070  
 16071  type CreateDescriptorResponse struct {
 16072  	Returnval OvfCreateDescriptorResult `xml:"returnval" json:"returnval"`
 16073  }
 16074  
 16075  type CreateDiagnosticPartition CreateDiagnosticPartitionRequestType
 16076  
 16077  func init() {
 16078  	t["CreateDiagnosticPartition"] = reflect.TypeOf((*CreateDiagnosticPartition)(nil)).Elem()
 16079  }
 16080  
 16081  // The parameters of `HostDiagnosticSystem.CreateDiagnosticPartition`.
 16082  type CreateDiagnosticPartitionRequestType struct {
 16083  	This ManagedObjectReference            `xml:"_this" json:"-"`
 16084  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 16085  }
 16086  
 16087  func init() {
 16088  	t["CreateDiagnosticPartitionRequestType"] = reflect.TypeOf((*CreateDiagnosticPartitionRequestType)(nil)).Elem()
 16089  }
 16090  
 16091  type CreateDiagnosticPartitionResponse struct {
 16092  }
 16093  
 16094  type CreateDirectory CreateDirectoryRequestType
 16095  
 16096  func init() {
 16097  	t["CreateDirectory"] = reflect.TypeOf((*CreateDirectory)(nil)).Elem()
 16098  }
 16099  
 16100  // The parameters of `DatastoreNamespaceManager.CreateDirectory`.
 16101  type CreateDirectoryRequestType struct {
 16102  	This ManagedObjectReference `xml:"_this" json:"-"`
 16103  	// datastore on which to create a top-level directory
 16104  	//
 16105  	// Required privileges: Datastore.Config
 16106  	//
 16107  	// Refers instance of `Datastore`.
 16108  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16109  	// display name hint for the directory to create
 16110  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
 16111  	// opaque storage policy to associate with the directory
 16112  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 16113  	// directory size in MB on vvol/vsan backed object storage.
 16114  	// default directory size will be used for vsan backed
 16115  	// object storage if not set.
 16116  	Size int64 `xml:"size,omitempty" json:"size,omitempty" vim:"7.0.2.0"`
 16117  }
 16118  
 16119  func init() {
 16120  	t["CreateDirectoryRequestType"] = reflect.TypeOf((*CreateDirectoryRequestType)(nil)).Elem()
 16121  }
 16122  
 16123  type CreateDirectoryResponse struct {
 16124  	Returnval string `xml:"returnval" json:"returnval"`
 16125  }
 16126  
 16127  // The parameters of `VcenterVStorageObjectManager.CreateDiskFromSnapshot_Task`.
 16128  type CreateDiskFromSnapshotRequestType struct {
 16129  	This ManagedObjectReference `xml:"_this" json:"-"`
 16130  	// The ID of the virtual storage object.
 16131  	Id ID `xml:"id" json:"id"`
 16132  	// The datastore where the source virtual storage object
 16133  	// is located.
 16134  	//
 16135  	// Refers instance of `Datastore`.
 16136  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16137  	// The ID of the snapshot of the virtual storage object.
 16138  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 16139  	// A user friendly name to be associated with the new disk.
 16140  	Name string `xml:"name" json:"name"`
 16141  	// SPBM Profile requirement on the new virtual storage object.
 16142  	// If not specified datastore default policy would be
 16143  	// assigned.
 16144  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 16145  	// Crypto information of the new disk.
 16146  	// If unset and if profile contains an encryption iofilter and
 16147  	// if snapshto is unencrypted, then cyrpto will be of
 16148  	// type CryptoSpecEncrypt, and filled with keyId that is
 16149  	// automatically generated and keyProviderId that is the
 16150  	// default kms cluster.
 16151  	// If unset and if profile is a default policy and if snapshot
 16152  	// is unenrypted, then crypto is treated as CryptoSpecNoOp.
 16153  	// If unset and if profile contains an encryption iofilter and
 16154  	// if snapshot is encrypted, then cyrpto is treated as
 16155  	// CryptoSpecNoOp.
 16156  	// If unset and if profile is a default policy and if
 16157  	// snapshot is encrypted, then cyrpto is treated as
 16158  	// CryptoSpecDecrypt.
 16159  	// To recrypt the disk during creating disk, crypto has to be
 16160  	// present.
 16161  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 16162  	// Relative location in the specified datastore where disk needs
 16163  	// to be created. If not specified disk gets created at the
 16164  	// defualt VStorageObject location on the specified datastore.
 16165  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 16166  }
 16167  
 16168  func init() {
 16169  	t["CreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*CreateDiskFromSnapshotRequestType)(nil)).Elem()
 16170  }
 16171  
 16172  type CreateDiskFromSnapshot_Task CreateDiskFromSnapshotRequestType
 16173  
 16174  func init() {
 16175  	t["CreateDiskFromSnapshot_Task"] = reflect.TypeOf((*CreateDiskFromSnapshot_Task)(nil)).Elem()
 16176  }
 16177  
 16178  type CreateDiskFromSnapshot_TaskResponse struct {
 16179  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16180  }
 16181  
 16182  // The parameters of `VcenterVStorageObjectManager.CreateDisk_Task`.
 16183  type CreateDiskRequestType struct {
 16184  	This ManagedObjectReference `xml:"_this" json:"-"`
 16185  	// The specification of the virtual storage object
 16186  	// to be created.
 16187  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 16188  }
 16189  
 16190  func init() {
 16191  	t["CreateDiskRequestType"] = reflect.TypeOf((*CreateDiskRequestType)(nil)).Elem()
 16192  }
 16193  
 16194  type CreateDisk_Task CreateDiskRequestType
 16195  
 16196  func init() {
 16197  	t["CreateDisk_Task"] = reflect.TypeOf((*CreateDisk_Task)(nil)).Elem()
 16198  }
 16199  
 16200  type CreateDisk_TaskResponse struct {
 16201  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16202  }
 16203  
 16204  type CreateFilter CreateFilterRequestType
 16205  
 16206  func init() {
 16207  	t["CreateFilter"] = reflect.TypeOf((*CreateFilter)(nil)).Elem()
 16208  }
 16209  
 16210  // The parameters of `PropertyCollector.CreateFilter`.
 16211  type CreateFilterRequestType struct {
 16212  	This ManagedObjectReference `xml:"_this" json:"-"`
 16213  	// The specifications for the filter.
 16214  	Spec PropertyFilterSpec `xml:"spec" json:"spec"`
 16215  	// Flag to specify whether a change to a nested property should report
 16216  	// only the nested change or the entire specified property value. If the
 16217  	// value is true, a change should report only the nested property. If
 16218  	// the value is false, a change should report the enclosing property
 16219  	// named in the filter.
 16220  	PartialUpdates bool `xml:"partialUpdates" json:"partialUpdates"`
 16221  }
 16222  
 16223  func init() {
 16224  	t["CreateFilterRequestType"] = reflect.TypeOf((*CreateFilterRequestType)(nil)).Elem()
 16225  }
 16226  
 16227  type CreateFilterResponse struct {
 16228  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16229  }
 16230  
 16231  type CreateFolder CreateFolderRequestType
 16232  
 16233  func init() {
 16234  	t["CreateFolder"] = reflect.TypeOf((*CreateFolder)(nil)).Elem()
 16235  }
 16236  
 16237  // The parameters of `Folder.CreateFolder`.
 16238  type CreateFolderRequestType struct {
 16239  	This ManagedObjectReference `xml:"_this" json:"-"`
 16240  	// The name to be given the new folder. An entity name
 16241  	// must be a non-empty string of less than 80 characters.
 16242  	// The slash (/), backslash (\\) and percent (%) will be escaped
 16243  	// using the URL syntax. For example, %2F. Any percent (%)
 16244  	// character used in this parameter must be escaped, unless
 16245  	// it is used to start an escape sequence. Clients may also
 16246  	// escape any other characters in this parameter.
 16247  	Name string `xml:"name" json:"name"`
 16248  }
 16249  
 16250  func init() {
 16251  	t["CreateFolderRequestType"] = reflect.TypeOf((*CreateFolderRequestType)(nil)).Elem()
 16252  }
 16253  
 16254  type CreateFolderResponse struct {
 16255  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16256  }
 16257  
 16258  type CreateGroup CreateGroupRequestType
 16259  
 16260  func init() {
 16261  	t["CreateGroup"] = reflect.TypeOf((*CreateGroup)(nil)).Elem()
 16262  }
 16263  
 16264  // The parameters of `HostLocalAccountManager.CreateGroup`.
 16265  type CreateGroupRequestType struct {
 16266  	This ManagedObjectReference `xml:"_this" json:"-"`
 16267  	// Specification of group being created.
 16268  	Group BaseHostAccountSpec `xml:"group,typeattr" json:"group"`
 16269  }
 16270  
 16271  func init() {
 16272  	t["CreateGroupRequestType"] = reflect.TypeOf((*CreateGroupRequestType)(nil)).Elem()
 16273  }
 16274  
 16275  type CreateGroupResponse struct {
 16276  }
 16277  
 16278  type CreateImportSpec CreateImportSpecRequestType
 16279  
 16280  func init() {
 16281  	t["CreateImportSpec"] = reflect.TypeOf((*CreateImportSpec)(nil)).Elem()
 16282  }
 16283  
 16284  // The parameters of `OvfManager.CreateImportSpec`.
 16285  type CreateImportSpecRequestType struct {
 16286  	This ManagedObjectReference `xml:"_this" json:"-"`
 16287  	// The OVF descriptor of the entity.
 16288  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 16289  	// The resource pool to import the entity to. May be a
 16290  	// vApp.
 16291  	//
 16292  	// Required privileges: VApp.Import
 16293  	//
 16294  	// Refers instance of `ResourcePool`.
 16295  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 16296  	// The datastore on which to create the inventory objects
 16297  	// of the entity, for example "storage1". The privilege
 16298  	// Datastore.AllocateSpace is required on the datastore.
 16299  	//
 16300  	// Required privileges: Datastore.AllocateSpace
 16301  	//
 16302  	// Refers instance of `Datastore`.
 16303  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 16304  	// Additional parameters to the method, bundled in an instance of
 16305  	// CreateImportSpecParams.
 16306  	Cisp OvfCreateImportSpecParams `xml:"cisp" json:"cisp"`
 16307  }
 16308  
 16309  func init() {
 16310  	t["CreateImportSpecRequestType"] = reflect.TypeOf((*CreateImportSpecRequestType)(nil)).Elem()
 16311  }
 16312  
 16313  type CreateImportSpecResponse struct {
 16314  	Returnval OvfCreateImportSpecResult `xml:"returnval" json:"returnval"`
 16315  }
 16316  
 16317  type CreateInventoryView CreateInventoryViewRequestType
 16318  
 16319  func init() {
 16320  	t["CreateInventoryView"] = reflect.TypeOf((*CreateInventoryView)(nil)).Elem()
 16321  }
 16322  
 16323  type CreateInventoryViewRequestType struct {
 16324  	This ManagedObjectReference `xml:"_this" json:"-"`
 16325  }
 16326  
 16327  func init() {
 16328  	t["CreateInventoryViewRequestType"] = reflect.TypeOf((*CreateInventoryViewRequestType)(nil)).Elem()
 16329  }
 16330  
 16331  type CreateInventoryViewResponse struct {
 16332  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16333  }
 16334  
 16335  type CreateIpPool CreateIpPoolRequestType
 16336  
 16337  func init() {
 16338  	t["CreateIpPool"] = reflect.TypeOf((*CreateIpPool)(nil)).Elem()
 16339  }
 16340  
 16341  // The parameters of `IpPoolManager.CreateIpPool`.
 16342  type CreateIpPoolRequestType struct {
 16343  	This ManagedObjectReference `xml:"_this" json:"-"`
 16344  	// The datacenter on which to create the pool.
 16345  	//
 16346  	// Required privileges: Datacenter.IpPoolConfig
 16347  	//
 16348  	// Refers instance of `Datacenter`.
 16349  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 16350  	// The IP pool to create on the server
 16351  	Pool IpPool `xml:"pool" json:"pool"`
 16352  }
 16353  
 16354  func init() {
 16355  	t["CreateIpPoolRequestType"] = reflect.TypeOf((*CreateIpPoolRequestType)(nil)).Elem()
 16356  }
 16357  
 16358  type CreateIpPoolResponse struct {
 16359  	Returnval int32 `xml:"returnval" json:"returnval"`
 16360  }
 16361  
 16362  type CreateListView CreateListViewRequestType
 16363  
 16364  func init() {
 16365  	t["CreateListView"] = reflect.TypeOf((*CreateListView)(nil)).Elem()
 16366  }
 16367  
 16368  type CreateListViewFromView CreateListViewFromViewRequestType
 16369  
 16370  func init() {
 16371  	t["CreateListViewFromView"] = reflect.TypeOf((*CreateListViewFromView)(nil)).Elem()
 16372  }
 16373  
 16374  // The parameters of `ViewManager.CreateListViewFromView`.
 16375  type CreateListViewFromViewRequestType struct {
 16376  	This ManagedObjectReference `xml:"_this" json:"-"`
 16377  	// The view that will provide the object list for the
 16378  	// new ListView object.
 16379  	//
 16380  	// Refers instance of `View`.
 16381  	View ManagedObjectReference `xml:"view" json:"view"`
 16382  }
 16383  
 16384  func init() {
 16385  	t["CreateListViewFromViewRequestType"] = reflect.TypeOf((*CreateListViewFromViewRequestType)(nil)).Elem()
 16386  }
 16387  
 16388  type CreateListViewFromViewResponse struct {
 16389  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16390  }
 16391  
 16392  // The parameters of `ViewManager.CreateListView`.
 16393  type CreateListViewRequestType struct {
 16394  	This ManagedObjectReference `xml:"_this" json:"-"`
 16395  	// The initial list of objects in the view.
 16396  	//
 16397  	// Required privileges: System.View
 16398  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 16399  }
 16400  
 16401  func init() {
 16402  	t["CreateListViewRequestType"] = reflect.TypeOf((*CreateListViewRequestType)(nil)).Elem()
 16403  }
 16404  
 16405  type CreateListViewResponse struct {
 16406  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16407  }
 16408  
 16409  type CreateLocalDatastore CreateLocalDatastoreRequestType
 16410  
 16411  func init() {
 16412  	t["CreateLocalDatastore"] = reflect.TypeOf((*CreateLocalDatastore)(nil)).Elem()
 16413  }
 16414  
 16415  // The parameters of `HostDatastoreSystem.CreateLocalDatastore`.
 16416  type CreateLocalDatastoreRequestType struct {
 16417  	This ManagedObjectReference `xml:"_this" json:"-"`
 16418  	// The name of a datastore to create on the local host.
 16419  	Name string `xml:"name" json:"name"`
 16420  	// The file path for a directory in which the virtual machine data
 16421  	// will be stored.
 16422  	Path string `xml:"path" json:"path"`
 16423  }
 16424  
 16425  func init() {
 16426  	t["CreateLocalDatastoreRequestType"] = reflect.TypeOf((*CreateLocalDatastoreRequestType)(nil)).Elem()
 16427  }
 16428  
 16429  type CreateLocalDatastoreResponse struct {
 16430  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16431  }
 16432  
 16433  type CreateNasDatastore CreateNasDatastoreRequestType
 16434  
 16435  func init() {
 16436  	t["CreateNasDatastore"] = reflect.TypeOf((*CreateNasDatastore)(nil)).Elem()
 16437  }
 16438  
 16439  // The parameters of `HostDatastoreSystem.CreateNasDatastore`.
 16440  type CreateNasDatastoreRequestType struct {
 16441  	This ManagedObjectReference `xml:"_this" json:"-"`
 16442  	// The specification for creating a network-attached storage volume.
 16443  	Spec HostNasVolumeSpec `xml:"spec" json:"spec"`
 16444  }
 16445  
 16446  func init() {
 16447  	t["CreateNasDatastoreRequestType"] = reflect.TypeOf((*CreateNasDatastoreRequestType)(nil)).Elem()
 16448  }
 16449  
 16450  type CreateNasDatastoreResponse struct {
 16451  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16452  }
 16453  
 16454  // The parameters of `HostNvdimmSystem.CreateNvdimmNamespace_Task`.
 16455  type CreateNvdimmNamespaceRequestType struct {
 16456  	This ManagedObjectReference `xml:"_this" json:"-"`
 16457  	// Parameters to create the required namespace.
 16458  	CreateSpec NvdimmNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16459  }
 16460  
 16461  func init() {
 16462  	t["CreateNvdimmNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmNamespaceRequestType)(nil)).Elem()
 16463  }
 16464  
 16465  type CreateNvdimmNamespace_Task CreateNvdimmNamespaceRequestType
 16466  
 16467  func init() {
 16468  	t["CreateNvdimmNamespace_Task"] = reflect.TypeOf((*CreateNvdimmNamespace_Task)(nil)).Elem()
 16469  }
 16470  
 16471  type CreateNvdimmNamespace_TaskResponse struct {
 16472  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16473  }
 16474  
 16475  // The parameters of `HostNvdimmSystem.CreateNvdimmPMemNamespace_Task`.
 16476  type CreateNvdimmPMemNamespaceRequestType struct {
 16477  	This ManagedObjectReference `xml:"_this" json:"-"`
 16478  	// Parameters to create the required namespace.
 16479  	CreateSpec NvdimmPMemNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
 16480  }
 16481  
 16482  func init() {
 16483  	t["CreateNvdimmPMemNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmPMemNamespaceRequestType)(nil)).Elem()
 16484  }
 16485  
 16486  type CreateNvdimmPMemNamespace_Task CreateNvdimmPMemNamespaceRequestType
 16487  
 16488  func init() {
 16489  	t["CreateNvdimmPMemNamespace_Task"] = reflect.TypeOf((*CreateNvdimmPMemNamespace_Task)(nil)).Elem()
 16490  }
 16491  
 16492  type CreateNvdimmPMemNamespace_TaskResponse struct {
 16493  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16494  }
 16495  
 16496  type CreateNvmeOverRdmaAdapter CreateNvmeOverRdmaAdapterRequestType
 16497  
 16498  func init() {
 16499  	t["CreateNvmeOverRdmaAdapter"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapter)(nil)).Elem()
 16500  }
 16501  
 16502  // The parameters of `HostStorageSystem.CreateNvmeOverRdmaAdapter`.
 16503  type CreateNvmeOverRdmaAdapterRequestType struct {
 16504  	This ManagedObjectReference `xml:"_this" json:"-"`
 16505  	// The device name of the RDMA device
 16506  	// to be used to create the software adapter.
 16507  	// Can be obtained from `HostRdmaDevice.device`.
 16508  	RdmaDeviceName string `xml:"rdmaDeviceName" json:"rdmaDeviceName"`
 16509  }
 16510  
 16511  func init() {
 16512  	t["CreateNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 16513  }
 16514  
 16515  type CreateNvmeOverRdmaAdapterResponse struct {
 16516  }
 16517  
 16518  type CreateObjectScheduledTask CreateObjectScheduledTaskRequestType
 16519  
 16520  func init() {
 16521  	t["CreateObjectScheduledTask"] = reflect.TypeOf((*CreateObjectScheduledTask)(nil)).Elem()
 16522  }
 16523  
 16524  // The parameters of `ScheduledTaskManager.CreateObjectScheduledTask`.
 16525  type CreateObjectScheduledTaskRequestType struct {
 16526  	This ManagedObjectReference `xml:"_this" json:"-"`
 16527  	// The managed object for which the
 16528  	// scheduled task triggers an action. You can
 16529  	// schedule tasks on any managed object.
 16530  	//
 16531  	// Required privileges: ScheduledTask.Create
 16532  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16533  	// The specification for the new scheduled task.
 16534  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16535  }
 16536  
 16537  func init() {
 16538  	t["CreateObjectScheduledTaskRequestType"] = reflect.TypeOf((*CreateObjectScheduledTaskRequestType)(nil)).Elem()
 16539  }
 16540  
 16541  type CreateObjectScheduledTaskResponse struct {
 16542  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16543  }
 16544  
 16545  type CreatePerfInterval CreatePerfIntervalRequestType
 16546  
 16547  func init() {
 16548  	t["CreatePerfInterval"] = reflect.TypeOf((*CreatePerfInterval)(nil)).Elem()
 16549  }
 16550  
 16551  // The parameters of `PerformanceManager.CreatePerfInterval`.
 16552  type CreatePerfIntervalRequestType struct {
 16553  	This ManagedObjectReference `xml:"_this" json:"-"`
 16554  	// A custom interval, specified as the number of seconds to hold data in the
 16555  	// database, a user-specified unique name, and a sampling period (in
 16556  	// seconds).
 16557  	IntervalId PerfInterval `xml:"intervalId" json:"intervalId"`
 16558  }
 16559  
 16560  func init() {
 16561  	t["CreatePerfIntervalRequestType"] = reflect.TypeOf((*CreatePerfIntervalRequestType)(nil)).Elem()
 16562  }
 16563  
 16564  type CreatePerfIntervalResponse struct {
 16565  }
 16566  
 16567  type CreateProfile CreateProfileRequestType
 16568  
 16569  func init() {
 16570  	t["CreateProfile"] = reflect.TypeOf((*CreateProfile)(nil)).Elem()
 16571  }
 16572  
 16573  // The parameters of `ProfileManager.CreateProfile`.
 16574  type CreateProfileRequestType struct {
 16575  	This ManagedObjectReference `xml:"_this" json:"-"`
 16576  	// Specification for the profile being created.
 16577  	// Usually a derived class CreateSpec can be used to create the Profile.
 16578  	CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr" json:"createSpec"`
 16579  }
 16580  
 16581  func init() {
 16582  	t["CreateProfileRequestType"] = reflect.TypeOf((*CreateProfileRequestType)(nil)).Elem()
 16583  }
 16584  
 16585  type CreateProfileResponse struct {
 16586  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16587  }
 16588  
 16589  type CreatePropertyCollector CreatePropertyCollectorRequestType
 16590  
 16591  func init() {
 16592  	t["CreatePropertyCollector"] = reflect.TypeOf((*CreatePropertyCollector)(nil)).Elem()
 16593  }
 16594  
 16595  type CreatePropertyCollectorRequestType struct {
 16596  	This ManagedObjectReference `xml:"_this" json:"-"`
 16597  }
 16598  
 16599  func init() {
 16600  	t["CreatePropertyCollectorRequestType"] = reflect.TypeOf((*CreatePropertyCollectorRequestType)(nil)).Elem()
 16601  }
 16602  
 16603  type CreatePropertyCollectorResponse struct {
 16604  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16605  }
 16606  
 16607  type CreateRegistryKeyInGuest CreateRegistryKeyInGuestRequestType
 16608  
 16609  func init() {
 16610  	t["CreateRegistryKeyInGuest"] = reflect.TypeOf((*CreateRegistryKeyInGuest)(nil)).Elem()
 16611  }
 16612  
 16613  // The parameters of `GuestWindowsRegistryManager.CreateRegistryKeyInGuest`.
 16614  type CreateRegistryKeyInGuestRequestType struct {
 16615  	This ManagedObjectReference `xml:"_this" json:"-"`
 16616  	// Virtual machine to perform the operation on.
 16617  	//
 16618  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16619  	//
 16620  	// Refers instance of `VirtualMachine`.
 16621  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16622  	// The guest authentication data.
 16623  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16624  	// The path to the registry key to be created.
 16625  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 16626  	// If true, the key is created in memory and is not
 16627  	// preserved across system reboot. Otherwise, it shall
 16628  	// persist in the file system.
 16629  	IsVolatile bool `xml:"isVolatile" json:"isVolatile"`
 16630  	// User defined class type for this key. May be omitted.
 16631  	ClassType string `xml:"classType,omitempty" json:"classType,omitempty"`
 16632  }
 16633  
 16634  func init() {
 16635  	t["CreateRegistryKeyInGuestRequestType"] = reflect.TypeOf((*CreateRegistryKeyInGuestRequestType)(nil)).Elem()
 16636  }
 16637  
 16638  type CreateRegistryKeyInGuestResponse struct {
 16639  }
 16640  
 16641  type CreateResourcePool CreateResourcePoolRequestType
 16642  
 16643  func init() {
 16644  	t["CreateResourcePool"] = reflect.TypeOf((*CreateResourcePool)(nil)).Elem()
 16645  }
 16646  
 16647  // The parameters of `ResourcePool.CreateResourcePool`.
 16648  type CreateResourcePoolRequestType struct {
 16649  	This ManagedObjectReference `xml:"_this" json:"-"`
 16650  	// The name of the ResourcePool. Any % (percent) character
 16651  	// used in this parameter must be escaped, unless it is used
 16652  	// to start an escape sequence. Clients may also escape any
 16653  	// other characters in this parameter.
 16654  	Name string `xml:"name" json:"name"`
 16655  	// The spec for the ResourcePool.
 16656  	// All values in ResourceAllocationInfo must be specified and
 16657  	// are not optional.
 16658  	Spec ResourceConfigSpec `xml:"spec" json:"spec"`
 16659  }
 16660  
 16661  func init() {
 16662  	t["CreateResourcePoolRequestType"] = reflect.TypeOf((*CreateResourcePoolRequestType)(nil)).Elem()
 16663  }
 16664  
 16665  type CreateResourcePoolResponse struct {
 16666  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16667  }
 16668  
 16669  type CreateScheduledTask CreateScheduledTaskRequestType
 16670  
 16671  func init() {
 16672  	t["CreateScheduledTask"] = reflect.TypeOf((*CreateScheduledTask)(nil)).Elem()
 16673  }
 16674  
 16675  // The parameters of `ScheduledTaskManager.CreateScheduledTask`.
 16676  type CreateScheduledTaskRequestType struct {
 16677  	This ManagedObjectReference `xml:"_this" json:"-"`
 16678  	// The managed entity (or entities) for which the
 16679  	// scheduled task triggers an action. You can
 16680  	// schedule tasks on any managed entity. If the
 16681  	// scheduled task is associated with a leaf node in
 16682  	// the inventory tree, it applies only to a single
 16683  	// entity (virtual machine or host). If the
 16684  	// task is associated with a folder, a datacenter, a
 16685  	// compute resource, or a resource pool, it applies to
 16686  	// the virtual machine or host descendants of the entity.
 16687  	//
 16688  	// Required privileges: ScheduledTask.Create
 16689  	//
 16690  	// Refers instance of `ManagedEntity`.
 16691  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 16692  	// The specification for the new scheduled task.
 16693  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 16694  }
 16695  
 16696  func init() {
 16697  	t["CreateScheduledTaskRequestType"] = reflect.TypeOf((*CreateScheduledTaskRequestType)(nil)).Elem()
 16698  }
 16699  
 16700  type CreateScheduledTaskResponse struct {
 16701  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16702  }
 16703  
 16704  type CreateScreenshotRequestType struct {
 16705  	This ManagedObjectReference `xml:"_this" json:"-"`
 16706  }
 16707  
 16708  func init() {
 16709  	t["CreateScreenshotRequestType"] = reflect.TypeOf((*CreateScreenshotRequestType)(nil)).Elem()
 16710  }
 16711  
 16712  type CreateScreenshot_Task CreateScreenshotRequestType
 16713  
 16714  func init() {
 16715  	t["CreateScreenshot_Task"] = reflect.TypeOf((*CreateScreenshot_Task)(nil)).Elem()
 16716  }
 16717  
 16718  type CreateScreenshot_TaskResponse struct {
 16719  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16720  }
 16721  
 16722  // The parameters of `VirtualMachine.CreateSecondaryVMEx_Task`.
 16723  type CreateSecondaryVMExRequestType struct {
 16724  	This ManagedObjectReference `xml:"_this" json:"-"`
 16725  	// The host where the secondary virtual machine is to be
 16726  	// created and powered on. If no host is specified, a compatible host will be
 16727  	// selected by the system. If a host cannot be found for the secondary or the specified
 16728  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16729  	//
 16730  	// Refers instance of `HostSystem`.
 16731  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16732  	// This parameter `FaultToleranceVMConfigSpec` can
 16733  	// be used to specify the storage location of the fault tolerance
 16734  	// tie-breaker file, secondary configuration file and secondary
 16735  	// disks.
 16736  	//
 16737  	// If the virtual machine is on a vSAN datastore, then the
 16738  	// Fault Tolerance secondary virtual machine and the tie-breaker
 16739  	// file also have to be placed on that same vSAN datastore.
 16740  	// Conversely, if a primary VM is not using vSAN datastore,
 16741  	// then its Fault Tolerance secondary virtual machine can
 16742  	// not be placed on a vSAN datastore. Fault Tolerance is not
 16743  	// supported for VMs that are using both vSAN and non-vSAN
 16744  	// datastores for its configuration and disks.
 16745  	//
 16746  	// If the virtual machine is using persistent memory for any of
 16747  	// its disks, then its corresponding secondary disk placement
 16748  	// entry should not be specified in the
 16749  	// `FaultToleranceVMConfigSpec`. The system will
 16750  	// automatically place the corresponding secondary disk on
 16751  	// persistent memory.
 16752  	Spec *FaultToleranceConfigSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 16753  }
 16754  
 16755  func init() {
 16756  	t["CreateSecondaryVMExRequestType"] = reflect.TypeOf((*CreateSecondaryVMExRequestType)(nil)).Elem()
 16757  }
 16758  
 16759  type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType
 16760  
 16761  func init() {
 16762  	t["CreateSecondaryVMEx_Task"] = reflect.TypeOf((*CreateSecondaryVMEx_Task)(nil)).Elem()
 16763  }
 16764  
 16765  type CreateSecondaryVMEx_TaskResponse struct {
 16766  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16767  }
 16768  
 16769  // The parameters of `VirtualMachine.CreateSecondaryVM_Task`.
 16770  type CreateSecondaryVMRequestType struct {
 16771  	This ManagedObjectReference `xml:"_this" json:"-"`
 16772  	// The host where the secondary virtual machine is to be
 16773  	// created and powered on. If no host is specified, a compatible host will be
 16774  	// selected by the system. If a host cannot be found for the secondary or the specified
 16775  	// host is not suitable, the secondary will not be created and a fault will be returned.
 16776  	//
 16777  	// Refers instance of `HostSystem`.
 16778  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 16779  }
 16780  
 16781  func init() {
 16782  	t["CreateSecondaryVMRequestType"] = reflect.TypeOf((*CreateSecondaryVMRequestType)(nil)).Elem()
 16783  }
 16784  
 16785  type CreateSecondaryVM_Task CreateSecondaryVMRequestType
 16786  
 16787  func init() {
 16788  	t["CreateSecondaryVM_Task"] = reflect.TypeOf((*CreateSecondaryVM_Task)(nil)).Elem()
 16789  }
 16790  
 16791  type CreateSecondaryVM_TaskResponse struct {
 16792  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16793  }
 16794  
 16795  // The parameters of `VirtualMachine.CreateSnapshotEx_Task`.
 16796  type CreateSnapshotExRequestType struct {
 16797  	This ManagedObjectReference `xml:"_this" json:"-"`
 16798  	// The name for this snapshot. The name need not be unique for
 16799  	// this virtual machine.
 16800  	Name string `xml:"name" json:"name"`
 16801  	// A description for this snapshot. If omitted, a default
 16802  	// description may be provided.
 16803  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16804  	// If TRUE, a dump of the internal state of the virtual machine
 16805  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 16806  	// consume time and resources, and thus take longer to create.
 16807  	// When set to FALSE, the power state of the snapshot is set to powered off.
 16808  	//
 16809  	// `capabilities`
 16810  	// indicates whether or not this virtual machine supports this operation.
 16811  	// For a virtual machine in suspended state we always include memory
 16812  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 16813  	// true.
 16814  	Memory bool `xml:"memory" json:"memory"`
 16815  	// Spec for granular control over quiesce details.
 16816  	// If quiesceSpec is set and the virtual machine is powered on when the
 16817  	// snapshot is taken, VMware Tools is used to quiesce the file
 16818  	// system in the virtual machine. This assures that a disk snapshot
 16819  	// represents a consistent state of the guest file systems. If the virtual
 16820  	// machine is powered off or VMware Tools are not available, the quiesce
 16821  	// spec is ignored. If the spec type is `VirtualMachineGuestQuiesceSpec`, the
 16822  	// default quiescing process will be applied. If the spec type is
 16823  	// `VirtualMachineWindowsQuiesceSpec` and Guest OS is Windows, the parameters
 16824  	// will control the VSS process.
 16825  	QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr" json:"quiesceSpec,omitempty"`
 16826  }
 16827  
 16828  func init() {
 16829  	t["CreateSnapshotExRequestType"] = reflect.TypeOf((*CreateSnapshotExRequestType)(nil)).Elem()
 16830  }
 16831  
 16832  type CreateSnapshotEx_Task CreateSnapshotExRequestType
 16833  
 16834  func init() {
 16835  	t["CreateSnapshotEx_Task"] = reflect.TypeOf((*CreateSnapshotEx_Task)(nil)).Elem()
 16836  }
 16837  
 16838  type CreateSnapshotEx_TaskResponse struct {
 16839  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16840  }
 16841  
 16842  // The parameters of `VirtualMachine.CreateSnapshot_Task`.
 16843  type CreateSnapshotRequestType struct {
 16844  	This ManagedObjectReference `xml:"_this" json:"-"`
 16845  	// The name for this snapshot. The name need not be unique for
 16846  	// this virtual machine.
 16847  	Name string `xml:"name" json:"name"`
 16848  	// A description for this snapshot. If omitted, a default
 16849  	// description may be provided.
 16850  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 16851  	// If TRUE, a dump of the internal state of the virtual machine
 16852  	// (basically a memory dump) is included in the snapshot. Memory snapshots
 16853  	// consume time and resources, and thus take longer to create. When set to FALSE,
 16854  	// the power state of the snapshot is set to powered off.
 16855  	//
 16856  	// `capabilities`
 16857  	// indicates whether or not this virtual machine supports this operation.
 16858  	// For a virtual machine in suspended state we always include memory
 16859  	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
 16860  	// true.
 16861  	Memory bool `xml:"memory" json:"memory"`
 16862  	// If TRUE and the virtual machine is powered on when the
 16863  	// snapshot is taken, VMware Tools is used to quiesce the file
 16864  	// system in the virtual machine. This assures that a disk snapshot
 16865  	// represents a consistent state of the guest file systems. If the virtual machine
 16866  	// is powered off or VMware Tools are not available, the quiesce flag is ignored.
 16867  	Quiesce bool `xml:"quiesce" json:"quiesce"`
 16868  }
 16869  
 16870  func init() {
 16871  	t["CreateSnapshotRequestType"] = reflect.TypeOf((*CreateSnapshotRequestType)(nil)).Elem()
 16872  }
 16873  
 16874  type CreateSnapshot_Task CreateSnapshotRequestType
 16875  
 16876  func init() {
 16877  	t["CreateSnapshot_Task"] = reflect.TypeOf((*CreateSnapshot_Task)(nil)).Elem()
 16878  }
 16879  
 16880  type CreateSnapshot_TaskResponse struct {
 16881  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16882  }
 16883  
 16884  type CreateSoftwareAdapter CreateSoftwareAdapterRequestType
 16885  
 16886  func init() {
 16887  	t["CreateSoftwareAdapter"] = reflect.TypeOf((*CreateSoftwareAdapter)(nil)).Elem()
 16888  }
 16889  
 16890  // The parameters of `HostStorageSystem.CreateSoftwareAdapter`.
 16891  type CreateSoftwareAdapterRequestType struct {
 16892  	This ManagedObjectReference `xml:"_this" json:"-"`
 16893  	// A data object that specifices the parameters necessary
 16894  	// to create a software host bus adapter of a specific type.
 16895  	Spec BaseHostHbaCreateSpec `xml:"spec,typeattr" json:"spec"`
 16896  }
 16897  
 16898  func init() {
 16899  	t["CreateSoftwareAdapterRequestType"] = reflect.TypeOf((*CreateSoftwareAdapterRequestType)(nil)).Elem()
 16900  	minAPIVersionForType["CreateSoftwareAdapterRequestType"] = "7.0.3.0"
 16901  }
 16902  
 16903  type CreateSoftwareAdapterResponse struct {
 16904  }
 16905  
 16906  type CreateStoragePod CreateStoragePodRequestType
 16907  
 16908  func init() {
 16909  	t["CreateStoragePod"] = reflect.TypeOf((*CreateStoragePod)(nil)).Elem()
 16910  }
 16911  
 16912  // The parameters of `Folder.CreateStoragePod`.
 16913  type CreateStoragePodRequestType struct {
 16914  	This ManagedObjectReference `xml:"_this" json:"-"`
 16915  	// Name for the new storage pod.
 16916  	Name string `xml:"name" json:"name"`
 16917  }
 16918  
 16919  func init() {
 16920  	t["CreateStoragePodRequestType"] = reflect.TypeOf((*CreateStoragePodRequestType)(nil)).Elem()
 16921  }
 16922  
 16923  type CreateStoragePodResponse struct {
 16924  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 16925  }
 16926  
 16927  type CreateTask CreateTaskRequestType
 16928  
 16929  func init() {
 16930  	t["CreateTask"] = reflect.TypeOf((*CreateTask)(nil)).Elem()
 16931  }
 16932  
 16933  // This data object type specifies the type of task to be created
 16934  // when this action is triggered.
 16935  type CreateTaskAction struct {
 16936  	Action
 16937  
 16938  	// Extension registered task type identifier
 16939  	// for type of task being created.
 16940  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 16941  	// Whether the task should be cancelable.
 16942  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 16943  }
 16944  
 16945  func init() {
 16946  	t["CreateTaskAction"] = reflect.TypeOf((*CreateTaskAction)(nil)).Elem()
 16947  }
 16948  
 16949  // The parameters of `TaskManager.CreateTask`.
 16950  type CreateTaskRequestType struct {
 16951  	This ManagedObjectReference `xml:"_this" json:"-"`
 16952  	// ManagedObject with which Task will be associated
 16953  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 16954  	// Extension registered task type identifier
 16955  	// for type of task being created
 16956  	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
 16957  	// The name of the user on whose behalf the
 16958  	// Extension is creating the task
 16959  	InitiatedBy string `xml:"initiatedBy,omitempty" json:"initiatedBy,omitempty"`
 16960  	// True if the task should be cancelable,
 16961  	// false otherwise
 16962  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 16963  	// Key of the task that is the parent of this task
 16964  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 16965  	// Activation Id is a client-provided token to link an
 16966  	// API call with a task. When provided, the activationId is added to the
 16967  	// `TaskInfo`
 16968  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 16969  }
 16970  
 16971  func init() {
 16972  	t["CreateTaskRequestType"] = reflect.TypeOf((*CreateTaskRequestType)(nil)).Elem()
 16973  }
 16974  
 16975  type CreateTaskResponse struct {
 16976  	Returnval TaskInfo `xml:"returnval" json:"returnval"`
 16977  }
 16978  
 16979  type CreateTemporaryDirectoryInGuest CreateTemporaryDirectoryInGuestRequestType
 16980  
 16981  func init() {
 16982  	t["CreateTemporaryDirectoryInGuest"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuest)(nil)).Elem()
 16983  }
 16984  
 16985  // The parameters of `GuestFileManager.CreateTemporaryDirectoryInGuest`.
 16986  type CreateTemporaryDirectoryInGuestRequestType struct {
 16987  	This ManagedObjectReference `xml:"_this" json:"-"`
 16988  	// Virtual Machine to perform the operation on.
 16989  	//
 16990  	// Required privileges: VirtualMachine.GuestOperations.Modify
 16991  	//
 16992  	// Refers instance of `VirtualMachine`.
 16993  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 16994  	// The guest authentication data. See
 16995  	// `GuestAuthentication`.
 16996  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 16997  	// The prefix to be given to the new temporary directory.
 16998  	Prefix string `xml:"prefix" json:"prefix"`
 16999  	// The suffix to be given to the new temporary directory.
 17000  	Suffix string `xml:"suffix" json:"suffix"`
 17001  	// The complete path to the directory in which to create the
 17002  	// new directory. If unset or an empty string, a guest-specific location
 17003  	// will be used.
 17004  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 17005  }
 17006  
 17007  func init() {
 17008  	t["CreateTemporaryDirectoryInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuestRequestType)(nil)).Elem()
 17009  }
 17010  
 17011  type CreateTemporaryDirectoryInGuestResponse struct {
 17012  	Returnval string `xml:"returnval" json:"returnval"`
 17013  }
 17014  
 17015  type CreateTemporaryFileInGuest CreateTemporaryFileInGuestRequestType
 17016  
 17017  func init() {
 17018  	t["CreateTemporaryFileInGuest"] = reflect.TypeOf((*CreateTemporaryFileInGuest)(nil)).Elem()
 17019  }
 17020  
 17021  // The parameters of `GuestFileManager.CreateTemporaryFileInGuest`.
 17022  type CreateTemporaryFileInGuestRequestType struct {
 17023  	This ManagedObjectReference `xml:"_this" json:"-"`
 17024  	// Virtual Machine to perform the operation on.
 17025  	//
 17026  	// Required privileges: VirtualMachine.GuestOperations.Modify
 17027  	//
 17028  	// Refers instance of `VirtualMachine`.
 17029  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 17030  	// The guest authentication data. See
 17031  	// `GuestAuthentication`.
 17032  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 17033  	// The prefix to be given to the new temporary file.
 17034  	Prefix string `xml:"prefix" json:"prefix"`
 17035  	// The suffix to be given to the new temporary file.
 17036  	Suffix string `xml:"suffix" json:"suffix"`
 17037  	// The complete path to the directory in which to
 17038  	// create the file.
 17039  	// If unset, or an empty string, a guest-specific location will be used.
 17040  	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
 17041  }
 17042  
 17043  func init() {
 17044  	t["CreateTemporaryFileInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryFileInGuestRequestType)(nil)).Elem()
 17045  }
 17046  
 17047  type CreateTemporaryFileInGuestResponse struct {
 17048  	Returnval string `xml:"returnval" json:"returnval"`
 17049  }
 17050  
 17051  type CreateUser CreateUserRequestType
 17052  
 17053  func init() {
 17054  	t["CreateUser"] = reflect.TypeOf((*CreateUser)(nil)).Elem()
 17055  }
 17056  
 17057  // The parameters of `HostLocalAccountManager.CreateUser`.
 17058  type CreateUserRequestType struct {
 17059  	This ManagedObjectReference `xml:"_this" json:"-"`
 17060  	// Specification of user being created.
 17061  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 17062  }
 17063  
 17064  func init() {
 17065  	t["CreateUserRequestType"] = reflect.TypeOf((*CreateUserRequestType)(nil)).Elem()
 17066  }
 17067  
 17068  type CreateUserResponse struct {
 17069  }
 17070  
 17071  type CreateVApp CreateVAppRequestType
 17072  
 17073  func init() {
 17074  	t["CreateVApp"] = reflect.TypeOf((*CreateVApp)(nil)).Elem()
 17075  }
 17076  
 17077  // The parameters of `ResourcePool.CreateVApp`.
 17078  type CreateVAppRequestType struct {
 17079  	This ManagedObjectReference `xml:"_this" json:"-"`
 17080  	// The name of the vApp container in the inventory
 17081  	Name string `xml:"name" json:"name"`
 17082  	// The resource configuration for the vApp container (same as for a
 17083  	// regular resource pool).
 17084  	ResSpec ResourceConfigSpec `xml:"resSpec" json:"resSpec"`
 17085  	// The specification of the vApp specific meta-data.
 17086  	ConfigSpec VAppConfigSpec `xml:"configSpec" json:"configSpec"`
 17087  	// The parent folder for the vApp. This must be null if this is
 17088  	// a child vApp.
 17089  	//
 17090  	// Refers instance of `Folder`.
 17091  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 17092  }
 17093  
 17094  func init() {
 17095  	t["CreateVAppRequestType"] = reflect.TypeOf((*CreateVAppRequestType)(nil)).Elem()
 17096  }
 17097  
 17098  type CreateVAppResponse struct {
 17099  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17100  }
 17101  
 17102  // The parameters of `Folder.CreateVM_Task`.
 17103  type CreateVMRequestType struct {
 17104  	This ManagedObjectReference `xml:"_this" json:"-"`
 17105  	// The configuration of the virtual machine hardware.
 17106  	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
 17107  	// The resource pool to which the virtual machine will be attached.
 17108  	//
 17109  	// Required privileges: Resource.AssignVMToPool
 17110  	//
 17111  	// Refers instance of `ResourcePool`.
 17112  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 17113  	// The target host on which the virtual machine will run. This must
 17114  	// specify a host that is a member of the ComputeResource indirectly
 17115  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 17116  	// host can be omitted, and the system selects a default.
 17117  	//
 17118  	// Refers instance of `HostSystem`.
 17119  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 17120  }
 17121  
 17122  func init() {
 17123  	t["CreateVMRequestType"] = reflect.TypeOf((*CreateVMRequestType)(nil)).Elem()
 17124  }
 17125  
 17126  type CreateVM_Task CreateVMRequestType
 17127  
 17128  func init() {
 17129  	t["CreateVM_Task"] = reflect.TypeOf((*CreateVM_Task)(nil)).Elem()
 17130  }
 17131  
 17132  type CreateVM_TaskResponse struct {
 17133  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17134  }
 17135  
 17136  // The parameters of `VirtualDiskManager.CreateVirtualDisk_Task`.
 17137  type CreateVirtualDiskRequestType struct {
 17138  	This ManagedObjectReference `xml:"_this" json:"-"`
 17139  	// The name of the disk, either a datastore path or a
 17140  	// URL referring to the virtual disk to be created.
 17141  	Name string `xml:"name" json:"name"`
 17142  	// If <code>name</code> is a datastore path, the datacenter for
 17143  	// that datastore path. Not needed when invoked directly on ESX.
 17144  	// If not specified on a call to VirtualCenter,
 17145  	// <code>name</code> must be a URL.
 17146  	//
 17147  	// Refers instance of `Datacenter`.
 17148  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 17149  	// The specification of the virtual disk to be created.
 17150  	Spec BaseVirtualDiskSpec `xml:"spec,typeattr" json:"spec"`
 17151  }
 17152  
 17153  func init() {
 17154  	t["CreateVirtualDiskRequestType"] = reflect.TypeOf((*CreateVirtualDiskRequestType)(nil)).Elem()
 17155  }
 17156  
 17157  type CreateVirtualDisk_Task CreateVirtualDiskRequestType
 17158  
 17159  func init() {
 17160  	t["CreateVirtualDisk_Task"] = reflect.TypeOf((*CreateVirtualDisk_Task)(nil)).Elem()
 17161  }
 17162  
 17163  type CreateVirtualDisk_TaskResponse struct {
 17164  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17165  }
 17166  
 17167  type CreateVmfsDatastore CreateVmfsDatastoreRequestType
 17168  
 17169  func init() {
 17170  	t["CreateVmfsDatastore"] = reflect.TypeOf((*CreateVmfsDatastore)(nil)).Elem()
 17171  }
 17172  
 17173  // The parameters of `HostDatastoreSystem.CreateVmfsDatastore`.
 17174  type CreateVmfsDatastoreRequestType struct {
 17175  	This ManagedObjectReference `xml:"_this" json:"-"`
 17176  	// The specification for creating a datastore backed by a VMFS.
 17177  	Spec VmfsDatastoreCreateSpec `xml:"spec" json:"spec"`
 17178  }
 17179  
 17180  func init() {
 17181  	t["CreateVmfsDatastoreRequestType"] = reflect.TypeOf((*CreateVmfsDatastoreRequestType)(nil)).Elem()
 17182  }
 17183  
 17184  type CreateVmfsDatastoreResponse struct {
 17185  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17186  }
 17187  
 17188  type CreateVvolDatastore CreateVvolDatastoreRequestType
 17189  
 17190  func init() {
 17191  	t["CreateVvolDatastore"] = reflect.TypeOf((*CreateVvolDatastore)(nil)).Elem()
 17192  }
 17193  
 17194  // The parameters of `HostDatastoreSystem.CreateVvolDatastore`.
 17195  type CreateVvolDatastoreRequestType struct {
 17196  	This ManagedObjectReference `xml:"_this" json:"-"`
 17197  	// Specification for creating a Virtual-Volume based datastore.
 17198  	Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec" json:"spec"`
 17199  }
 17200  
 17201  func init() {
 17202  	t["CreateVvolDatastoreRequestType"] = reflect.TypeOf((*CreateVvolDatastoreRequestType)(nil)).Elem()
 17203  }
 17204  
 17205  type CreateVvolDatastoreResponse struct {
 17206  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17207  }
 17208  
 17209  // Data Object representing a cryptographic key.
 17210  type CryptoKeyId struct {
 17211  	DynamicData
 17212  
 17213  	// Unique key ID.
 17214  	//
 17215  	// When creating a key may be replaced with the ID generated by the KMS
 17216  	// server.
 17217  	// An empty string must be used when encrypting with a Trusted Key Provider,
 17218  	// because the key is generated at the time of encryption.
 17219  	KeyId string `xml:"keyId" json:"keyId"`
 17220  	// The provider holding the key data.
 17221  	//
 17222  	// May be ignored if the key is known to be stored in another provider.
 17223  	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
 17224  }
 17225  
 17226  func init() {
 17227  	t["CryptoKeyId"] = reflect.TypeOf((*CryptoKeyId)(nil)).Elem()
 17228  }
 17229  
 17230  // Data Object representing a plain text cryptographic key.
 17231  type CryptoKeyPlain struct {
 17232  	DynamicData
 17233  
 17234  	KeyId     CryptoKeyId `xml:"keyId" json:"keyId"`
 17235  	Algorithm string      `xml:"algorithm" json:"algorithm"`
 17236  	KeyData   string      `xml:"keyData" json:"keyData"`
 17237  }
 17238  
 17239  func init() {
 17240  	t["CryptoKeyPlain"] = reflect.TypeOf((*CryptoKeyPlain)(nil)).Elem()
 17241  }
 17242  
 17243  // CryptoKeyResult.java --
 17244  // Data Object representing a cryptographic key operation result.
 17245  type CryptoKeyResult struct {
 17246  	DynamicData
 17247  
 17248  	KeyId   CryptoKeyId `xml:"keyId" json:"keyId"`
 17249  	Success bool        `xml:"success" json:"success"`
 17250  	Reason  string      `xml:"reason,omitempty" json:"reason,omitempty"`
 17251  	// Fault which includes details about the error.
 17252  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"7.0.1.0"`
 17253  }
 17254  
 17255  func init() {
 17256  	t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem()
 17257  }
 17258  
 17259  type CryptoManagerHostDisable CryptoManagerHostDisableRequestType
 17260  
 17261  func init() {
 17262  	t["CryptoManagerHostDisable"] = reflect.TypeOf((*CryptoManagerHostDisable)(nil)).Elem()
 17263  }
 17264  
 17265  type CryptoManagerHostDisableRequestType struct {
 17266  	This ManagedObjectReference `xml:"_this" json:"-"`
 17267  }
 17268  
 17269  func init() {
 17270  	t["CryptoManagerHostDisableRequestType"] = reflect.TypeOf((*CryptoManagerHostDisableRequestType)(nil)).Elem()
 17271  }
 17272  
 17273  type CryptoManagerHostDisableResponse struct {
 17274  }
 17275  
 17276  type CryptoManagerHostEnable CryptoManagerHostEnableRequestType
 17277  
 17278  func init() {
 17279  	t["CryptoManagerHostEnable"] = reflect.TypeOf((*CryptoManagerHostEnable)(nil)).Elem()
 17280  }
 17281  
 17282  // The parameters of `CryptoManagerHost.CryptoManagerHostEnable`.
 17283  type CryptoManagerHostEnableRequestType struct {
 17284  	This ManagedObjectReference `xml:"_this" json:"-"`
 17285  	// The key to be used for core dump encryption
 17286  	InitialKey CryptoKeyPlain `xml:"initialKey" json:"initialKey"`
 17287  }
 17288  
 17289  func init() {
 17290  	t["CryptoManagerHostEnableRequestType"] = reflect.TypeOf((*CryptoManagerHostEnableRequestType)(nil)).Elem()
 17291  }
 17292  
 17293  type CryptoManagerHostEnableResponse struct {
 17294  }
 17295  
 17296  // Status of a Crypto key on host.
 17297  type CryptoManagerHostKeyStatus struct {
 17298  	DynamicData
 17299  
 17300  	// Crypto key Id.
 17301  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17302  	// Whether the key is present in key cache for crypto operation.
 17303  	Present bool `xml:"present" json:"present"`
 17304  	// Key management type.
 17305  	//
 17306  	// See `CryptoManagerHostKeyManagementType_enum` for valid values.
 17307  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 17308  	// Whether the provider of the key has been granted access.
 17309  	AccessGranted *bool `xml:"accessGranted" json:"accessGranted,omitempty" vim:"8.0.3.0"`
 17310  }
 17311  
 17312  func init() {
 17313  	t["CryptoManagerHostKeyStatus"] = reflect.TypeOf((*CryptoManagerHostKeyStatus)(nil)).Elem()
 17314  	minAPIVersionForType["CryptoManagerHostKeyStatus"] = "8.0.1.0"
 17315  }
 17316  
 17317  type CryptoManagerHostPrepare CryptoManagerHostPrepareRequestType
 17318  
 17319  func init() {
 17320  	t["CryptoManagerHostPrepare"] = reflect.TypeOf((*CryptoManagerHostPrepare)(nil)).Elem()
 17321  }
 17322  
 17323  type CryptoManagerHostPrepareRequestType struct {
 17324  	This ManagedObjectReference `xml:"_this" json:"-"`
 17325  }
 17326  
 17327  func init() {
 17328  	t["CryptoManagerHostPrepareRequestType"] = reflect.TypeOf((*CryptoManagerHostPrepareRequestType)(nil)).Elem()
 17329  }
 17330  
 17331  type CryptoManagerHostPrepareResponse struct {
 17332  }
 17333  
 17334  type CryptoManagerKmipCertSignRequest struct {
 17335  	DynamicData
 17336  
 17337  	// Common name for the certificate sign request.
 17338  	//
 17339  	// This is fully qualified domain name that you wish to secure.
 17340  	CommonName string `xml:"commonName,omitempty" json:"commonName,omitempty"`
 17341  	// Organization name for the certificate sign request.
 17342  	//
 17343  	// Usually the legal name of a company or entity and
 17344  	// should include any suffixes such as Ltd., Inc., or Corp.
 17345  	Organization string `xml:"organization,omitempty" json:"organization,omitempty"`
 17346  	// Organizational unit name for the certificate sign request.
 17347  	//
 17348  	// Internal organization department/division name.
 17349  	OrganizationUnit string `xml:"organizationUnit,omitempty" json:"organizationUnit,omitempty"`
 17350  	// Locality name for the certificate sign request.
 17351  	//
 17352  	// Town, city, village, etc.
 17353  	Locality string `xml:"locality,omitempty" json:"locality,omitempty"`
 17354  	// State name for the certificate sign request.
 17355  	//
 17356  	// Province, region, county or state.
 17357  	State string `xml:"state,omitempty" json:"state,omitempty"`
 17358  	// Country Name for the certificate sign request.
 17359  	//
 17360  	// The two-letter ISO code for the country where your
 17361  	// organization is located.
 17362  	Country string `xml:"country,omitempty" json:"country,omitempty"`
 17363  	// Email address for the certificate sign request.
 17364  	//
 17365  	// The organization contact, usually of the certificate
 17366  	// administrator or IT department.
 17367  	Email string `xml:"email,omitempty" json:"email,omitempty"`
 17368  }
 17369  
 17370  func init() {
 17371  	t["CryptoManagerKmipCertSignRequest"] = reflect.TypeOf((*CryptoManagerKmipCertSignRequest)(nil)).Elem()
 17372  	minAPIVersionForType["CryptoManagerKmipCertSignRequest"] = "8.0.1.0"
 17373  }
 17374  
 17375  // Basic information of a certificate.
 17376  type CryptoManagerKmipCertificateInfo struct {
 17377  	DynamicData
 17378  
 17379  	// Subject identifies whom the certificate is issued to.
 17380  	Subject string `xml:"subject" json:"subject"`
 17381  	// Issuer identifies the party that issued this certificate.
 17382  	Issuer string `xml:"issuer" json:"issuer"`
 17383  	// The unique serial number of the certificate given by issuer.
 17384  	SerialNumber string `xml:"serialNumber" json:"serialNumber"`
 17385  	// The beginning time of the period of validity.
 17386  	NotBefore time.Time `xml:"notBefore" json:"notBefore"`
 17387  	// The ending time of the period of validity.
 17388  	NotAfter time.Time `xml:"notAfter" json:"notAfter"`
 17389  	// The SSL SHA1 fingerprint of the certificate.
 17390  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 17391  	// The timestamp when the state of the certificate is checked.
 17392  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 17393  	// Total seconds since this certificate has entered valid state.
 17394  	//
 17395  	// It is the time difference between "now" and "notBefore".
 17396  	// If it is negative value, that means the certificate will become
 17397  	// valid in a future time.
 17398  	SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty" json:"secondsSinceValid,omitempty"`
 17399  	// Total seconds before this certificate expires.
 17400  	//
 17401  	// It is the time difference between "notAfter" and "now".
 17402  	// If it is negative value, that means the certificate has already
 17403  	// expired.
 17404  	SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty" json:"secondsBeforeExpire,omitempty"`
 17405  }
 17406  
 17407  func init() {
 17408  	t["CryptoManagerKmipCertificateInfo"] = reflect.TypeOf((*CryptoManagerKmipCertificateInfo)(nil)).Elem()
 17409  }
 17410  
 17411  // Status of a KMIP cluster.
 17412  type CryptoManagerKmipClusterStatus struct {
 17413  	DynamicData
 17414  
 17415  	// The ID of the KMIP cluster.
 17416  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 17417  	// KMS cluster overall status.
 17418  	OverallStatus ManagedEntityStatus `xml:"overallStatus,omitempty" json:"overallStatus,omitempty"`
 17419  	// Key provider management type.
 17420  	//
 17421  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 17422  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 17423  	// Status of the KMIP servers in this cluster.
 17424  	Servers []CryptoManagerKmipServerStatus `xml:"servers" json:"servers"`
 17425  	// The basic information about the client's certificate.
 17426  	ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty" json:"clientCertInfo,omitempty"`
 17427  }
 17428  
 17429  func init() {
 17430  	t["CryptoManagerKmipClusterStatus"] = reflect.TypeOf((*CryptoManagerKmipClusterStatus)(nil)).Elem()
 17431  }
 17432  
 17433  // Status of a Crypto key
 17434  type CryptoManagerKmipCryptoKeyStatus struct {
 17435  	DynamicData
 17436  
 17437  	// Crypto key Id
 17438  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 17439  	// If the key is available for crypto operation
 17440  	KeyAvailable *bool `xml:"keyAvailable" json:"keyAvailable,omitempty"`
 17441  	// The reason for key not available, valid when keyAvailable is false.
 17442  	//
 17443  	// `CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum` lists the set of supported values.
 17444  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 17445  	// The list of VMs which use that key
 17446  	//
 17447  	// Refers instances of `VirtualMachine`.
 17448  	EncryptedVMs []ManagedObjectReference `xml:"encryptedVMs,omitempty" json:"encryptedVMs,omitempty"`
 17449  	// The lists of hosts which use that key as host key
 17450  	//
 17451  	// Refers instances of `HostSystem`.
 17452  	AffectedHosts []ManagedObjectReference `xml:"affectedHosts,omitempty" json:"affectedHosts,omitempty"`
 17453  	// The identifier list for the 3rd party who are using the key
 17454  	ReferencedByTags []string `xml:"referencedByTags,omitempty" json:"referencedByTags,omitempty"`
 17455  }
 17456  
 17457  func init() {
 17458  	t["CryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatus)(nil)).Elem()
 17459  }
 17460  
 17461  // Crypto key custom attribute spec
 17462  type CryptoManagerKmipCustomAttributeSpec struct {
 17463  	DynamicData
 17464  
 17465  	// Crypto key custom attributes
 17466  	Attributes []KeyValue `xml:"attributes,omitempty" json:"attributes,omitempty"`
 17467  }
 17468  
 17469  func init() {
 17470  	t["CryptoManagerKmipCustomAttributeSpec"] = reflect.TypeOf((*CryptoManagerKmipCustomAttributeSpec)(nil)).Elem()
 17471  	minAPIVersionForType["CryptoManagerKmipCustomAttributeSpec"] = "8.0.1.0"
 17472  }
 17473  
 17474  // Information about the KMIP server certificate.
 17475  type CryptoManagerKmipServerCertInfo struct {
 17476  	DynamicData
 17477  
 17478  	// The server certificate.
 17479  	Certificate string `xml:"certificate" json:"certificate"`
 17480  	// The basic information about server's certificate.
 17481  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17482  	// Whether this KMS server is trusted by local Kmip client.
 17483  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17484  }
 17485  
 17486  func init() {
 17487  	t["CryptoManagerKmipServerCertInfo"] = reflect.TypeOf((*CryptoManagerKmipServerCertInfo)(nil)).Elem()
 17488  }
 17489  
 17490  // Status of a KMIP server.
 17491  type CryptoManagerKmipServerStatus struct {
 17492  	DynamicData
 17493  
 17494  	// Name of the KMIP server.
 17495  	Name string `xml:"name" json:"name"`
 17496  	// KMIP server status.
 17497  	Status ManagedEntityStatus `xml:"status" json:"status"`
 17498  	// KMIP server connection status description.
 17499  	ConnectionStatus string `xml:"connectionStatus" json:"connectionStatus"`
 17500  	// The basic information about the KMIP server's certificate.
 17501  	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
 17502  	// Whether this KMS server is trusted by local Kmip client.
 17503  	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
 17504  	// Whether this KMS server trusts the local Kmip client.
 17505  	ServerTrustClient *bool `xml:"serverTrustClient" json:"serverTrustClient,omitempty"`
 17506  }
 17507  
 17508  func init() {
 17509  	t["CryptoManagerKmipServerStatus"] = reflect.TypeOf((*CryptoManagerKmipServerStatus)(nil)).Elem()
 17510  }
 17511  
 17512  // This data object type encapsulates virtual machine or disk encryption
 17513  // settings.
 17514  type CryptoSpec struct {
 17515  	DynamicData
 17516  }
 17517  
 17518  func init() {
 17519  	t["CryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem()
 17520  }
 17521  
 17522  // This data object type encapsulates virtual machine or disk encryption
 17523  // settings for decryption operation.
 17524  type CryptoSpecDecrypt struct {
 17525  	CryptoSpec
 17526  }
 17527  
 17528  func init() {
 17529  	t["CryptoSpecDecrypt"] = reflect.TypeOf((*CryptoSpecDecrypt)(nil)).Elem()
 17530  }
 17531  
 17532  // This data object type encapsulates virtual machine or disk cryptographic
 17533  // settings for deep reencryption operation.
 17534  type CryptoSpecDeepRecrypt struct {
 17535  	CryptoSpec
 17536  
 17537  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17538  }
 17539  
 17540  func init() {
 17541  	t["CryptoSpecDeepRecrypt"] = reflect.TypeOf((*CryptoSpecDeepRecrypt)(nil)).Elem()
 17542  }
 17543  
 17544  // This data object type encapsulates virtual machine or disk cryptohraphic
 17545  // settings for encryption operation.
 17546  type CryptoSpecEncrypt struct {
 17547  	CryptoSpec
 17548  
 17549  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17550  }
 17551  
 17552  func init() {
 17553  	t["CryptoSpecEncrypt"] = reflect.TypeOf((*CryptoSpecEncrypt)(nil)).Elem()
 17554  }
 17555  
 17556  // This data object type indicates that the encryption settings of the
 17557  // virtual machine or disk should not be modified by the operation.
 17558  type CryptoSpecNoOp struct {
 17559  	CryptoSpec
 17560  }
 17561  
 17562  func init() {
 17563  	t["CryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem()
 17564  }
 17565  
 17566  // This data object type indicates that the operation requires keys to be sent
 17567  // but the encryption settings of the virtual machine or disk
 17568  // should not be modified by the operation.
 17569  type CryptoSpecRegister struct {
 17570  	CryptoSpecNoOp
 17571  
 17572  	// The key the VM/disk is already encrypted with.
 17573  	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
 17574  }
 17575  
 17576  func init() {
 17577  	t["CryptoSpecRegister"] = reflect.TypeOf((*CryptoSpecRegister)(nil)).Elem()
 17578  }
 17579  
 17580  // This data object type encapsulates virtual machine or disk cryptographic
 17581  // settings for shallow reencryption operation.
 17582  type CryptoSpecShallowRecrypt struct {
 17583  	CryptoSpec
 17584  
 17585  	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
 17586  }
 17587  
 17588  func init() {
 17589  	t["CryptoSpecShallowRecrypt"] = reflect.TypeOf((*CryptoSpecShallowRecrypt)(nil)).Elem()
 17590  }
 17591  
 17592  type CryptoUnlockRequestType struct {
 17593  	This ManagedObjectReference `xml:"_this" json:"-"`
 17594  }
 17595  
 17596  func init() {
 17597  	t["CryptoUnlockRequestType"] = reflect.TypeOf((*CryptoUnlockRequestType)(nil)).Elem()
 17598  }
 17599  
 17600  type CryptoUnlock_Task CryptoUnlockRequestType
 17601  
 17602  func init() {
 17603  	t["CryptoUnlock_Task"] = reflect.TypeOf((*CryptoUnlock_Task)(nil)).Elem()
 17604  }
 17605  
 17606  type CryptoUnlock_TaskResponse struct {
 17607  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 17608  }
 17609  
 17610  type CurrentTime CurrentTimeRequestType
 17611  
 17612  func init() {
 17613  	t["CurrentTime"] = reflect.TypeOf((*CurrentTime)(nil)).Elem()
 17614  }
 17615  
 17616  type CurrentTimeRequestType struct {
 17617  	This ManagedObjectReference `xml:"_this" json:"-"`
 17618  }
 17619  
 17620  func init() {
 17621  	t["CurrentTimeRequestType"] = reflect.TypeOf((*CurrentTimeRequestType)(nil)).Elem()
 17622  }
 17623  
 17624  type CurrentTimeResponse struct {
 17625  	Returnval time.Time `xml:"returnval" json:"returnval"`
 17626  }
 17627  
 17628  // Describes a custom field.
 17629  type CustomFieldDef struct {
 17630  	DynamicData
 17631  
 17632  	// A unique ID used to reference this custom field in assignments.
 17633  	//
 17634  	// This
 17635  	// ID is unique for the lifetime of the field (even across
 17636  	// rename operations).
 17637  	Key int32 `xml:"key" json:"key"`
 17638  	// Name of the field.
 17639  	Name string `xml:"name" json:"name"`
 17640  	// Type of the field.
 17641  	Type string `xml:"type" json:"type"`
 17642  	// Type of object for which the field is valid.
 17643  	//
 17644  	// If not specified,
 17645  	// the field is valid for all managed objects.
 17646  	ManagedObjectType string `xml:"managedObjectType,omitempty" json:"managedObjectType,omitempty"`
 17647  	// The set of privileges to apply on this field definition
 17648  	FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty" json:"fieldDefPrivileges,omitempty"`
 17649  	// The set of privileges to apply on instances of this field
 17650  	FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty" json:"fieldInstancePrivileges,omitempty"`
 17651  }
 17652  
 17653  func init() {
 17654  	t["CustomFieldDef"] = reflect.TypeOf((*CustomFieldDef)(nil)).Elem()
 17655  }
 17656  
 17657  // This event records the addition of a custom field definition.
 17658  type CustomFieldDefAddedEvent struct {
 17659  	CustomFieldDefEvent
 17660  }
 17661  
 17662  func init() {
 17663  	t["CustomFieldDefAddedEvent"] = reflect.TypeOf((*CustomFieldDefAddedEvent)(nil)).Elem()
 17664  }
 17665  
 17666  // This event records a custom field definition event.
 17667  type CustomFieldDefEvent struct {
 17668  	CustomFieldEvent
 17669  
 17670  	// The unique identifier of the custom field definition.
 17671  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17672  	// The name of the custom field.
 17673  	Name string `xml:"name" json:"name"`
 17674  }
 17675  
 17676  func init() {
 17677  	t["CustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem()
 17678  }
 17679  
 17680  // This event records the removal of a custom field definition.
 17681  type CustomFieldDefRemovedEvent struct {
 17682  	CustomFieldDefEvent
 17683  }
 17684  
 17685  func init() {
 17686  	t["CustomFieldDefRemovedEvent"] = reflect.TypeOf((*CustomFieldDefRemovedEvent)(nil)).Elem()
 17687  }
 17688  
 17689  // This event records the renaming of a custom field definition.
 17690  type CustomFieldDefRenamedEvent struct {
 17691  	CustomFieldDefEvent
 17692  
 17693  	NewName string `xml:"newName" json:"newName"`
 17694  }
 17695  
 17696  func init() {
 17697  	t["CustomFieldDefRenamedEvent"] = reflect.TypeOf((*CustomFieldDefRenamedEvent)(nil)).Elem()
 17698  }
 17699  
 17700  // These are custom field events.
 17701  type CustomFieldEvent struct {
 17702  	Event
 17703  }
 17704  
 17705  func init() {
 17706  	t["CustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem()
 17707  }
 17708  
 17709  // Subtype for string values (currently the only supported type).
 17710  type CustomFieldStringValue struct {
 17711  	CustomFieldValue
 17712  
 17713  	// Value assigned to the custom field.
 17714  	Value string `xml:"value" json:"value"`
 17715  }
 17716  
 17717  func init() {
 17718  	t["CustomFieldStringValue"] = reflect.TypeOf((*CustomFieldStringValue)(nil)).Elem()
 17719  }
 17720  
 17721  // Base type for storing values.
 17722  type CustomFieldValue struct {
 17723  	DynamicData
 17724  
 17725  	// The ID of the field to which this value belongs.
 17726  	Key int32 `xml:"key" json:"key"`
 17727  }
 17728  
 17729  func init() {
 17730  	t["CustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem()
 17731  }
 17732  
 17733  // This event records a change to a custom field value for a particular entity.
 17734  type CustomFieldValueChangedEvent struct {
 17735  	CustomFieldEvent
 17736  
 17737  	// The entity on which the field value was changed.
 17738  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 17739  	// The custom field whose value was changed for the entity.
 17740  	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
 17741  	// The name of the custom field at the time the value was changed.
 17742  	Name string `xml:"name" json:"name"`
 17743  	// The new value that was set.
 17744  	Value string `xml:"value" json:"value"`
 17745  	// The previous service state.
 17746  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 17747  }
 17748  
 17749  func init() {
 17750  	t["CustomFieldValueChangedEvent"] = reflect.TypeOf((*CustomFieldValueChangedEvent)(nil)).Elem()
 17751  }
 17752  
 17753  // Data object type to associate a virtual network adapter with its IP settings.
 17754  type CustomizationAdapterMapping struct {
 17755  	DynamicData
 17756  
 17757  	// The MAC address of a network adapter being customized.
 17758  	//
 17759  	// The client cannot change
 17760  	// this value because the guest operating system has no control over the MAC
 17761  	// address of a virtual network adapter.
 17762  	//
 17763  	// This property is optional. If it is not included, the customization process maps
 17764  	// the settings from the list of AdapterMappings.IPSettings in the
 17765  	// Specification.nicSettingMap to the virtual machine's network adapters, in PCI
 17766  	// slot order. The first virtual network adapter on the PCI bus is assigned
 17767  	// nicSettingMap\[0\].IPSettings, the second adapter is assigned
 17768  	// nicSettingMap\[1\].IPSettings, and so on.
 17769  	//
 17770  	// In vSphere 7.0 series, the MAC addresses must be specified in the
 17771  	// ascending order of pciSlotNumber, otherwise a MAC address mismatch error
 17772  	// will be reported. For further details, see the
 17773  	// https://kb.vmware.com/s/article/87648
 17774  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 17775  	// The IP settings for the associated virtual network adapter.
 17776  	Adapter CustomizationIPSettings `xml:"adapter" json:"adapter"`
 17777  }
 17778  
 17779  func init() {
 17780  	t["CustomizationAdapterMapping"] = reflect.TypeOf((*CustomizationAdapterMapping)(nil)).Elem()
 17781  }
 17782  
 17783  // Use automatic address configuration to generate linklocal ipv6 addresses
 17784  type CustomizationAutoIpV6Generator struct {
 17785  	CustomizationIpV6Generator
 17786  }
 17787  
 17788  func init() {
 17789  	t["CustomizationAutoIpV6Generator"] = reflect.TypeOf((*CustomizationAutoIpV6Generator)(nil)).Elem()
 17790  }
 17791  
 17792  // Guest customization settings to customize a Linux guest operating
 17793  // system with raw cloud-init data.
 17794  type CustomizationCloudinitPrep struct {
 17795  	CustomizationIdentitySettings
 17796  
 17797  	// Metadata includes the network, instance id and hostname that cloud-init
 17798  	// processes to configure the VM.
 17799  	//
 17800  	// It is in json or yaml format.
 17801  	// The max size of the metadata is 524288 bytes.
 17802  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#"target="_blank">Instance Metadata</a>.
 17803  	Metadata string `xml:"metadata" json:"metadata"`
 17804  	// Userdata is the user custom content that cloud-init processes to
 17805  	// configure the VM.
 17806  	//
 17807  	// The max size of the userdata is 524288 bytes.
 17808  	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html"target="_blank">User-Data formats</a>.
 17809  	Userdata string `xml:"userdata,omitempty" json:"userdata,omitempty"`
 17810  }
 17811  
 17812  func init() {
 17813  	t["CustomizationCloudinitPrep"] = reflect.TypeOf((*CustomizationCloudinitPrep)(nil)).Elem()
 17814  	minAPIVersionForType["CustomizationCloudinitPrep"] = "7.0.3.0"
 17815  }
 17816  
 17817  // Use a command-line program configured with the VirtualCenter server.
 17818  type CustomizationCustomIpGenerator struct {
 17819  	CustomizationIpGenerator
 17820  
 17821  	// An optional argument that is passed to the utility for this IP address.
 17822  	//
 17823  	// The
 17824  	// meaning of this field is user-defined, in the script.
 17825  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17826  }
 17827  
 17828  func init() {
 17829  	t["CustomizationCustomIpGenerator"] = reflect.TypeOf((*CustomizationCustomIpGenerator)(nil)).Elem()
 17830  }
 17831  
 17832  // Use a command-line program configured with the VirtualCenter server.
 17833  type CustomizationCustomIpV6Generator struct {
 17834  	CustomizationIpV6Generator
 17835  
 17836  	// An optional argument that is passed to the utility for this ipv6 address.
 17837  	//
 17838  	// The
 17839  	// meaning of this field is user-defined, in the script.
 17840  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17841  }
 17842  
 17843  func init() {
 17844  	t["CustomizationCustomIpV6Generator"] = reflect.TypeOf((*CustomizationCustomIpV6Generator)(nil)).Elem()
 17845  }
 17846  
 17847  // Specifies that the VirtualCenter server will launch an external application to
 17848  // generate the (hostname/IP).
 17849  //
 17850  // The command line for this application must be specified
 17851  // in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key.
 17852  type CustomizationCustomName struct {
 17853  	CustomizationName
 17854  
 17855  	// An optional argument that is passed to the utility for this IP address.
 17856  	//
 17857  	// The
 17858  	// meaning of this field is user-defined in the script.
 17859  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 17860  }
 17861  
 17862  func init() {
 17863  	t["CustomizationCustomName"] = reflect.TypeOf((*CustomizationCustomName)(nil)).Elem()
 17864  }
 17865  
 17866  // Use a DHCP server to configure the virtual network adapter.
 17867  type CustomizationDhcpIpGenerator struct {
 17868  	CustomizationIpGenerator
 17869  }
 17870  
 17871  func init() {
 17872  	t["CustomizationDhcpIpGenerator"] = reflect.TypeOf((*CustomizationDhcpIpGenerator)(nil)).Elem()
 17873  }
 17874  
 17875  // Use a DHCP server to configure ipv6 address
 17876  type CustomizationDhcpIpV6Generator struct {
 17877  	CustomizationIpV6Generator
 17878  }
 17879  
 17880  func init() {
 17881  	t["CustomizationDhcpIpV6Generator"] = reflect.TypeOf((*CustomizationDhcpIpV6Generator)(nil)).Elem()
 17882  }
 17883  
 17884  // Base for customization events.
 17885  type CustomizationEvent struct {
 17886  	VmEvent
 17887  
 17888  	// The location of the in-guest customization log which will contain
 17889  	// details of the customization operation.
 17890  	LogLocation string `xml:"logLocation,omitempty" json:"logLocation,omitempty"`
 17891  }
 17892  
 17893  func init() {
 17894  	t["CustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem()
 17895  }
 17896  
 17897  // The customization sequence in the guest failed.
 17898  type CustomizationFailed struct {
 17899  	CustomizationEvent
 17900  
 17901  	// Reason why the customization failed @see CustomizationFailed.ReasonCode .
 17902  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 17903  }
 17904  
 17905  func init() {
 17906  	t["CustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem()
 17907  }
 17908  
 17909  // Base for exceptions that can be thrown from the customizer.
 17910  type CustomizationFault struct {
 17911  	VimFault
 17912  }
 17913  
 17914  func init() {
 17915  	t["CustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem()
 17916  }
 17917  
 17918  type CustomizationFaultFault BaseCustomizationFault
 17919  
 17920  func init() {
 17921  	t["CustomizationFaultFault"] = reflect.TypeOf((*CustomizationFaultFault)(nil)).Elem()
 17922  }
 17923  
 17924  // Use a static IP Address for the virtual network adapter.
 17925  type CustomizationFixedIp struct {
 17926  	CustomizationIpGenerator
 17927  
 17928  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 17929  }
 17930  
 17931  func init() {
 17932  	t["CustomizationFixedIp"] = reflect.TypeOf((*CustomizationFixedIp)(nil)).Elem()
 17933  }
 17934  
 17935  // Use a static ipv6 address for the virtual network adapter
 17936  type CustomizationFixedIpV6 struct {
 17937  	CustomizationIpV6Generator
 17938  
 17939  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 17940  	SubnetMask int32  `xml:"subnetMask" json:"subnetMask"`
 17941  }
 17942  
 17943  func init() {
 17944  	t["CustomizationFixedIpV6"] = reflect.TypeOf((*CustomizationFixedIpV6)(nil)).Elem()
 17945  }
 17946  
 17947  // A fixed name.
 17948  type CustomizationFixedName struct {
 17949  	CustomizationName
 17950  
 17951  	// The virtual machine name specified by the client.
 17952  	Name string `xml:"name" json:"name"`
 17953  }
 17954  
 17955  func init() {
 17956  	t["CustomizationFixedName"] = reflect.TypeOf((*CustomizationFixedName)(nil)).Elem()
 17957  }
 17958  
 17959  // A collection of global IP settings for a virtual network adapter.
 17960  //
 17961  // In Linux, DNS
 17962  // server settings are global. The settings can either be statically set or supplied
 17963  // by a DHCP server.
 17964  type CustomizationGlobalIPSettings struct {
 17965  	DynamicData
 17966  
 17967  	// List of name resolution suffixes for the virtual network adapter.
 17968  	//
 17969  	// This list
 17970  	// applies to both Windows and Linux guest customization. For Linux, this setting
 17971  	// is global, whereas in Windows, this setting is listed on a per-adapter basis,
 17972  	// even though the setting is global in Windows.
 17973  	DnsSuffixList []string `xml:"dnsSuffixList,omitempty" json:"dnsSuffixList,omitempty"`
 17974  	// List of DNS servers, for a virtual network adapter with a static IP address.
 17975  	//
 17976  	// If
 17977  	// this list is empty, then the guest operating system is expected to use a DHCP
 17978  	// server to get its DNS server settings. These settings configure the virtual
 17979  	// machine to use the specified DNS servers. These DNS server settings are listed
 17980  	// in order of preference.
 17981  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 17982  }
 17983  
 17984  func init() {
 17985  	t["CustomizationGlobalIPSettings"] = reflect.TypeOf((*CustomizationGlobalIPSettings)(nil)).Elem()
 17986  }
 17987  
 17988  // The commands listed in the GuiRunOnce data object type are executed when a user
 17989  // logs on the first time after customization completes.
 17990  //
 17991  // The logon may be driven by
 17992  // the `AutoLogon` setting.
 17993  //
 17994  // The GuiRunOnce data object type maps to the GuiRunOnce key in the
 17995  // `sysprep.xml` answer file. These values are transferred into the
 17996  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 17997  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 17998  type CustomizationGuiRunOnce struct {
 17999  	DynamicData
 18000  
 18001  	// A list of commands to run at first user logon, after guest customization.
 18002  	CommandList []string `xml:"commandList" json:"commandList"`
 18003  }
 18004  
 18005  func init() {
 18006  	t["CustomizationGuiRunOnce"] = reflect.TypeOf((*CustomizationGuiRunOnce)(nil)).Elem()
 18007  }
 18008  
 18009  // The GuiUnattended type maps to the GuiUnattended key in the `sysprep.xml`
 18010  // answer file.
 18011  //
 18012  // These values are plugged directly into the `sysprep.xml` file
 18013  // that VirtualCenter stores on the target virtual disk. For more detailed
 18014  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18015  type CustomizationGuiUnattended struct {
 18016  	DynamicData
 18017  
 18018  	// The new administrator password for the machine.
 18019  	//
 18020  	// To specify that the password
 18021  	// should be set to blank (that is, no password), set the password value to NULL.
 18022  	// Because of encryption, "" is NOT a valid value.
 18023  	//
 18024  	// If password is set to blank and `CustomizationGuiUnattended.autoLogon` is set, the
 18025  	// guest customization will fail.
 18026  	//
 18027  	// If the XML file is generated by the VirtualCenter Customization Wizard, then the
 18028  	// password is encrypted. Otherwise, the client should set the plainText attribute
 18029  	// to true, so that the customization process does not attempt to decrypt the
 18030  	// string.
 18031  	Password *CustomizationPassword `xml:"password,omitempty" json:"password,omitempty"`
 18032  	// The time zone index for the virtual machine.
 18033  	//
 18034  	// Numbers correspond to time zones
 18035  	// 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>.
 18036  	TimeZone int32 `xml:"timeZone" json:"timeZone"`
 18037  	// Flag to determine whether or not the machine automatically logs on as
 18038  	// Administrator.
 18039  	//
 18040  	// See also the password property.
 18041  	//
 18042  	// If the AutoLogon flag is set, `CustomizationGuiUnattended.password` must not be
 18043  	// blank or the guest customization will fail.
 18044  	AutoLogon bool `xml:"autoLogon" json:"autoLogon"`
 18045  	// If the AutoLogon flag is set, then the AutoLogonCount property specifies the
 18046  	// number of times the machine should automatically log on as Administrator.
 18047  	//
 18048  	// Generally it should be 1, but if your setup requires a number of reboots, you
 18049  	// may want to increase it. This number may be determined by the list of commands
 18050  	// executed by the `GuiRunOnce` command.
 18051  	AutoLogonCount int32 `xml:"autoLogonCount" json:"autoLogonCount"`
 18052  }
 18053  
 18054  func init() {
 18055  	t["CustomizationGuiUnattended"] = reflect.TypeOf((*CustomizationGuiUnattended)(nil)).Elem()
 18056  }
 18057  
 18058  // IP settings for a virtual network adapter.
 18059  type CustomizationIPSettings struct {
 18060  	DynamicData
 18061  
 18062  	// Specification to obtain a unique IP address for this virtual network adapter.
 18063  	Ip BaseCustomizationIpGenerator `xml:"ip,typeattr" json:"ip"`
 18064  	// Subnet mask for this virtual network adapter.
 18065  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 18066  	// For a virtual network adapter with a static IP address, this data object type
 18067  	// contains a list of gateways, in order of preference.
 18068  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18069  	// This contains the IpGenerator, subnet mask and gateway info for all
 18070  	// the ipv6 addresses associated with the virtual network adapter.
 18071  	IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty" json:"ipV6Spec,omitempty"`
 18072  	// A list of server IP addresses to use for DNS lookup in a Windows guest operating
 18073  	// system.
 18074  	//
 18075  	// In Windows, these settings are adapter-specific, whereas in Linux, they
 18076  	// are global. As a result, the Linux guest customization process ignores this
 18077  	// setting and looks for its DNS servers in the globalIPSettings object.
 18078  	//
 18079  	// Specify these servers in order of preference. If this list is not empty, and if
 18080  	// a DHCP IpGenerator is used, then these settings override the DHCP settings.
 18081  	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
 18082  	// A DNS domain suffix such as vmware.com.
 18083  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 18084  	// The IP address of the primary WINS server.
 18085  	//
 18086  	// This property is ignored for Linux
 18087  	// guest operating systems.
 18088  	PrimaryWINS string `xml:"primaryWINS,omitempty" json:"primaryWINS,omitempty"`
 18089  	// The IP address of the secondary WINS server.
 18090  	//
 18091  	// This property is ignored for Linux
 18092  	// guest operating systems.
 18093  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
 18094  	// NetBIOS setting for Windows.
 18095  	NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty" json:"netBIOS,omitempty"`
 18096  }
 18097  
 18098  func init() {
 18099  	t["CustomizationIPSettings"] = reflect.TypeOf((*CustomizationIPSettings)(nil)).Elem()
 18100  }
 18101  
 18102  // IPv6 settings
 18103  type CustomizationIPSettingsIpV6AddressSpec struct {
 18104  	DynamicData
 18105  
 18106  	// ipv6 address generators
 18107  	Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr" json:"ip"`
 18108  	// gateways
 18109  	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 18110  }
 18111  
 18112  func init() {
 18113  	t["CustomizationIPSettingsIpV6AddressSpec"] = reflect.TypeOf((*CustomizationIPSettingsIpV6AddressSpec)(nil)).Elem()
 18114  }
 18115  
 18116  // The Identification data object type provides information needed to join a workgroup
 18117  // or domain.
 18118  //
 18119  // The Identification data object type maps to the Identification key in the
 18120  // `sysprep.xml` answer file. These values are transferred into the
 18121  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18122  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18123  type CustomizationIdentification struct {
 18124  	DynamicData
 18125  
 18126  	// The workgroup that the virtual machine should join.
 18127  	//
 18128  	// If this value is supplied,
 18129  	// then the domain name and authentication fields must be empty.
 18130  	JoinWorkgroup string `xml:"joinWorkgroup,omitempty" json:"joinWorkgroup,omitempty"`
 18131  	// The domain that the virtual machine should join.
 18132  	//
 18133  	// If this value is supplied, then
 18134  	// domainAdmin and domainAdminPassword must also be supplied, and the workgroup
 18135  	// name must be empty.
 18136  	JoinDomain string `xml:"joinDomain,omitempty" json:"joinDomain,omitempty"`
 18137  	// This is the domain user account used for authentication if the virtual machine
 18138  	// is joining a domain.
 18139  	//
 18140  	// The user does not need to be a domain administrator, but
 18141  	// the account must have the privileges required to add computers to the domain.
 18142  	DomainAdmin string `xml:"domainAdmin,omitempty" json:"domainAdmin,omitempty"`
 18143  	// This is the password for the domain user account used for authentication if the
 18144  	// virtual machine is joining a domain.
 18145  	DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty" json:"domainAdminPassword,omitempty"`
 18146  	// This is the MachineObjectOU which specifies the full LDAP path name of
 18147  	// the OU to which the computer belongs.
 18148  	//
 18149  	// For example, OU=MyOu,DC=MyDom,DC=MyCompany,DC=com
 18150  	// Refer to: https://docs.microsoft.com/en-us/windows-hardware/customize/
 18151  	// desktop/unattend/microsoft-windows-unattendedjoin-
 18152  	// identification-machineobjectou
 18153  	DomainOU string `xml:"domainOU,omitempty" json:"domainOU,omitempty" vim:"8.0.2.0"`
 18154  }
 18155  
 18156  func init() {
 18157  	t["CustomizationIdentification"] = reflect.TypeOf((*CustomizationIdentification)(nil)).Elem()
 18158  }
 18159  
 18160  // Base type for sysprep, sysprepText, or linuxPrep object type.
 18161  type CustomizationIdentitySettings struct {
 18162  	DynamicData
 18163  }
 18164  
 18165  func init() {
 18166  	t["CustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem()
 18167  }
 18168  
 18169  // Base type for the various IP specification possibilities.
 18170  type CustomizationIpGenerator struct {
 18171  	DynamicData
 18172  }
 18173  
 18174  func init() {
 18175  	t["CustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem()
 18176  }
 18177  
 18178  // Base type for the various IpV6 specification possibilities
 18179  type CustomizationIpV6Generator struct {
 18180  	DynamicData
 18181  }
 18182  
 18183  func init() {
 18184  	t["CustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem()
 18185  }
 18186  
 18187  // The LicenseFilePrintData type maps directly to the LicenseFilePrintData key in the
 18188  // `sysprep.xml` answer file.
 18189  //
 18190  // These values are transferred into the
 18191  // `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For
 18192  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18193  // LicenseFilePrintData provides licensing information for Windows server operating
 18194  // systems.
 18195  type CustomizationLicenseFilePrintData struct {
 18196  	DynamicData
 18197  
 18198  	// Server licensing mode
 18199  	AutoMode CustomizationLicenseDataMode `xml:"autoMode" json:"autoMode"`
 18200  	// This key is valid only if AutoMode = PerServer.
 18201  	//
 18202  	// The integer value indicates the
 18203  	// number of client licenses purchased for the VirtualCenter server being
 18204  	// installed.
 18205  	AutoUsers int32 `xml:"autoUsers,omitempty" json:"autoUsers,omitempty"`
 18206  }
 18207  
 18208  func init() {
 18209  	t["CustomizationLicenseFilePrintData"] = reflect.TypeOf((*CustomizationLicenseFilePrintData)(nil)).Elem()
 18210  }
 18211  
 18212  // Failed to set Linux identity.
 18213  type CustomizationLinuxIdentityFailed struct {
 18214  	CustomizationFailed
 18215  }
 18216  
 18217  func init() {
 18218  	t["CustomizationLinuxIdentityFailed"] = reflect.TypeOf((*CustomizationLinuxIdentityFailed)(nil)).Elem()
 18219  }
 18220  
 18221  // Base object type for optional operations supported by the customization process for
 18222  // Linux.
 18223  type CustomizationLinuxOptions struct {
 18224  	CustomizationOptions
 18225  }
 18226  
 18227  func init() {
 18228  	t["CustomizationLinuxOptions"] = reflect.TypeOf((*CustomizationLinuxOptions)(nil)).Elem()
 18229  }
 18230  
 18231  // This is the Linux counterpart to the Windows Sysprep object.
 18232  //
 18233  // LinuxPrep contains
 18234  // machine-wide settings that identify a Linux machine in the same way that the
 18235  // Sysprep type identifies a Windows machine.
 18236  type CustomizationLinuxPrep struct {
 18237  	CustomizationIdentitySettings
 18238  
 18239  	// The network host name of the (Linux) virtual machine.
 18240  	HostName BaseCustomizationName `xml:"hostName,typeattr" json:"hostName"`
 18241  	// The fully qualified domain name.
 18242  	Domain string `xml:"domain" json:"domain"`
 18243  	// The case-sensitive timezone, such as Europe/Sofia.
 18244  	//
 18245  	// <a href="timezone.html"title="Display list of Valid timeZone values...">
 18246  	// **Valid timeZone values**</a> are based on the tz (timezone)
 18247  	// database used by Linux and other Unix systems.
 18248  	// The values are strings (xsd:string) in the form "Area/Location," in which
 18249  	// Area is a continent or ocean name, and Location is the city, island, or
 18250  	// other regional designation.
 18251  	//
 18252  	// See the <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2145518"target="_blank">List of supported time zones for different vSphere versions in Linux/Unix systems</a>.
 18253  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
 18254  	// Specifies whether the hardware clock is in UTC or local time.
 18255  	//   - True when the hardware clock is in UTC.
 18256  	//   - False when the hardware clock is in local time.
 18257  	HwClockUTC *bool `xml:"hwClockUTC" json:"hwClockUTC,omitempty"`
 18258  	// The script to run before and after GOS customization.
 18259  	ScriptText string `xml:"scriptText,omitempty" json:"scriptText,omitempty"`
 18260  	// The compatible customization method is an identifier of a customization
 18261  	// strategy which is implementable in a group of Linux operating systems.
 18262  	//
 18263  	// This value does not need to be set if your operating system is officially
 18264  	// supported by VMware guest operating system customization. When using a
 18265  	// Linux operating system which hasn't been officially supported and it is
 18266  	// designed to be 100% bug-for-bug compatible with an officially supported
 18267  	// Linux operating system, it can be customized by an existing customization
 18268  	// method.
 18269  	//
 18270  	// Please set the compatible customization method to a supported string value
 18271  	// e.g. "GOSC\_METHOD\_1".
 18272  	// See <a href="https://kb.vmware.com/s/article/95903"target="_blank">Supported compatible customization method list</a>.
 18273  	CompatibleCustomizationMethod string `xml:"compatibleCustomizationMethod,omitempty" json:"compatibleCustomizationMethod,omitempty" vim:"8.0.3.0"`
 18274  }
 18275  
 18276  func init() {
 18277  	t["CustomizationLinuxPrep"] = reflect.TypeOf((*CustomizationLinuxPrep)(nil)).Elem()
 18278  }
 18279  
 18280  // A base object type for a virtual machine name that can be either fixed or
 18281  // auto-generated.
 18282  type CustomizationName struct {
 18283  	DynamicData
 18284  }
 18285  
 18286  func init() {
 18287  	t["CustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem()
 18288  }
 18289  
 18290  // Network setup failed in the guest during customization.
 18291  type CustomizationNetworkSetupFailed struct {
 18292  	CustomizationFailed
 18293  }
 18294  
 18295  func init() {
 18296  	t["CustomizationNetworkSetupFailed"] = reflect.TypeOf((*CustomizationNetworkSetupFailed)(nil)).Elem()
 18297  }
 18298  
 18299  // Base object type for optional operations supported by the customization process.
 18300  type CustomizationOptions struct {
 18301  	DynamicData
 18302  }
 18303  
 18304  func init() {
 18305  	t["CustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem()
 18306  }
 18307  
 18308  // Contains a password string and a flag that specifies whether the string is in plain
 18309  // text or encrypted.
 18310  type CustomizationPassword struct {
 18311  	DynamicData
 18312  
 18313  	// The password string.
 18314  	//
 18315  	// It is encrypted if the associated plainText flag is false.
 18316  	Value string `xml:"value" json:"value"`
 18317  	// Flag to specify whether or not the password is in plain text, rather than
 18318  	// encrypted.
 18319  	PlainText bool `xml:"plainText" json:"plainText"`
 18320  }
 18321  
 18322  func init() {
 18323  	t["CustomizationPassword"] = reflect.TypeOf((*CustomizationPassword)(nil)).Elem()
 18324  }
 18325  
 18326  // A customization operation is already pending on this virtual
 18327  // machine and is awaiting power-up to complete.
 18328  type CustomizationPending struct {
 18329  	CustomizationFault
 18330  }
 18331  
 18332  func init() {
 18333  	t["CustomizationPending"] = reflect.TypeOf((*CustomizationPending)(nil)).Elem()
 18334  }
 18335  
 18336  type CustomizationPendingFault CustomizationPending
 18337  
 18338  func init() {
 18339  	t["CustomizationPendingFault"] = reflect.TypeOf((*CustomizationPendingFault)(nil)).Elem()
 18340  }
 18341  
 18342  // Specifies that a unique name should be generated by concatenating the base string
 18343  // with a number.
 18344  //
 18345  // Virtual machine names are unique across the set of hosts and virtual machines known
 18346  // to the VirtualCenter instance. VirtualCenter tracks the network names of virtual
 18347  // machines as well as hosts. VMware Tools runs in a guest operating system and
 18348  // reports information to VirtualCenter, including the network name of the guest.
 18349  type CustomizationPrefixName struct {
 18350  	CustomizationName
 18351  
 18352  	// Base prefix, to which a unique number is appended.
 18353  	Base string `xml:"base" json:"base"`
 18354  }
 18355  
 18356  func init() {
 18357  	t["CustomizationPrefixName"] = reflect.TypeOf((*CustomizationPrefixName)(nil)).Elem()
 18358  }
 18359  
 18360  // The Specification data object type contains information required to customize a
 18361  // virtual machine when deploying it or migrating it to a new host.
 18362  type CustomizationSpec struct {
 18363  	DynamicData
 18364  
 18365  	// Optional operations (either LinuxOptions or WinOptions).
 18366  	Options BaseCustomizationOptions `xml:"options,omitempty,typeattr" json:"options,omitempty"`
 18367  	// Network identity and settings, similar to Microsoft's Sysprep tool.
 18368  	//
 18369  	// This is a
 18370  	// Sysprep, LinuxPrep, CloudinitPrep, or SysprepText object.
 18371  	Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr" json:"identity"`
 18372  	// Global IP settings constitute the IP settings that are not specific to a
 18373  	// particular virtual network adapter.
 18374  	GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings" json:"globalIPSettings"`
 18375  	// IP settings that are specific to a particular virtual network adapter.
 18376  	//
 18377  	// The
 18378  	// AdapterMapping object maps a network adapter's MAC address to its Adapter
 18379  	// settings object. May be empty if there are no network adapters, else should
 18380  	// match number of network adapters in the VM.
 18381  	NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty" json:"nicSettingMap,omitempty"`
 18382  	// Byte array containing the public key used to encrypt any passwords stored in the
 18383  	// specification.
 18384  	//
 18385  	// Both the client and the server can use this to determine if
 18386  	// stored passwords can be decrypted by the server or if the passwords need to be
 18387  	// re-entered and re-encrypted before the specification can be used.
 18388  	EncryptionKey ByteSlice `xml:"encryptionKey,omitempty" json:"encryptionKey,omitempty"`
 18389  }
 18390  
 18391  func init() {
 18392  	t["CustomizationSpec"] = reflect.TypeOf((*CustomizationSpec)(nil)).Elem()
 18393  }
 18394  
 18395  // Information about a specification.
 18396  type CustomizationSpecInfo struct {
 18397  	DynamicData
 18398  
 18399  	// Unique name of the specification.
 18400  	Name string `xml:"name" json:"name"`
 18401  	// Description of the specification.
 18402  	Description string `xml:"description" json:"description"`
 18403  	// Guest operating system for this specification (Linux or Windows).
 18404  	Type string `xml:"type" json:"type"`
 18405  	// The changeVersion is a unique identifier for a given version
 18406  	// of the configuration.
 18407  	//
 18408  	// Each change to the configuration will
 18409  	// update this value. This is typically implemented as an ever
 18410  	// increasing count or a time-stamp. However, a client should
 18411  	// always treat this as an opaque string.
 18412  	//
 18413  	// If specified when updating a specification, the changes will only be
 18414  	// applied if the current changeVersion matches the specified changeVersion. This
 18415  	// field can be used to guard against updates that has happened
 18416  	// between the configInfo was read and until it is applied.
 18417  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 18418  	// Time when the specification was last modified.
 18419  	//
 18420  	// This time is ignored when
 18421  	// the CustomizationSpecItem containing this is used as an input to
 18422  	// CustomizationSpecManager.create.
 18423  	LastUpdateTime *time.Time `xml:"lastUpdateTime" json:"lastUpdateTime,omitempty"`
 18424  }
 18425  
 18426  func init() {
 18427  	t["CustomizationSpecInfo"] = reflect.TypeOf((*CustomizationSpecInfo)(nil)).Elem()
 18428  }
 18429  
 18430  // Specification information and the Specification object.
 18431  type CustomizationSpecItem struct {
 18432  	DynamicData
 18433  
 18434  	// Information about the specification - name, description, and so on.
 18435  	Info CustomizationSpecInfo `xml:"info" json:"info"`
 18436  	// The customization specification.
 18437  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18438  }
 18439  
 18440  func init() {
 18441  	t["CustomizationSpecItem"] = reflect.TypeOf((*CustomizationSpecItem)(nil)).Elem()
 18442  }
 18443  
 18444  type CustomizationSpecItemToXml CustomizationSpecItemToXmlRequestType
 18445  
 18446  func init() {
 18447  	t["CustomizationSpecItemToXml"] = reflect.TypeOf((*CustomizationSpecItemToXml)(nil)).Elem()
 18448  }
 18449  
 18450  // The parameters of `CustomizationSpecManager.CustomizationSpecItemToXml`.
 18451  type CustomizationSpecItemToXmlRequestType struct {
 18452  	This ManagedObjectReference `xml:"_this" json:"-"`
 18453  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 18454  }
 18455  
 18456  func init() {
 18457  	t["CustomizationSpecItemToXmlRequestType"] = reflect.TypeOf((*CustomizationSpecItemToXmlRequestType)(nil)).Elem()
 18458  }
 18459  
 18460  type CustomizationSpecItemToXmlResponse struct {
 18461  	Returnval string `xml:"returnval" json:"returnval"`
 18462  }
 18463  
 18464  // The customization sequence has started in the VM guest.
 18465  type CustomizationStartedEvent struct {
 18466  	CustomizationEvent
 18467  }
 18468  
 18469  func init() {
 18470  	t["CustomizationStartedEvent"] = reflect.TypeOf((*CustomizationStartedEvent)(nil)).Elem()
 18471  }
 18472  
 18473  // Use stateless autoconfiguration to configure to ipv6 address
 18474  type CustomizationStatelessIpV6Generator struct {
 18475  	CustomizationIpV6Generator
 18476  }
 18477  
 18478  func init() {
 18479  	t["CustomizationStatelessIpV6Generator"] = reflect.TypeOf((*CustomizationStatelessIpV6Generator)(nil)).Elem()
 18480  }
 18481  
 18482  // The customization sequence completed successfully in the guest.
 18483  type CustomizationSucceeded struct {
 18484  	CustomizationEvent
 18485  }
 18486  
 18487  func init() {
 18488  	t["CustomizationSucceeded"] = reflect.TypeOf((*CustomizationSucceeded)(nil)).Elem()
 18489  }
 18490  
 18491  // An object representation of a Windows `sysprep.xml` answer file.
 18492  //
 18493  // The sysprep
 18494  // type encloses all the individual keys listed in a `sysprep.xml` file. For
 18495  // more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18496  type CustomizationSysprep struct {
 18497  	CustomizationIdentitySettings
 18498  
 18499  	// An object representation of the sysprep GuiUnattended key.
 18500  	GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended" json:"guiUnattended"`
 18501  	// An object representation of the sysprep UserData key.
 18502  	UserData CustomizationUserData `xml:"userData" json:"userData"`
 18503  	// An object representation of the sysprep GuiRunOnce key.
 18504  	GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty" json:"guiRunOnce,omitempty"`
 18505  	// An object representation of the sysprep Identification key.
 18506  	Identification CustomizationIdentification `xml:"identification" json:"identification"`
 18507  	// An object representation of the sysprep LicenseFilePrintData key.
 18508  	//
 18509  	// Required only
 18510  	// for Windows 2000 Server and Windows Server 2003.
 18511  	LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty" json:"licenseFilePrintData,omitempty"`
 18512  }
 18513  
 18514  func init() {
 18515  	t["CustomizationSysprep"] = reflect.TypeOf((*CustomizationSysprep)(nil)).Elem()
 18516  }
 18517  
 18518  // Sysprep failed to run in the guest during customization.
 18519  //
 18520  // This will most like
 18521  // have been caused by the fact that the wrong sysprep was used for the guest,
 18522  // so we include the version information in the event.
 18523  type CustomizationSysprepFailed struct {
 18524  	CustomizationFailed
 18525  
 18526  	// The version string for the sysprep files that were included in the
 18527  	// customization package.
 18528  	SysprepVersion string `xml:"sysprepVersion" json:"sysprepVersion"`
 18529  	// The version string for the system
 18530  	SystemVersion string `xml:"systemVersion" json:"systemVersion"`
 18531  }
 18532  
 18533  func init() {
 18534  	t["CustomizationSysprepFailed"] = reflect.TypeOf((*CustomizationSysprepFailed)(nil)).Elem()
 18535  }
 18536  
 18537  // An alternate way to specify the `sysprep.xml` answer file.
 18538  //
 18539  // This string is
 18540  // written to the `sysprep.xml` answer file on the target virtual disk.
 18541  type CustomizationSysprepText struct {
 18542  	CustomizationIdentitySettings
 18543  
 18544  	// Text for the `sysprep.xml` answer file.
 18545  	//
 18546  	// For additional details, see <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2151684"target="_blank">Using custom sysprep.xml for vCenter Guest Customization</a> and
 18547  	// <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1029174"target="_blank">Specifying network settings in custom sysprep.xml</a>.
 18548  	Value string `xml:"value" json:"value"`
 18549  }
 18550  
 18551  func init() {
 18552  	t["CustomizationSysprepText"] = reflect.TypeOf((*CustomizationSysprepText)(nil)).Elem()
 18553  }
 18554  
 18555  // The customization sequence failed unexpectedly in the guest.
 18556  type CustomizationUnknownFailure struct {
 18557  	CustomizationFailed
 18558  }
 18559  
 18560  func init() {
 18561  	t["CustomizationUnknownFailure"] = reflect.TypeOf((*CustomizationUnknownFailure)(nil)).Elem()
 18562  }
 18563  
 18564  // The IP address is left unspecified.
 18565  //
 18566  // The user must be prompted to supply an IP
 18567  // address.
 18568  type CustomizationUnknownIpGenerator struct {
 18569  	CustomizationIpGenerator
 18570  }
 18571  
 18572  func init() {
 18573  	t["CustomizationUnknownIpGenerator"] = reflect.TypeOf((*CustomizationUnknownIpGenerator)(nil)).Elem()
 18574  }
 18575  
 18576  // The ipv6 address is left unspecified.
 18577  //
 18578  // The user must be prompted to supply an ipv6
 18579  // address.
 18580  type CustomizationUnknownIpV6Generator struct {
 18581  	CustomizationIpV6Generator
 18582  }
 18583  
 18584  func init() {
 18585  	t["CustomizationUnknownIpV6Generator"] = reflect.TypeOf((*CustomizationUnknownIpV6Generator)(nil)).Elem()
 18586  }
 18587  
 18588  // Indicates that the name is not specified in advance.
 18589  //
 18590  // The client should prompt the
 18591  // user for the value to complete the specification.
 18592  type CustomizationUnknownName struct {
 18593  	CustomizationName
 18594  }
 18595  
 18596  func init() {
 18597  	t["CustomizationUnknownName"] = reflect.TypeOf((*CustomizationUnknownName)(nil)).Elem()
 18598  }
 18599  
 18600  // Personal data pertaining to the owner of the virtual machine.
 18601  //
 18602  // The UserData data object type maps to the UserData key in the `sysprep.xml`
 18603  // answer file. These values are transferred directly into the `sysprep.xml`
 18604  // file that VirtualCenter stores on the target virtual disk. For more detailed
 18605  // information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.
 18606  type CustomizationUserData struct {
 18607  	DynamicData
 18608  
 18609  	// User's full name.
 18610  	FullName string `xml:"fullName" json:"fullName"`
 18611  	// User's organization.
 18612  	OrgName string `xml:"orgName" json:"orgName"`
 18613  	// The computer name of the (Windows) virtual machine.
 18614  	//
 18615  	// Computer name may contain
 18616  	// letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.).
 18617  	// The name may not consists entirely of digits.
 18618  	// Computer name is restricted to 15 characters in length. If the computer
 18619  	// name is longer than 15 characters, it will be truncated to 15 characters.
 18620  	ComputerName BaseCustomizationName `xml:"computerName,typeattr" json:"computerName"`
 18621  	// Microsoft Sysprep requires that a valid serial number be included in the answer
 18622  	// file when mini-setup runs.
 18623  	//
 18624  	// This serial number is ignored if the original guest
 18625  	// operating system was installed using a volume-licensed CD.
 18626  	ProductId string `xml:"productId" json:"productId"`
 18627  }
 18628  
 18629  func init() {
 18630  	t["CustomizationUserData"] = reflect.TypeOf((*CustomizationUserData)(nil)).Elem()
 18631  }
 18632  
 18633  // Specifies that VirtualCenter should generate a virtual machine name from a base
 18634  // prefix comprising the virtual machine entity name.
 18635  //
 18636  // A number is appended, if
 18637  // necessary, to make it unique.
 18638  //
 18639  // Virtual machine names are unique across the set of hosts and virtual machines known
 18640  // to the VirtualCenter instance. VMware Tools reports the names of existing virtual
 18641  // machines.
 18642  type CustomizationVirtualMachineName struct {
 18643  	CustomizationName
 18644  }
 18645  
 18646  func init() {
 18647  	t["CustomizationVirtualMachineName"] = reflect.TypeOf((*CustomizationVirtualMachineName)(nil)).Elem()
 18648  }
 18649  
 18650  // Optional operations supported by the customization process for Windows.
 18651  type CustomizationWinOptions struct {
 18652  	CustomizationOptions
 18653  
 18654  	// The customization process should modify the machine's security identifier (SID).
 18655  	//
 18656  	// For Vista OS and greater, SID will always be modified and a value of false will
 18657  	// generate an error.
 18658  	ChangeSID bool `xml:"changeSID" json:"changeSID"`
 18659  	// Deprecated as of VI API 2.5, this value is ignored. Removing user accounts
 18660  	// during customization is no longer supported. To change the
 18661  	// administrator password, set the administrator password to
 18662  	// blank in the master vm. Sysprep will then be able to change the
 18663  	// password to the one specified by the `CustomizationGuiUnattended.password`.
 18664  	//
 18665  	// If deleteAccounts is true, then all user accounts are removed from the system as
 18666  	// part of the customization.
 18667  	//
 18668  	// Mini-setup creates a new Administrator account with a
 18669  	// blank password.
 18670  	DeleteAccounts bool `xml:"deleteAccounts" json:"deleteAccounts"`
 18671  	// A value of type SysprepRebootOption specifying the action that should be
 18672  	// taken after running sysprep.
 18673  	//
 18674  	// Defaults to "reboot".
 18675  	Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty" json:"reboot,omitempty"`
 18676  }
 18677  
 18678  func init() {
 18679  	t["CustomizationWinOptions"] = reflect.TypeOf((*CustomizationWinOptions)(nil)).Elem()
 18680  }
 18681  
 18682  // The parameters of `VirtualMachineGuestCustomizationManager.CustomizeGuest_Task`.
 18683  type CustomizeGuestRequestType struct {
 18684  	This ManagedObjectReference `xml:"_this" json:"-"`
 18685  	// The Virtual Machine managed object reference.
 18686  	//
 18687  	// Refers instance of `VirtualMachine`.
 18688  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 18689  	// The guest authentication data. See
 18690  	// `GuestAuthentication`.
 18691  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 18692  	// Is a `CustomizationSpec`.
 18693  	// It specifies the virtual machine's configuration.
 18694  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18695  	// addtional key/value pair list to support
 18696  	// third party customization.
 18697  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 18698  }
 18699  
 18700  func init() {
 18701  	t["CustomizeGuestRequestType"] = reflect.TypeOf((*CustomizeGuestRequestType)(nil)).Elem()
 18702  }
 18703  
 18704  type CustomizeGuest_Task CustomizeGuestRequestType
 18705  
 18706  func init() {
 18707  	t["CustomizeGuest_Task"] = reflect.TypeOf((*CustomizeGuest_Task)(nil)).Elem()
 18708  }
 18709  
 18710  type CustomizeGuest_TaskResponse struct {
 18711  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18712  }
 18713  
 18714  // The parameters of `VirtualMachine.CustomizeVM_Task`.
 18715  type CustomizeVMRequestType struct {
 18716  	This ManagedObjectReference `xml:"_this" json:"-"`
 18717  	// The customization specification object.
 18718  	Spec CustomizationSpec `xml:"spec" json:"spec"`
 18719  }
 18720  
 18721  func init() {
 18722  	t["CustomizeVMRequestType"] = reflect.TypeOf((*CustomizeVMRequestType)(nil)).Elem()
 18723  }
 18724  
 18725  type CustomizeVM_Task CustomizeVMRequestType
 18726  
 18727  func init() {
 18728  	t["CustomizeVM_Task"] = reflect.TypeOf((*CustomizeVM_Task)(nil)).Elem()
 18729  }
 18730  
 18731  type CustomizeVM_TaskResponse struct {
 18732  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 18733  }
 18734  
 18735  // Management related configuration of a DistributedVirtualPort.
 18736  type DVPortConfigInfo struct {
 18737  	DynamicData
 18738  
 18739  	// The name of the port.
 18740  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18741  	// Deprecated as of vSphere API 5.5.
 18742  	//
 18743  	// The eligible entities that can connect to the port.
 18744  	//
 18745  	// If unset, there
 18746  	// is no restriction on which entity can connect to the port. If set,
 18747  	// only the entities in the specified list or their child entities are
 18748  	// allowed to connect to the port. If scopes are defined at both port
 18749  	// and portgroup level, they are taken as an "AND" relationship. If such
 18750  	// a relationship doesn't make sense, the reconfigure operation will
 18751  	// raise an exception.
 18752  	//
 18753  	// Refers instances of `ManagedEntity`.
 18754  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18755  	// A description string of the port.
 18756  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18757  	// The network configuration of the port.
 18758  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 18759  	// The version string of the configuration.
 18760  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 18761  }
 18762  
 18763  func init() {
 18764  	t["DVPortConfigInfo"] = reflect.TypeOf((*DVPortConfigInfo)(nil)).Elem()
 18765  }
 18766  
 18767  // Specification to reconfigure a `DistributedVirtualPort`.
 18768  type DVPortConfigSpec struct {
 18769  	DynamicData
 18770  
 18771  	// The operation to remove or modify the existing ports.
 18772  	//
 18773  	// The valid values
 18774  	// are:
 18775  	//   - `edit`
 18776  	//   - `remove`
 18777  	Operation string `xml:"operation" json:"operation"`
 18778  	// Key of the port to be reconfigured.
 18779  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 18780  	// The name of the port.
 18781  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 18782  	// Deprecated as of vSphere API 5.5.
 18783  	//
 18784  	// The eligible entities that can connect to the port, for detail see
 18785  	// `DVPortConfigInfo.scope`.
 18786  	//
 18787  	// Refers instances of `ManagedEntity`.
 18788  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 18789  	// The description string of the port.
 18790  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 18791  	// The network setting of the port.
 18792  	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
 18793  	// The version string of the configuration.
 18794  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 18795  }
 18796  
 18797  func init() {
 18798  	t["DVPortConfigSpec"] = reflect.TypeOf((*DVPortConfigSpec)(nil)).Elem()
 18799  }
 18800  
 18801  // The virtual machine is configured to use a DVPort, which is not
 18802  // supported on the host.
 18803  //
 18804  // This could be because the host
 18805  // does not support VDS at all, or because the host has not
 18806  // joined a VDS.
 18807  type DVPortNotSupported struct {
 18808  	DeviceBackingNotSupported
 18809  }
 18810  
 18811  func init() {
 18812  	t["DVPortNotSupported"] = reflect.TypeOf((*DVPortNotSupported)(nil)).Elem()
 18813  }
 18814  
 18815  type DVPortNotSupportedFault DVPortNotSupported
 18816  
 18817  func init() {
 18818  	t["DVPortNotSupportedFault"] = reflect.TypeOf((*DVPortNotSupportedFault)(nil)).Elem()
 18819  }
 18820  
 18821  // The `DVPortSetting` data object
 18822  // describes the network configuration of a `DistributedVirtualPort`.
 18823  type DVPortSetting struct {
 18824  	DynamicData
 18825  
 18826  	// Indicates whether this port is blocked.
 18827  	//
 18828  	// If a port is blocked,
 18829  	// packet forwarding is stopped.
 18830  	Blocked *BoolPolicy `xml:"blocked,omitempty" json:"blocked,omitempty"`
 18831  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 18832  	// there is no replacement.
 18833  	//
 18834  	// Indicates whether this port is allowed to do VMDirectPath Gen2 network passthrough.
 18835  	//
 18836  	// Direct path capability is defined at host, switch, and device levels.
 18837  	// See the <code>vmDirectPathGen2Supported</code> properties on the
 18838  	// `DVSFeatureCapability`,
 18839  	// `HostCapability`, `PhysicalNic`,
 18840  	// and `VirtualEthernetCardOption` objects.
 18841  	VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty" json:"vmDirectPathGen2Allowed,omitempty"`
 18842  	// Network shaping policy for controlling throughput of inbound traffic.
 18843  	InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty" json:"inShapingPolicy,omitempty"`
 18844  	// Network shaping policy for controlling throughput of outbound traffic.
 18845  	OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty" json:"outShapingPolicy,omitempty"`
 18846  	// Opaque binary blob that stores vendor specific configuration.
 18847  	VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 18848  	// Deprecated as of vSphere API 6.0
 18849  	// Use `DVPortgroupConfigInfo.vmVnicNetworkResourcePoolKey` instead
 18850  	// to reference the virtual NIC network resource pool.
 18851  	//
 18852  	// The key of user defined network resource pool to be associated with a port.
 18853  	//
 18854  	// The default value for this property is "-1", indicating that
 18855  	// this port is not associated with any network resource pool.
 18856  	NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty" json:"networkResourcePoolKey,omitempty"`
 18857  	// Configuration for Network Filter Policy.
 18858  	FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty" json:"filterPolicy,omitempty"`
 18859  }
 18860  
 18861  func init() {
 18862  	t["DVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem()
 18863  }
 18864  
 18865  // The state of a DistributedVirtualPort.
 18866  type DVPortState struct {
 18867  	DynamicData
 18868  
 18869  	// Run time information of the port.
 18870  	//
 18871  	// This property is set only when the port is running.
 18872  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 18873  	// Statistics of the port.
 18874  	Stats DistributedVirtualSwitchPortStatistics `xml:"stats" json:"stats"`
 18875  	// Opaque binary blob that stores vendor-specific runtime state data.
 18876  	VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty" json:"vendorSpecificState,omitempty"`
 18877  }
 18878  
 18879  func init() {
 18880  	t["DVPortState"] = reflect.TypeOf((*DVPortState)(nil)).Elem()
 18881  }
 18882  
 18883  // The `DVPortStatus` data object
 18884  // contains runtime information about a `DistributedVirtualPort`.
 18885  type DVPortStatus struct {
 18886  	DynamicData
 18887  
 18888  	// Indicates whether the port is in linkUp status.
 18889  	LinkUp bool `xml:"linkUp" json:"linkUp"`
 18890  	// Indicates whether the port is blocked by switch implementation.
 18891  	Blocked bool `xml:"blocked" json:"blocked"`
 18892  	// VLAN ID of the port.
 18893  	VlanIds []NumericRange `xml:"vlanIds,omitempty" json:"vlanIds,omitempty"`
 18894  	// True if the port VLAN tagging/stripping is disabled.
 18895  	TrunkingMode *bool `xml:"trunkingMode" json:"trunkingMode,omitempty"`
 18896  	// Maximum transmission unit (MTU) of the port.
 18897  	//
 18898  	// You can set the MTU only
 18899  	// at the switch level
 18900  	// (`VMwareDVSConfigSpec`).
 18901  	// If you attempt to change it at the portgroup or port level,
 18902  	// the Server throws an exception.
 18903  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 18904  	// Name of the connected entity.
 18905  	LinkPeer string `xml:"linkPeer,omitempty" json:"linkPeer,omitempty"`
 18906  	// The MAC address that is used at this port.
 18907  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 18908  	// Additional information regarding the current status of the port.
 18909  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 18910  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18911  	// supported and there is no replacement.
 18912  	//
 18913  	// Indicates whether VMDirectPath Gen 2 is active on this port.
 18914  	//
 18915  	// If false, the reason(s) for inactivity will be provided in one or
 18916  	// more of `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`,
 18917  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`,
 18918  	// and `DVPortStatus.vmDirectPathGen2InactiveReasonExtended`.
 18919  	//
 18920  	// If the host software is not capable of VMDirectPath Gen 2,
 18921  	// this property will be unset. See
 18922  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`.
 18923  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
 18924  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18925  	// supported and there is no replacement.
 18926  	//
 18927  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 18928  	// populated with reasons for the inactivity that are related to network
 18929  	// state or configuration.
 18930  	//
 18931  	// The reasons are chosen from the
 18932  	// `DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum`
 18933  	// values.
 18934  	//
 18935  	// Other reasons for inactivity will be provided in
 18936  	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 18937  	// for inactivity that cannot be described by the available constants,
 18938  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 18939  	// with an additional explanation provided by the platform.
 18940  	//
 18941  	// Note that this list of reasons is not guaranteed to be exhaustive.
 18942  	VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty" json:"vmDirectPathGen2InactiveReasonNetwork,omitempty"`
 18943  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18944  	// supported and there is no replacement.
 18945  	//
 18946  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
 18947  	// populated with reasons for the inactivity that are not related to
 18948  	// network state or configuration.
 18949  	//
 18950  	// The reasons are chosen from the
 18951  	// `DVPortStatusVmDirectPathGen2InactiveReasonOther_enum`
 18952  	// values.
 18953  	//
 18954  	// Network-related reasons for inactivity will be provided in
 18955  	// `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`. If there is a reason
 18956  	// for inactivity that cannot be described by the available constants,
 18957  	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
 18958  	// with an additional explanation provided by the platform.
 18959  	//
 18960  	// Note that this list of reasons is not guaranteed to be exhaustive.
 18961  	//
 18962  	// See also `HostCapability.vmDirectPathGen2Supported`.
 18963  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
 18964  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 18965  	// supported and there is no replacement.
 18966  	//
 18967  	// If `DVPortStatus.vmDirectPathGen2Active` is false, this property may
 18968  	// contain an explanation provided by the platform, beyond the reasons
 18969  	// (if any) listed in `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`
 18970  	// and/or `DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
 18971  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
 18972  }
 18973  
 18974  func init() {
 18975  	t["DVPortStatus"] = reflect.TypeOf((*DVPortStatus)(nil)).Elem()
 18976  }
 18977  
 18978  // The `DVPortgroupConfigInfo` data object defines
 18979  // the configuration of a `DistributedVirtualPortgroup`.
 18980  type DVPortgroupConfigInfo struct {
 18981  	DynamicData
 18982  
 18983  	// Key of the portgroup.
 18984  	Key string `xml:"key" json:"key"`
 18985  	// Name of the portgroup.
 18986  	Name string `xml:"name" json:"name"`
 18987  	// Number of ports in the portgroup.
 18988  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 18989  	// Distributed virtual switch that the portgroup is defined on.
 18990  	//
 18991  	// This property should always be set unless the user's setting
 18992  	// does not have System.Read privilege on the object referred to
 18993  	// by this property.
 18994  	//
 18995  	// Refers instance of `DistributedVirtualSwitch`.
 18996  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 18997  	// Common network setting for all the ports in the portgroup.
 18998  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 18999  	// Description of the portgroup.
 19000  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19001  	// Type of portgroup.
 19002  	//
 19003  	// See
 19004  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 19005  	// for possible values.
 19006  	Type string `xml:"type" json:"type"`
 19007  	// Backing type of portgroup.
 19008  	//
 19009  	// See
 19010  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 19011  	// for possible values.
 19012  	// The default value is "standard"
 19013  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 19014  	// Portgroup policy.
 19015  	Policy BaseDVPortgroupPolicy `xml:"policy,typeattr" json:"policy"`
 19016  	// If set, a name will be automatically generated based on this format
 19017  	// string for a port when it is created in or moved into the portgroup.
 19018  	//
 19019  	// The format string can contain meta tags that will be resolved
 19020  	// to the corresponding values in generating a name, if applicable for
 19021  	// the port at the time of name generation.
 19022  	//
 19023  	// To insert a meta tag in the format string,
 19024  	// enclose the names defined as meta tag names inside angle brackets.
 19025  	// See `DistributedVirtualPortgroupMetaTagName_enum` for a list of
 19026  	// currently available meta tags. For example,
 19027  	// "redNetwork-&lt;portIndex&gt;" and "&lt;dvsName&gt;-pnic&lt;portIndex&gt;"
 19028  	// result in generated port names like "redNetwork-2" and "switch-pnic3".
 19029  	//
 19030  	// If a meta tag is recognized, but there is no applicable value, the tag
 19031  	// will be expanded to empty string. If an arbitrary name appears inside
 19032  	// a "&lt;&gt;" pair and is not recognized as one of the defined meta tags,
 19033  	// the substring is treated as-is and appear unchanged in the generated name.
 19034  	//
 19035  	// To prevent a meta tag from being expanded, prefix the meta tag with a
 19036  	// '\\' (backslash). For example, the format string "abc\\&lt;portIndex&gt;def"
 19037  	// results in the generated port name "abc&lt;portIndex&gt;def".
 19038  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 19039  	// Deprecated as of vSphere API 5.5.
 19040  	//
 19041  	// Eligible entities that can connect to the portgroup.
 19042  	//
 19043  	// If unset,
 19044  	// there is no restriction on which entity can connect to the portgroup.
 19045  	// If set, only the entities in the specified list or their child
 19046  	// entities are allowed to connect to the portgroup. If scopes are
 19047  	// defined at both port and portgroup level, they are taken as an "AND"
 19048  	// relationship. If such a relationship doesn't make sense, the
 19049  	// reconfigure operation will raise an exception.
 19050  	//
 19051  	// Refers instances of `ManagedEntity`.
 19052  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19053  	// Opaque binary blob that stores vendor specific configuration.
 19054  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19055  	// Configuration version number.
 19056  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19057  	// If set to true, this property ignores the limit on the number of ports in the
 19058  	// portgroup.
 19059  	//
 19060  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19061  	// are no free ports available in the portgroup, new ports will be automatically
 19062  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19063  	//
 19064  	// When this property is set to true, the portgroup becomes a potential candidate for
 19065  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19066  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19067  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19068  	// never lose any free ports.
 19069  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty"`
 19070  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19071  	//
 19072  	// The default value for this property is unset, indicating that
 19073  	// this portgroup is not associated with any virtual NIC network resource pool.
 19074  	// To clear the value of this property and revert to unset, set the
 19075  	// `DVPortgroupConfigSpec.vmVnicNetworkResourcePoolKey`
 19076  	// to "-1" in an update operation.
 19077  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty"`
 19078  	// Indicates whether the portgroup is an uplink portroup.
 19079  	Uplink *bool `xml:"uplink" json:"uplink,omitempty"`
 19080  	// The UUID of transport zone to be associated with a NSX portgroup.
 19081  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty"`
 19082  	// The name of transport zone to be associated with a NSX portgroup.
 19083  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty"`
 19084  	// The logical switch UUID, which is used by NSX portgroup
 19085  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 19086  	// The segment ID of logical switch
 19087  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 19088  }
 19089  
 19090  func init() {
 19091  	t["DVPortgroupConfigInfo"] = reflect.TypeOf((*DVPortgroupConfigInfo)(nil)).Elem()
 19092  }
 19093  
 19094  // The `DVPortgroupConfigSpec`
 19095  // data object contains configuration data for a
 19096  // `DistributedVirtualPortgroup`.
 19097  //
 19098  // Use the
 19099  // `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`
 19100  // method to apply the configuration to the portgroup.
 19101  type DVPortgroupConfigSpec struct {
 19102  	DynamicData
 19103  
 19104  	// Version string of the configuration that this spec is trying to
 19105  	// change.
 19106  	//
 19107  	// This property is required in reconfiguring a portgroup and
 19108  	// should be set to the same value as the
 19109  	// `DVPortgroupConfigInfo.configVersion`.
 19110  	// This property is ignored in creating a portgroup if set.
 19111  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19112  	// Name of the portgroup.
 19113  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19114  	// Number of ports in the portgroup.
 19115  	//
 19116  	// Setting this number larger than the
 19117  	// number of existing ports in the portgroup causes new ports to
 19118  	// be added to the portgroup to meet the number. Setting this property
 19119  	// smaller than the number of existing ports deletes the free ports
 19120  	// from the portgroup. If the number cannot be met by deleting free ports,
 19121  	// a fault is raised. If new ports are added to the portgroup, they
 19122  	// are also added to the switch. For portgroups of type ephemeral this
 19123  	// property is ignored.
 19124  	NumPorts int32 `xml:"numPorts,omitempty" json:"numPorts,omitempty"`
 19125  	// Format of the name of the ports when ports are created in the portgroup.
 19126  	//
 19127  	// For details see `DVPortgroupConfigInfo.portNameFormat`.
 19128  	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
 19129  	// Default network setting for all the ports in the portgroup.
 19130  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19131  	// Description of the portgroup.
 19132  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19133  	// Type of portgroup.
 19134  	//
 19135  	// See
 19136  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
 19137  	// for possible values.
 19138  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 19139  	// Backing type of portgroup.
 19140  	//
 19141  	// See
 19142  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 19143  	// for possible values.
 19144  	// The default value is "standard"
 19145  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 19146  	// Deprecated as of vSphere API 5.5.
 19147  	//
 19148  	// Eligible entities that can connect to the port.
 19149  	//
 19150  	// See
 19151  	// `DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.scope`.
 19152  	//
 19153  	// Refers instances of `ManagedEntity`.
 19154  	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 19155  	// Portgroup policy.
 19156  	Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr" json:"policy,omitempty"`
 19157  	// Opaque binary blob that stores vendor specific configuration.
 19158  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19159  	// If set to true, this property ignores the limit on the number of ports in the
 19160  	// portgroup.
 19161  	//
 19162  	// When a Virtual Machine/Host tries to connect to the portgroup and there
 19163  	// are no free ports available in the portgroup, new ports will be automatically
 19164  	// added to the portgroup. The flag is currently supported only for static portgroups.
 19165  	//
 19166  	// Setting this property to true makes the portgroup a potential candidate for
 19167  	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
 19168  	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
 19169  	// than certain number of free ports. If the portgroup never auto-expanded, then it will
 19170  	// never lose any free ports.
 19171  	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty"`
 19172  	// The key of virtual NIC network resource pool to be associated with a portgroup.
 19173  	//
 19174  	// Setting this property to "-1", would mean that this portgroup
 19175  	// is not associated with any virtual NIC network resource pool.
 19176  	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty"`
 19177  	// The UUID of transport zone to be associated with a NSX portgroup.
 19178  	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty"`
 19179  	// The name of transport zone to be associated with a NSX portgroup.
 19180  	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty"`
 19181  	// The logical switch UUID, which is used by NSX portgroup
 19182  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 19183  	// The segment ID of logical switch
 19184  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 19185  }
 19186  
 19187  func init() {
 19188  	t["DVPortgroupConfigSpec"] = reflect.TypeOf((*DVPortgroupConfigSpec)(nil)).Elem()
 19189  }
 19190  
 19191  // Two distributed virtual portgroup was created.
 19192  type DVPortgroupCreatedEvent struct {
 19193  	DVPortgroupEvent
 19194  }
 19195  
 19196  func init() {
 19197  	t["DVPortgroupCreatedEvent"] = reflect.TypeOf((*DVPortgroupCreatedEvent)(nil)).Elem()
 19198  }
 19199  
 19200  // Two distributed virtual portgroup was destroyed.
 19201  type DVPortgroupDestroyedEvent struct {
 19202  	DVPortgroupEvent
 19203  }
 19204  
 19205  func init() {
 19206  	t["DVPortgroupDestroyedEvent"] = reflect.TypeOf((*DVPortgroupDestroyedEvent)(nil)).Elem()
 19207  }
 19208  
 19209  // DVPortgroup related events.
 19210  type DVPortgroupEvent struct {
 19211  	Event
 19212  }
 19213  
 19214  func init() {
 19215  	t["DVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem()
 19216  }
 19217  
 19218  // The DistributedVirtualPortgroup policies.
 19219  //
 19220  // This field is not applicable
 19221  // when queried directly against an ESX host.
 19222  type DVPortgroupPolicy struct {
 19223  	DynamicData
 19224  
 19225  	// Allow the `DVPortSetting.blocked` setting
 19226  	// of an individual port to override the setting in
 19227  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19228  	// a portgroup.
 19229  	BlockOverrideAllowed bool `xml:"blockOverrideAllowed" json:"blockOverrideAllowed"`
 19230  	// Allow the `DVPortSetting.inShapingPolicy` or
 19231  	// `DVPortSetting.outShapingPolicy` settings
 19232  	// of an individual port to override the setting in
 19233  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19234  	// a portgroup.
 19235  	ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed" json:"shapingOverrideAllowed"`
 19236  	// Allow the `DVPortSetting.vendorSpecificConfig`
 19237  	// setting of an individual port to override the setting in
 19238  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19239  	// a portgroup.
 19240  	VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed" json:"vendorConfigOverrideAllowed"`
 19241  	// Allow a live port to be moved in and out of the portgroup.
 19242  	LivePortMovingAllowed bool `xml:"livePortMovingAllowed" json:"livePortMovingAllowed"`
 19243  	// If true, reset the port network setting back to the portgroup setting
 19244  	// (thus removing the per-port setting) when the port is disconnected from
 19245  	// the connectee.
 19246  	PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect" json:"portConfigResetAtDisconnect"`
 19247  	// Allow the setting of
 19248  	// `DVPortSetting.networkResourcePoolKey` of an
 19249  	// individual port to override the setting in
 19250  	// `DVPortgroupConfigInfo.defaultPortConfig`
 19251  	// of a portgroup.
 19252  	NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed" json:"networkResourcePoolOverrideAllowed,omitempty"`
 19253  	// Allow the setting of
 19254  	// `DVPortSetting.filterPolicy`,
 19255  	// for an individual port to override the setting in
 19256  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 19257  	// a portgroup.
 19258  	TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed" json:"trafficFilterOverrideAllowed,omitempty"`
 19259  }
 19260  
 19261  func init() {
 19262  	t["DVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem()
 19263  }
 19264  
 19265  // Two distributed virtual portgroup was reconfigured.
 19266  type DVPortgroupReconfiguredEvent struct {
 19267  	DVPortgroupEvent
 19268  
 19269  	// The reconfiguration spec.
 19270  	ConfigSpec DVPortgroupConfigSpec `xml:"configSpec" json:"configSpec"`
 19271  	// The configuration values changed during the reconfiguration.
 19272  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 19273  }
 19274  
 19275  func init() {
 19276  	t["DVPortgroupReconfiguredEvent"] = reflect.TypeOf((*DVPortgroupReconfiguredEvent)(nil)).Elem()
 19277  }
 19278  
 19279  // Two distributed virtual portgroup was renamed.
 19280  type DVPortgroupRenamedEvent struct {
 19281  	DVPortgroupEvent
 19282  
 19283  	// The old portgroup name.
 19284  	OldName string `xml:"oldName" json:"oldName"`
 19285  	// The new portgroup name.
 19286  	NewName string `xml:"newName" json:"newName"`
 19287  }
 19288  
 19289  func init() {
 19290  	t["DVPortgroupRenamedEvent"] = reflect.TypeOf((*DVPortgroupRenamedEvent)(nil)).Elem()
 19291  }
 19292  
 19293  // The parameters of `DistributedVirtualPortgroup.DVPortgroupRollback_Task`.
 19294  type DVPortgroupRollbackRequestType struct {
 19295  	This ManagedObjectReference `xml:"_this" json:"-"`
 19296  	// The backup of Distributed Virtual PortGroup entity.
 19297  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 19298  }
 19299  
 19300  func init() {
 19301  	t["DVPortgroupRollbackRequestType"] = reflect.TypeOf((*DVPortgroupRollbackRequestType)(nil)).Elem()
 19302  }
 19303  
 19304  type DVPortgroupRollback_Task DVPortgroupRollbackRequestType
 19305  
 19306  func init() {
 19307  	t["DVPortgroupRollback_Task"] = reflect.TypeOf((*DVPortgroupRollback_Task)(nil)).Elem()
 19308  }
 19309  
 19310  type DVPortgroupRollback_TaskResponse struct {
 19311  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 19312  }
 19313  
 19314  // Class to specify selection criteria of list of vNetwork Distributed Portgroups.
 19315  type DVPortgroupSelection struct {
 19316  	SelectionSet
 19317  
 19318  	// vSphere Distributed Switch uuid
 19319  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 19320  	// List of vNetwork Distributed Portgroup keys
 19321  	PortgroupKey []string `xml:"portgroupKey" json:"portgroupKey"`
 19322  }
 19323  
 19324  func init() {
 19325  	t["DVPortgroupSelection"] = reflect.TypeOf((*DVPortgroupSelection)(nil)).Elem()
 19326  }
 19327  
 19328  // The `DVSBackupRestoreCapability` data object
 19329  // describes backup, restore, and rollback capabilities for distributed virtual
 19330  // switches and distributed virtual portgroups.
 19331  //
 19332  // Backup and restore capabilities are indicated for `DistributedVirtualSwitch`.
 19333  // Rollback capability is indicated for `DistributedVirtualSwitch`
 19334  // and `DistributedVirtualPortgroup`.
 19335  type DVSBackupRestoreCapability struct {
 19336  	DynamicData
 19337  
 19338  	// Indicates whether backup, restore, and rollback are supported.
 19339  	BackupRestoreSupported bool `xml:"backupRestoreSupported" json:"backupRestoreSupported"`
 19340  }
 19341  
 19342  func init() {
 19343  	t["DVSBackupRestoreCapability"] = reflect.TypeOf((*DVSBackupRestoreCapability)(nil)).Elem()
 19344  }
 19345  
 19346  // The `DVSCapability` data object
 19347  // describes the distributed virtual switch features and indicates
 19348  // the level of configuration that is allowed.
 19349  type DVSCapability struct {
 19350  	DynamicData
 19351  
 19352  	// Indicates whether this switch allows vCenter users to modify
 19353  	// the switch configuration at the switch level,
 19354  	// except for host member, policy, and scope operations.
 19355  	DvsOperationSupported *bool `xml:"dvsOperationSupported" json:"dvsOperationSupported,omitempty"`
 19356  	// Indicates whether this switch allows vCenter users to modify
 19357  	// the switch configuration at the portgroup level,
 19358  	// except for host member, policy, and scope operations.
 19359  	DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported" json:"dvPortGroupOperationSupported,omitempty"`
 19360  	// Indicates whether this switch allows vCenter users to modify
 19361  	// the switch configuration at the port level,
 19362  	// except for host member, policy, and scope operations.
 19363  	DvPortOperationSupported *bool `xml:"dvPortOperationSupported" json:"dvPortOperationSupported,omitempty"`
 19364  	// List of host component product information that is compatible
 19365  	// with the current switch implementation.
 19366  	CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty" json:"compatibleHostComponentProductInfo,omitempty"`
 19367  	// Indicators for which version-specific distributed virtual switch
 19368  	// features are available on this switch.
 19369  	//
 19370  	// This information is read-only, with the following exception.
 19371  	// For a third-party distributed switch implementation, you can
 19372  	// set the property
 19373  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`
 19374  	// during switch creation or when you call the
 19375  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19376  	FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr" json:"featuresSupported,omitempty"`
 19377  }
 19378  
 19379  func init() {
 19380  	t["DVSCapability"] = reflect.TypeOf((*DVSCapability)(nil)).Elem()
 19381  }
 19382  
 19383  // Configuration of a `DistributedVirtualSwitch`.
 19384  type DVSConfigInfo struct {
 19385  	DynamicData
 19386  
 19387  	// Generated UUID of the switch.
 19388  	//
 19389  	// Unique across vCenter Server
 19390  	// inventory and instances.
 19391  	Uuid string `xml:"uuid" json:"uuid"`
 19392  	// Name of the switch.
 19393  	Name string `xml:"name" json:"name"`
 19394  	// Number of standalone ports in the switch.
 19395  	//
 19396  	// Standalone ports are
 19397  	// ports that do not belong to any portgroup.
 19398  	NumStandalonePorts int32 `xml:"numStandalonePorts" json:"numStandalonePorts"`
 19399  	// Current number of ports, not including conflict ports.
 19400  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 19401  	// Maximum number of ports allowed in the switch,
 19402  	// not including conflict ports.
 19403  	MaxPorts int32 `xml:"maxPorts" json:"maxPorts"`
 19404  	// Uplink port policy.
 19405  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr" json:"uplinkPortPolicy"`
 19406  	// List of uplink portgroups.
 19407  	//
 19408  	// When adding host members, the server
 19409  	// uses the `DVSConfigInfo.uplinkPortPolicy` to create a number of
 19410  	// uplink ports for the host. If portgroups are shown here,
 19411  	// those uplink ports will be added to the portgroups, with uplink ports
 19412  	// evenly spread among the portgroups.
 19413  	//
 19414  	// Refers instances of `DistributedVirtualPortgroup`.
 19415  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19416  	// Default configuration for the ports in the switch, if the port
 19417  	// does not inherit configuration from the parent portgroup or has
 19418  	// its own configuration.
 19419  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr" json:"defaultPortConfig"`
 19420  	// Hosts that join the switch.
 19421  	Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty" json:"host,omitempty"`
 19422  	// Vendor, product, and version information for the implementation
 19423  	// module of the switch.
 19424  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 19425  	// Intended vendor, product, and version information for the
 19426  	// implementation module of the switch.
 19427  	TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty" json:"targetInfo,omitempty"`
 19428  	// Key of the extension registered by the remote server that
 19429  	// controls the switch.
 19430  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19431  	// Opaque binary blob that stores vendor specific configuration.
 19432  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19433  	// Usage policy of the switch.
 19434  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19435  	// Description string for the switch.
 19436  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19437  	// Version string of the configuration.
 19438  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 19439  	// Human operator contact information.
 19440  	Contact DVSContactInfo `xml:"contact" json:"contact"`
 19441  	// IP address for the switch, specified using IPv4 dot notation.
 19442  	//
 19443  	// The
 19444  	// utility of this address is defined by other switch features.
 19445  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty"`
 19446  	// Create time of the switch.
 19447  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 19448  	// Boolean to indicate if network I/O control is enabled on the
 19449  	// switch.
 19450  	NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled" json:"networkResourceManagementEnabled,omitempty"`
 19451  	// Default host proxy switch maximum port number
 19452  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty"`
 19453  	// VDS health check configuration.
 19454  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr" json:"healthCheckConfig,omitempty"`
 19455  	// Host infrastructure traffic class resource configuration.
 19456  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty"`
 19457  	// Dynamic Host infrastructure traffic class resource configuration.
 19458  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty"`
 19459  	// Network resource control version of the switch.
 19460  	//
 19461  	// Possible value can be of
 19462  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19463  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty"`
 19464  	// The Virtual NIC network resource pool information for the switch.
 19465  	VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty" json:"vmVnicNetworkResourcePool,omitempty"`
 19466  	// The percentage of physical nic link speed
 19467  	// `PhysicalNicLinkInfo.speedMb`
 19468  	// available for infrastructure traffic reservation.
 19469  	//
 19470  	// If this value is 75, then for a 1Gbps physical nic, only
 19471  	// 750Mbps is allowed for all infrastructure traffic reservations.
 19472  	PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty" json:"pnicCapacityRatioForReservation,omitempty"`
 19473  }
 19474  
 19475  func init() {
 19476  	t["DVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem()
 19477  }
 19478  
 19479  // The `DVSConfigSpec`
 19480  // data object contains configuration data for a
 19481  // `DistributedVirtualSwitch`.
 19482  //
 19483  // Use the `DistributedVirtualSwitch.ReconfigureDvs_Task`
 19484  // method to apply the configuration to the
 19485  // switch.
 19486  type DVSConfigSpec struct {
 19487  	DynamicData
 19488  
 19489  	// The version string of the configuration that this spec is trying to
 19490  	// change.
 19491  	//
 19492  	// This property is required in reconfiguring a switch
 19493  	// and should be set to the same value as
 19494  	// `DVSConfigInfo.configVersion`.
 19495  	// This property is ignored during switch creation.
 19496  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 19497  	// The name of the switch.
 19498  	//
 19499  	// Must be unique in the parent folder.
 19500  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19501  	// The number of standalone ports in the switch.
 19502  	//
 19503  	// Standalone ports are
 19504  	// ports that do not belong to any portgroup. If set to a number larger
 19505  	// than number of existing standalone ports in the switch, new ports get
 19506  	// created to meet the number. If set to a number smaller than the number
 19507  	// of existing standalone ports, free ports (uplink ports excluded) are
 19508  	// deleted to meet the number. If the set number cannot be met by
 19509  	// deleting free standalone ports, a fault is raised.
 19510  	NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty" json:"numStandalonePorts,omitempty"`
 19511  	// Deprecated as of vSphere API 5.0
 19512  	// The default value of this propoerty is maxint and there is no reason
 19513  	// for users to change it to a lower value.
 19514  	//
 19515  	// The maximum number of DistributedVirtualPorts allowed in the switch.
 19516  	//
 19517  	// If specified in a reconfigure operation, this number cannot be smaller
 19518  	// than the number of existing DistributedVirtualPorts.
 19519  	MaxPorts int32 `xml:"maxPorts,omitempty" json:"maxPorts,omitempty"`
 19520  	// The uplink port policy.
 19521  	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr" json:"uplinkPortPolicy,omitempty"`
 19522  	// The uplink portgroups.
 19523  	//
 19524  	// Refers instances of `DistributedVirtualPortgroup`.
 19525  	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
 19526  	// The default configuration for ports.
 19527  	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
 19528  	// The host member specification.
 19529  	//
 19530  	// A particular host should have only one entry
 19531  	// in this array. Duplicate entries for the same host will raise a fault.
 19532  	// The host version should be compatible with the version of
 19533  	// `DistributedVirtualSwitch`. Use
 19534  	// `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`
 19535  	// to check for compatibility.
 19536  	Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty" json:"host,omitempty"`
 19537  	// The key of the extension registered by a remote server that
 19538  	// controls the switch.
 19539  	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
 19540  	// Set the description string of the switch.
 19541  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 19542  	// The usage policy of the switch.
 19543  	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 19544  	// Set the opaque blob that stores vendor specific configuration.
 19545  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 19546  	// Set the human operator contact information.
 19547  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 19548  	// IP address for the switch, specified using IPv4 dot notation.
 19549  	//
 19550  	// IPv6 address is not supported for this property.
 19551  	// The utility of this address is defined by other switch features.
 19552  	// switchIpAddress would be ignored when IPFIX collector uses IPv6.
 19553  	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty"`
 19554  	// The default host proxy switch maximum port number
 19555  	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty"`
 19556  	// The host infrastructure traffic resource allocation specification.
 19557  	//
 19558  	// Only the traffic class resource allocations identified in the list
 19559  	// will be updated. The other traffic class resource allocations that are not
 19560  	// specified will not change.
 19561  	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty"`
 19562  	// The dynamic host infrastructure traffic resource allocation
 19563  	// specification.
 19564  	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty"`
 19565  	// Indicates the Network Resource Control APIs that are supported on the switch.
 19566  	//
 19567  	// Possible value can be of
 19568  	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
 19569  	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty"`
 19570  }
 19571  
 19572  func init() {
 19573  	t["DVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem()
 19574  }
 19575  
 19576  // Contact information of a human operator.
 19577  type DVSContactInfo struct {
 19578  	DynamicData
 19579  
 19580  	// The name of the person who is responsible for the switch.
 19581  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 19582  	// The contact information for the person.
 19583  	Contact string `xml:"contact,omitempty" json:"contact,omitempty"`
 19584  }
 19585  
 19586  func init() {
 19587  	t["DVSContactInfo"] = reflect.TypeOf((*DVSContactInfo)(nil)).Elem()
 19588  }
 19589  
 19590  // Specification to create a `DistributedVirtualSwitch`.
 19591  type DVSCreateSpec struct {
 19592  	DynamicData
 19593  
 19594  	// Configuration data.
 19595  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 19596  	// Product information for this switch implementation.
 19597  	//
 19598  	// If you
 19599  	// do not specify this property, the Server will use the latest
 19600  	// version to create the `DistributedVirtualSwitch`.
 19601  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 19602  	// Capability of the switch.
 19603  	Capability *DVSCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 19604  }
 19605  
 19606  func init() {
 19607  	t["DVSCreateSpec"] = reflect.TypeOf((*DVSCreateSpec)(nil)).Elem()
 19608  }
 19609  
 19610  // This data object type describes the network adapter failover
 19611  // detection algorithm for a network adapter team.
 19612  type DVSFailureCriteria struct {
 19613  	InheritablePolicy
 19614  
 19615  	// To use link speed as the criteria, _checkSpeed_ must be one of
 19616  	// the following values:
 19617  	//   - `*exact*`: Use exact speed to detect link failure.
 19618  	//     `*speed*` is the configured exact speed in megabits per second.
 19619  	//   - `*minimum*`: Use minimum speed to detect failure.
 19620  	//     `*speed*` is the configured minimum speed in megabits per second.
 19621  	//   - **empty string**: Do not use link speed to detect failure.
 19622  	//     `*speed*` is unused in this case.
 19623  	CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 19624  	// See also `DVSFailureCriteria.checkSpeed`.
 19625  	Speed *IntPolicy `xml:"speed,omitempty" json:"speed,omitempty"`
 19626  	// The flag to indicate whether or not to use the link duplex reported
 19627  	// by the driver as link selection criteria.
 19628  	//
 19629  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 19630  	// duplex mode. The link is considered bad if the link duplex reported
 19631  	// by driver is not the same as fullDuplex.
 19632  	//
 19633  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 19634  	// link duplexity is not used as a detection method.
 19635  	CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty" json:"checkDuplex,omitempty"`
 19636  	// See also `DVSFailureCriteria.checkDuplex`.
 19637  	FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty" json:"fullDuplex,omitempty"`
 19638  	// The flag to indicate whether or not to use link error percentage
 19639  	// to detect failure.
 19640  	//
 19641  	// If `*checkErrorPercent*` is true, then percentage is the configured
 19642  	// error percentage that is tolerated. The link is considered bad
 19643  	// if error rate exceeds percentage.
 19644  	//
 19645  	// If `*checkErrorPercent*` is false, percentage is unused, and
 19646  	// error percentage is not used as a detection method.
 19647  	CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty" json:"checkErrorPercent,omitempty"`
 19648  	// See also `DVSFailureCriteria.checkErrorPercent`.
 19649  	Percentage *IntPolicy `xml:"percentage,omitempty" json:"percentage,omitempty"`
 19650  	// The flag to indicate whether or not to enable this property to
 19651  	// enable beacon probing as a method to validate
 19652  	// the link status of a physical network adapter.
 19653  	//
 19654  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 19655  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 19656  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 19657  	// configured for the applicable VirtualSwitch results in an error.
 19658  	CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty" json:"checkBeacon,omitempty"`
 19659  }
 19660  
 19661  func init() {
 19662  	t["DVSFailureCriteria"] = reflect.TypeOf((*DVSFailureCriteria)(nil)).Elem()
 19663  }
 19664  
 19665  // The `DVSFeatureCapability` data object
 19666  // represents the capabilities supported by a
 19667  // `DistributedVirtualSwitch`.
 19668  //
 19669  // These properties are read-only with
 19670  // the exception of
 19671  // `DVSFeatureCapability.vmDirectPathGen2Supported`.
 19672  type DVSFeatureCapability struct {
 19673  	DynamicData
 19674  
 19675  	// Deprecated as of vSphere API 5.0, use
 19676  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourceManagementSupported`.
 19677  	//
 19678  	// Indicates whether network I/O control is
 19679  	// supported on the vSphere Distributed Switch.
 19680  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 19681  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 19682  	// there is no replacement.
 19683  	//
 19684  	// Indicates whether VMDirectPath Gen 2 is supported on the
 19685  	// distributed virtual switch.
 19686  	//
 19687  	// See
 19688  	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
 19689  	// and `PhysicalNic*.*PhysicalNic.vmDirectPathGen2Supported`.
 19690  	//
 19691  	// For a third-party distributed switch implementation, you can
 19692  	// specify this property during switch creation or when you call the
 19693  	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
 19694  	//
 19695  	// VMDirectPath Gen 2 is supported in
 19696  	// vSphere Distributed Switch Version 4.1 or later.
 19697  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 19698  	// The available teaming modes for the vSphere Distributed Switch.
 19699  	//
 19700  	// The
 19701  	// value can be one or more of
 19702  	// `DistributedVirtualSwitchNicTeamingPolicyMode_enum`.
 19703  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 19704  	// Deprecated as of vSphere API 5.0, use
 19705  	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourcePoolHighShareValue`.
 19706  	//
 19707  	// This is the value for `high`
 19708  	// in `DVSNetworkResourcePoolAllocationInfo.shares`.
 19709  	//
 19710  	// This
 19711  	// implicitly defines the legal range of share values to be between 1 and this.
 19712  	// This also defines values for other level types, such as
 19713  	// `normal` being one half of this value and
 19714  	// `low` being one fourth of this value.
 19715  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty" json:"networkResourcePoolHighShareValue,omitempty"`
 19716  	// Network resource management capabilities supported by a
 19717  	// distributed virtual switch.
 19718  	NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty" json:"networkResourceManagementCapability,omitempty"`
 19719  	// Health check capabilities supported by a `VmwareDistributedVirtualSwitch`.
 19720  	HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr" json:"healthCheckCapability,omitempty"`
 19721  	// Host rollback capability.
 19722  	//
 19723  	// If <code>rollbackCapability</code>.`DVSRollbackCapability.rollbackSupported`
 19724  	// is true, network operations that disconnect the the host are rolled back.
 19725  	RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty" json:"rollbackCapability,omitempty"`
 19726  	// Backup, restore, and rollback capabilities.
 19727  	//
 19728  	// Backup and restore
 19729  	// are supported only for `VmwareDistributedVirtualSwitch`.
 19730  	// Rollback is supported for `VmwareDistributedVirtualSwitch`
 19731  	// and `DistributedVirtualPortgroup`.
 19732  	// For information about backup and restore, see the
 19733  	// `DistributedVirtualSwitchManager` methods
 19734  	// `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` and
 19735  	// `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 19736  	// For information about rollback, see the
 19737  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.DVSRollback_Task`
 19738  	// and `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task`
 19739  	// methods.
 19740  	BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty" json:"backupRestoreCapability,omitempty"`
 19741  	// Indicates whether Network Filter feature is
 19742  	// supported in vSphere Distributed Switch.
 19743  	NetworkFilterSupported *bool `xml:"networkFilterSupported" json:"networkFilterSupported,omitempty"`
 19744  	// Indicates whether MAC learning feature is
 19745  	// supported in vSphere Distributed Switch.
 19746  	MacLearningSupported *bool `xml:"macLearningSupported" json:"macLearningSupported,omitempty"`
 19747  }
 19748  
 19749  func init() {
 19750  	t["DVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem()
 19751  }
 19752  
 19753  // Base class for connectee filters.
 19754  //
 19755  // This class serves as a base for different types of connectee filters.
 19756  // It has three sub-classes.
 19757  type DVSFilterSpecConnecteeSpec struct {
 19758  	DynamicData
 19759  }
 19760  
 19761  func init() {
 19762  	t["DVSFilterSpecConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecConnecteeSpec)(nil)).Elem()
 19763  	minAPIVersionForType["DVSFilterSpecConnecteeSpec"] = "8.0.3.0"
 19764  }
 19765  
 19766  // Sub-class for connectee filters.
 19767  //
 19768  // This is for the connectee type to be pnic.
 19769  // Two filters will apply, which are pnicName and hostName.
 19770  // This connectee whole-name will be made up from two names: pnicName and hostName.
 19771  type DVSFilterSpecPnicConnecteeSpec struct {
 19772  	DVSFilterSpecConnecteeSpec
 19773  
 19774  	// The pnic name to be filtered in the connectee column.
 19775  	//
 19776  	// If set, port's connectee type being a pnic whose whole-name including this string are qualified.
 19777  	PnicNameSpec string `xml:"pnicNameSpec,omitempty" json:"pnicNameSpec,omitempty"`
 19778  }
 19779  
 19780  func init() {
 19781  	t["DVSFilterSpecPnicConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecPnicConnecteeSpec)(nil)).Elem()
 19782  	minAPIVersionForType["DVSFilterSpecPnicConnecteeSpec"] = "8.0.3.0"
 19783  }
 19784  
 19785  // Sub-class for Vlan filters.
 19786  //
 19787  // This is for the Vlan type to be private Vlan.
 19788  type DVSFilterSpecPvlanSpec struct {
 19789  	DVSFilterSpecVlanSpec
 19790  
 19791  	// The private VLAN ID for ports.
 19792  	//
 19793  	// Possible values:
 19794  	// A value of 0 specifies that you do not want the port associated
 19795  	// with a VLAN.
 19796  	// A value from 1 to 4094 specifies a VLAN ID for the port.
 19797  	// If set, port private vlans matching are qualified.
 19798  	PvlanId int32 `xml:"pvlanId,omitempty" json:"pvlanId,omitempty"`
 19799  }
 19800  
 19801  func init() {
 19802  	t["DVSFilterSpecPvlanSpec"] = reflect.TypeOf((*DVSFilterSpecPvlanSpec)(nil)).Elem()
 19803  	minAPIVersionForType["DVSFilterSpecPvlanSpec"] = "8.0.3.0"
 19804  }
 19805  
 19806  // Sub-class for Vlan filters.
 19807  //
 19808  // This is for the Vlan type to be trunking.
 19809  type DVSFilterSpecTrunkVlanSpec struct {
 19810  	DVSFilterSpecVlanSpec
 19811  
 19812  	// The VlanId range for the trunk port.
 19813  	//
 19814  	// The valid VlanId range is
 19815  	// from 0 to 4094. Overlapping ranges are allowed.
 19816  	// If set, port trunk ranges matching are qualified.
 19817  	Range *NumericRange `xml:"range,omitempty" json:"range,omitempty"`
 19818  }
 19819  
 19820  func init() {
 19821  	t["DVSFilterSpecTrunkVlanSpec"] = reflect.TypeOf((*DVSFilterSpecTrunkVlanSpec)(nil)).Elem()
 19822  	minAPIVersionForType["DVSFilterSpecTrunkVlanSpec"] = "8.0.3.0"
 19823  }
 19824  
 19825  // Sub-class for Vlan filters.
 19826  //
 19827  // This is for the Vlan type to be Vlan.
 19828  type DVSFilterSpecVlanIdSpec struct {
 19829  	DVSFilterSpecVlanSpec
 19830  
 19831  	// The VLAN ID for ports.
 19832  	//
 19833  	// Possible values:
 19834  	// A value of 0 specifies that you do not want the port associated
 19835  	// with a VLAN.
 19836  	// A value from 1 to 4094 specifies a VLAN ID for the port.
 19837  	// If set,port vlans matching are qualified.
 19838  	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 19839  }
 19840  
 19841  func init() {
 19842  	t["DVSFilterSpecVlanIdSpec"] = reflect.TypeOf((*DVSFilterSpecVlanIdSpec)(nil)).Elem()
 19843  	minAPIVersionForType["DVSFilterSpecVlanIdSpec"] = "8.0.3.0"
 19844  }
 19845  
 19846  // Base class for VlanSpec filters.
 19847  //
 19848  // This class serves as a base for different types of VlanSpec filters.
 19849  // It has three sub-classes.
 19850  type DVSFilterSpecVlanSpec struct {
 19851  	DynamicData
 19852  }
 19853  
 19854  func init() {
 19855  	t["DVSFilterSpecVlanSpec"] = reflect.TypeOf((*DVSFilterSpecVlanSpec)(nil)).Elem()
 19856  	minAPIVersionForType["DVSFilterSpecVlanSpec"] = "8.0.3.0"
 19857  }
 19858  
 19859  // Sub-class for connectee filters.
 19860  //
 19861  // This is for the connectee type to be vm.
 19862  // Only one filter will apply, whici is vmName.
 19863  type DVSFilterSpecVmConnecteeSpec struct {
 19864  	DVSFilterSpecConnecteeSpec
 19865  
 19866  	// The vm name to be filtered in the connectee column.
 19867  	//
 19868  	// If set, port's connectee type being a vm whose name including this string are qualified.
 19869  	VmNameSpec string `xml:"vmNameSpec,omitempty" json:"vmNameSpec,omitempty"`
 19870  }
 19871  
 19872  func init() {
 19873  	t["DVSFilterSpecVmConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecVmConnecteeSpec)(nil)).Elem()
 19874  	minAPIVersionForType["DVSFilterSpecVmConnecteeSpec"] = "8.0.3.0"
 19875  }
 19876  
 19877  // Sub-class for connectee filters.
 19878  //
 19879  // This is for the connectee type to be vmknic.
 19880  // Two filters will apply, which are vmknicName and hostName.
 19881  // This connectee whole-name will be made up from two names: vmknicName and hostName.
 19882  type DVSFilterSpecVmknicConnecteeSpec struct {
 19883  	DVSFilterSpecConnecteeSpec
 19884  
 19885  	// The vmknic name to be filtered in the connectee column.
 19886  	//
 19887  	// If set, port's connectee type being a vmknic whose whole-name including this string are qualified.
 19888  	VmknicNameSpec string `xml:"vmknicNameSpec,omitempty" json:"vmknicNameSpec,omitempty"`
 19889  }
 19890  
 19891  func init() {
 19892  	t["DVSFilterSpecVmknicConnecteeSpec"] = reflect.TypeOf((*DVSFilterSpecVmknicConnecteeSpec)(nil)).Elem()
 19893  	minAPIVersionForType["DVSFilterSpecVmknicConnecteeSpec"] = "8.0.3.0"
 19894  }
 19895  
 19896  // Health check capabilities of health check supported by the
 19897  // vSphere Distributed Switch
 19898  type DVSHealthCheckCapability struct {
 19899  	DynamicData
 19900  }
 19901  
 19902  func init() {
 19903  	t["DVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem()
 19904  }
 19905  
 19906  // The `DVSHealthCheckConfig` data object
 19907  // defines vSphere Distributed Switch health check configuration.
 19908  type DVSHealthCheckConfig struct {
 19909  	DynamicData
 19910  
 19911  	// True if enable health check.
 19912  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 19913  	// Interval of health check, in minutes.
 19914  	Interval int32 `xml:"interval,omitempty" json:"interval,omitempty"`
 19915  }
 19916  
 19917  func init() {
 19918  	t["DVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem()
 19919  }
 19920  
 19921  // This data object type describes the information about the host local port.
 19922  //
 19923  // A host local port is created to resurrect the management network connection
 19924  // on a VMkernel Virtual NIC.
 19925  type DVSHostLocalPortInfo struct {
 19926  	DynamicData
 19927  
 19928  	// UUID of the vSphere Distributed Switch that management interface is connected to.
 19929  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 19930  	// Portkey of the DVPort that management interface is now connected to.
 19931  	PortKey string `xml:"portKey" json:"portKey"`
 19932  	// The configuration of the new host local port.
 19933  	Setting BaseDVPortSetting `xml:"setting,typeattr" json:"setting"`
 19934  	// The Virtual NIC device connected to this port
 19935  	Vnic string `xml:"vnic" json:"vnic"`
 19936  }
 19937  
 19938  func init() {
 19939  	t["DVSHostLocalPortInfo"] = reflect.TypeOf((*DVSHostLocalPortInfo)(nil)).Elem()
 19940  }
 19941  
 19942  // This data object type describes MAC learning policy of a port.
 19943  type DVSMacLearningPolicy struct {
 19944  	InheritablePolicy
 19945  
 19946  	// The flag to indicate if source MAC address learning is allowed.
 19947  	Enabled bool `xml:"enabled" json:"enabled"`
 19948  	// The flag to allow flooding of unlearned MAC for ingress traffic.
 19949  	AllowUnicastFlooding *bool `xml:"allowUnicastFlooding" json:"allowUnicastFlooding,omitempty"`
 19950  	// The maximum number of MAC addresses that can be learned.
 19951  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 19952  	// The default switching policy after MAC limit is exceeded.
 19953  	//
 19954  	// See `DVSMacLimitPolicyType_enum`
 19955  	// for valid values.
 19956  	LimitPolicy string `xml:"limitPolicy,omitempty" json:"limitPolicy,omitempty"`
 19957  }
 19958  
 19959  func init() {
 19960  	t["DVSMacLearningPolicy"] = reflect.TypeOf((*DVSMacLearningPolicy)(nil)).Elem()
 19961  }
 19962  
 19963  // This data object type describes MAC management policy of a port.
 19964  type DVSMacManagementPolicy struct {
 19965  	InheritablePolicy
 19966  
 19967  	// The flag to indicate whether or not all traffic is seen
 19968  	// on the port.
 19969  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 19970  	// The flag to indicate whether or not the Media Access
 19971  	// Control (MAC) address can be changed.
 19972  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 19973  	// The flag to indicate whether or not the virtual network adapter
 19974  	// should be allowed to send network traffic with a different MAC
 19975  	// address than that of the virtual network adapter.
 19976  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 19977  	// The MAC learning policy.
 19978  	MacLearningPolicy *DVSMacLearningPolicy `xml:"macLearningPolicy,omitempty" json:"macLearningPolicy,omitempty"`
 19979  }
 19980  
 19981  func init() {
 19982  	t["DVSMacManagementPolicy"] = reflect.TypeOf((*DVSMacManagementPolicy)(nil)).Elem()
 19983  }
 19984  
 19985  // Configuration specification for a DistributedVirtualSwitch or
 19986  // DistributedVirtualPortgroup.
 19987  type DVSManagerDvsConfigTarget struct {
 19988  	DynamicData
 19989  
 19990  	// List of any DistributedVirtualPortgroup available for host Virtual NIC connection.
 19991  	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 19992  	// List of any DistributedVirtualSwitch available for host Virtual NIC connection.
 19993  	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 19994  }
 19995  
 19996  func init() {
 19997  	t["DVSManagerDvsConfigTarget"] = reflect.TypeOf((*DVSManagerDvsConfigTarget)(nil)).Elem()
 19998  }
 19999  
 20000  // The parameters of `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`.
 20001  type DVSManagerExportEntityRequestType struct {
 20002  	This ManagedObjectReference `xml:"_this" json:"-"`
 20003  	// The selection criteria for a set of
 20004  	// entities to export the configuration.
 20005  	SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr" json:"selectionSet"`
 20006  }
 20007  
 20008  func init() {
 20009  	t["DVSManagerExportEntityRequestType"] = reflect.TypeOf((*DVSManagerExportEntityRequestType)(nil)).Elem()
 20010  }
 20011  
 20012  type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType
 20013  
 20014  func init() {
 20015  	t["DVSManagerExportEntity_Task"] = reflect.TypeOf((*DVSManagerExportEntity_Task)(nil)).Elem()
 20016  }
 20017  
 20018  type DVSManagerExportEntity_TaskResponse struct {
 20019  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20020  }
 20021  
 20022  // The parameters of `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 20023  type DVSManagerImportEntityRequestType struct {
 20024  	This ManagedObjectReference `xml:"_this" json:"-"`
 20025  	// Configuration of one or more entities to be imported.
 20026  	// The entity backup configuration is returned
 20027  	// by the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` method.
 20028  	EntityBackup []EntityBackupConfig `xml:"entityBackup" json:"entityBackup"`
 20029  	// Specifies whether to create a new configuration
 20030  	// or restore a previous configuration. See `EntityImportType_enum` for valid values.
 20031  	ImportType string `xml:"importType" json:"importType"`
 20032  }
 20033  
 20034  func init() {
 20035  	t["DVSManagerImportEntityRequestType"] = reflect.TypeOf((*DVSManagerImportEntityRequestType)(nil)).Elem()
 20036  }
 20037  
 20038  type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType
 20039  
 20040  func init() {
 20041  	t["DVSManagerImportEntity_Task"] = reflect.TypeOf((*DVSManagerImportEntity_Task)(nil)).Elem()
 20042  }
 20043  
 20044  type DVSManagerImportEntity_TaskResponse struct {
 20045  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20046  }
 20047  
 20048  type DVSManagerLookupDvPortGroup DVSManagerLookupDvPortGroupRequestType
 20049  
 20050  func init() {
 20051  	t["DVSManagerLookupDvPortGroup"] = reflect.TypeOf((*DVSManagerLookupDvPortGroup)(nil)).Elem()
 20052  }
 20053  
 20054  // The parameters of `DistributedVirtualSwitchManager.DVSManagerLookupDvPortGroup`.
 20055  type DVSManagerLookupDvPortGroupRequestType struct {
 20056  	This ManagedObjectReference `xml:"_this" json:"-"`
 20057  	// The UUID of the `DistributedVirtualSwitch`.
 20058  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 20059  	// The key that identifies a
 20060  	// `DistributedVirtualPortgroup`.
 20061  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 20062  }
 20063  
 20064  func init() {
 20065  	t["DVSManagerLookupDvPortGroupRequestType"] = reflect.TypeOf((*DVSManagerLookupDvPortGroupRequestType)(nil)).Elem()
 20066  }
 20067  
 20068  type DVSManagerLookupDvPortGroupResponse struct {
 20069  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 20070  }
 20071  
 20072  // This class is used to store valid PhysicalNics for a specific host
 20073  type DVSManagerPhysicalNicsList struct {
 20074  	DynamicData
 20075  
 20076  	// Refers instance of `HostSystem`.
 20077  	Host         ManagedObjectReference `xml:"host" json:"host"`
 20078  	PhysicalNics []PhysicalNic          `xml:"physicalNics,omitempty" json:"physicalNics,omitempty"`
 20079  }
 20080  
 20081  func init() {
 20082  	t["DVSManagerPhysicalNicsList"] = reflect.TypeOf((*DVSManagerPhysicalNicsList)(nil)).Elem()
 20083  	minAPIVersionForType["DVSManagerPhysicalNicsList"] = "8.0.0.1"
 20084  }
 20085  
 20086  // The uplink port policy specifies an array of uniform names
 20087  // for the uplink ports across the hosts.
 20088  //
 20089  // The size of the array indicates
 20090  // the number of uplink ports that will be created for each host in the
 20091  // switch.
 20092  //
 20093  // When the names in this array change, the uplink ports on all the
 20094  // hosts are automatically renamed accordingly. Increasing the number
 20095  // of names in the array automatically creates additional uplink ports
 20096  // bearing the added name on each host. Decreasing the number of name
 20097  // automatically deletes the unused uplink ports on each host. Decreasing
 20098  // beyond the number of unused uplink port raises a fault.
 20099  //
 20100  // This policy overrides the portgroup port naming format
 20101  // (`DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.portNameFormat`),
 20102  // if both are defined and the uplink ports are created in a uplink portgroup.
 20103  type DVSNameArrayUplinkPortPolicy struct {
 20104  	DVSUplinkPortPolicy
 20105  
 20106  	// The uniform name of uplink ports on each host.
 20107  	UplinkPortName []string `xml:"uplinkPortName" json:"uplinkPortName"`
 20108  }
 20109  
 20110  func init() {
 20111  	t["DVSNameArrayUplinkPortPolicy"] = reflect.TypeOf((*DVSNameArrayUplinkPortPolicy)(nil)).Elem()
 20112  }
 20113  
 20114  // Dataobject representing the feature capabilities of network resource management
 20115  // supported by the vSphere Distributed Switch.
 20116  type DVSNetworkResourceManagementCapability struct {
 20117  	DynamicData
 20118  
 20119  	// Indicates whether network I/O control is
 20120  	// supported on the vSphere Distributed Switch.
 20121  	//
 20122  	// Network I/O control
 20123  	// is supported in vSphere Distributed Switch Version 4.1 or later.
 20124  	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
 20125  	// High share level (`SharesLevel_enum*.*high`)
 20126  	// for `DVSNetworkResourcePoolAllocationInfo*.*DVSNetworkResourcePoolAllocationInfo.shares`.
 20127  	//
 20128  	// The <code>networkResourcePoolHighshareValue</code> property implicitly defines
 20129  	// the legal range of share values to be between 1 and this value.
 20130  	// This property also defines values for other level types, such as
 20131  	// `normal` being one half of this value and
 20132  	// `low` being one fourth of this value.
 20133  	// This feature is supported in vSphere Distributed
 20134  	// Switch Version 4.1 or later.
 20135  	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue" json:"networkResourcePoolHighShareValue"`
 20136  	// Indicates whether Qos Tag(802.1p priority tag)is supported on the
 20137  	// vSphere Distributed Switch.
 20138  	//
 20139  	// Qos Tag is supported in vSphere
 20140  	// Distributed Switch Version 5.0 or later.
 20141  	QosSupported bool `xml:"qosSupported" json:"qosSupported"`
 20142  	// Indicates whether the switch supports creating user defined resource
 20143  	// pools.
 20144  	//
 20145  	// This feature is supported in vSphere Distributed
 20146  	// Switch Version 5.0 or later.
 20147  	UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported" json:"userDefinedNetworkResourcePoolsSupported"`
 20148  	// Flag to indicate whether Network Resource Control version 3 is supported.
 20149  	//
 20150  	// The API supported by Network Resouce Control version 3 include:
 20151  	//  1. VM virtual NIC network resource specification
 20152  	//     `VirtualEthernetCardResourceAllocation`
 20153  	//  2. VM virtual NIC network resource pool specification
 20154  	//     `DVSVmVnicNetworkResourcePool`
 20155  	//  3. Host infrastructure traffic network resource specification
 20156  	//     `DvsHostInfrastructureTrafficResource`
 20157  	//
 20158  	// Network Resource Control version 3 is supported for Switch Version 6.0 or later.
 20159  	NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported" json:"networkResourceControlVersion3Supported,omitempty"`
 20160  	// Indicates whether user defined infrastructure traffic pool
 20161  	// supported in vSphere Distributed Switch.
 20162  	UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported" json:"userDefinedInfraTrafficPoolSupported,omitempty"`
 20163  }
 20164  
 20165  func init() {
 20166  	t["DVSNetworkResourceManagementCapability"] = reflect.TypeOf((*DVSNetworkResourceManagementCapability)(nil)).Elem()
 20167  }
 20168  
 20169  // Deprecated as of vSphere API 6.0
 20170  // Use `DvsHostInfrastructureTrafficResource`
 20171  // to manage resource allocation for host infrastructure traffic.
 20172  // Use `DVSVmVnicNetworkResourcePool` to manage
 20173  // resource allocation for user defined pools.
 20174  //
 20175  // The `DVSNetworkResourcePool` data object
 20176  // describes the resource configuration and management
 20177  // of network resource pools.
 20178  type DVSNetworkResourcePool struct {
 20179  	DynamicData
 20180  
 20181  	// Key of the network resource pool.
 20182  	Key string `xml:"key" json:"key"`
 20183  	// Name of the network resource pool.
 20184  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20185  	// Description of the network resource pool.
 20186  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20187  	// Configuration version for the network resource pool.
 20188  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20189  	// Resource settings of the resource pool.
 20190  	AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo" json:"allocationInfo"`
 20191  }
 20192  
 20193  func init() {
 20194  	t["DVSNetworkResourcePool"] = reflect.TypeOf((*DVSNetworkResourcePool)(nil)).Elem()
 20195  }
 20196  
 20197  // Resource allocation information for a network resource pool.
 20198  type DVSNetworkResourcePoolAllocationInfo struct {
 20199  	DynamicData
 20200  
 20201  	// Maximum allowed usage for network clients belonging to
 20202  	// this resource pool per host.
 20203  	//
 20204  	// The utilization of network clients belonging to this resource pool
 20205  	// will not exceed the specified limit even if there are available
 20206  	// network resources. If set to -1, then there is no limit on the network
 20207  	// resource usage for clients belonging to this resource pool. Units are
 20208  	// in Mbits/sec. When setting the allocation of a particular resource
 20209  	// pool, if the property is unset, it is treated as no change and the
 20210  	// property is not updated. An unset limit value while reading back the
 20211  	// allocation information of a network resource pool indicates that
 20212  	// there is no limit on the network resource usage for the clients
 20213  	// belonging to this resource group.
 20214  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 20215  	// Share settings associated with the network resource pool to
 20216  	// facilitate proportional sharing of the physical network resources.
 20217  	//
 20218  	// If the property is unset when setting the allocation of a particular
 20219  	// resource pool, it is treated as unset and the property is not updated.
 20220  	// The property is always set when reading back the allocation
 20221  	// information of a network resource pool.
 20222  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 20223  	// 802.1p tag to be used for this resource pool.
 20224  	//
 20225  	// The tag is a priority value
 20226  	// in the range 0..7 for Quality of Service operations on network traffic.
 20227  	PriorityTag int32 `xml:"priorityTag,omitempty" json:"priorityTag,omitempty"`
 20228  }
 20229  
 20230  func init() {
 20231  	t["DVSNetworkResourcePoolAllocationInfo"] = reflect.TypeOf((*DVSNetworkResourcePoolAllocationInfo)(nil)).Elem()
 20232  }
 20233  
 20234  // The `DVSNetworkResourcePoolConfigSpec` data object
 20235  // contains properties to create or update a network resource pool
 20236  // for a distributed virtual switch.
 20237  type DVSNetworkResourcePoolConfigSpec struct {
 20238  	DynamicData
 20239  
 20240  	// Key of the network resource pool.
 20241  	//
 20242  	// The property is ignored for
 20243  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20244  	// operations.
 20245  	Key string `xml:"key" json:"key"`
 20246  	// Unique identifier for a given version
 20247  	// of the configuration.
 20248  	//
 20249  	// Each change to the configuration will
 20250  	// update this value. This is typically implemented as a
 20251  	// non-decreasing count or a time-stamp. However, a client should
 20252  	// always treat this as an opaque string.
 20253  	//
 20254  	// If you specify the configuration version when you update
 20255  	// the resource configuration, the Server will apply the changes
 20256  	// only if the specified identifier matches the current
 20257  	// `DVSNetworkResourcePool*.*DVSNetworkResourcePool.configVersion`
 20258  	// value. You can use this field to guard against updates
 20259  	// that may have occurred between the time when the client
 20260  	// reads `DVSNetworkResourcePool.configVersion`
 20261  	// and when the configuration is applied.
 20262  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 20263  	// Network resource allocation for the network resource pool.
 20264  	AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20265  	// User defined name for the resource pool.
 20266  	//
 20267  	// The property is required for
 20268  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
 20269  	// operations.
 20270  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20271  	// User-defined description for the resource pool.
 20272  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20273  }
 20274  
 20275  func init() {
 20276  	t["DVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*DVSNetworkResourcePoolConfigSpec)(nil)).Elem()
 20277  }
 20278  
 20279  // The switch usage policy types
 20280  type DVSPolicy struct {
 20281  	DynamicData
 20282  
 20283  	// Whether downloading a new proxy VirtualSwitch module to the host is
 20284  	// allowed to be automatically executed by the switch.
 20285  	AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed" json:"autoPreInstallAllowed,omitempty"`
 20286  	// Whether upgrading of the switch is allowed to be automatically
 20287  	// executed by the switch.
 20288  	AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed" json:"autoUpgradeAllowed,omitempty"`
 20289  	// Whether to allow upgrading a switch when some of the hosts failed to
 20290  	// install the needed module.
 20291  	//
 20292  	// The vCenter Server will reattempt the
 20293  	// pre-install operation of the host module on those failed hosts,
 20294  	// whenever they reconnect to vCenter.
 20295  	PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed" json:"partialUpgradeAllowed,omitempty"`
 20296  }
 20297  
 20298  func init() {
 20299  	t["DVSPolicy"] = reflect.TypeOf((*DVSPolicy)(nil)).Elem()
 20300  }
 20301  
 20302  // The `DVSRollbackCapability` data object
 20303  // describes the rollback capabilities for a `DistributedVirtualSwitch`.
 20304  type DVSRollbackCapability struct {
 20305  	DynamicData
 20306  
 20307  	// Indicates whether rollback is supported on the distributed switch.
 20308  	RollbackSupported bool `xml:"rollbackSupported" json:"rollbackSupported"`
 20309  }
 20310  
 20311  func init() {
 20312  	t["DVSRollbackCapability"] = reflect.TypeOf((*DVSRollbackCapability)(nil)).Elem()
 20313  }
 20314  
 20315  // The parameters of `DistributedVirtualSwitch.DVSRollback_Task`.
 20316  type DVSRollbackRequestType struct {
 20317  	This ManagedObjectReference `xml:"_this" json:"-"`
 20318  	// Backup of a distributed virtual switch, returned by
 20319  	// the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 20320  	// method.
 20321  	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
 20322  }
 20323  
 20324  func init() {
 20325  	t["DVSRollbackRequestType"] = reflect.TypeOf((*DVSRollbackRequestType)(nil)).Elem()
 20326  }
 20327  
 20328  type DVSRollback_Task DVSRollbackRequestType
 20329  
 20330  func init() {
 20331  	t["DVSRollback_Task"] = reflect.TypeOf((*DVSRollback_Task)(nil)).Elem()
 20332  }
 20333  
 20334  type DVSRollback_TaskResponse struct {
 20335  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 20336  }
 20337  
 20338  // The `DVSRuntimeInfo` data object defines
 20339  // runtime information for a vSphere Distributed Switch.
 20340  type DVSRuntimeInfo struct {
 20341  	DynamicData
 20342  
 20343  	// Runtime information of the hosts that joined the switch.
 20344  	HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty" json:"hostMemberRuntime,omitempty"`
 20345  	// The bandwidth reservation information for the switch.
 20346  	ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty" json:"resourceRuntimeInfo,omitempty"`
 20347  }
 20348  
 20349  func init() {
 20350  	t["DVSRuntimeInfo"] = reflect.TypeOf((*DVSRuntimeInfo)(nil)).Elem()
 20351  }
 20352  
 20353  // This data object type describes security policy governing ports.
 20354  type DVSSecurityPolicy struct {
 20355  	InheritablePolicy
 20356  
 20357  	// The flag to indicate whether or not all traffic is seen
 20358  	// on the port.
 20359  	AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty" json:"allowPromiscuous,omitempty"`
 20360  	// The flag to indicate whether or not the Media Access
 20361  	// Control (MAC) address can be changed.
 20362  	MacChanges *BoolPolicy `xml:"macChanges,omitempty" json:"macChanges,omitempty"`
 20363  	// The flag to indicate whether or not the virtual network adapter
 20364  	// should be allowed to send network traffic with a different MAC
 20365  	// address than that of the virtual network adapter.
 20366  	ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty" json:"forgedTransmits,omitempty"`
 20367  }
 20368  
 20369  func init() {
 20370  	t["DVSSecurityPolicy"] = reflect.TypeOf((*DVSSecurityPolicy)(nil)).Elem()
 20371  }
 20372  
 20373  // Class to specify selection criteria of vSphere Distributed Switch.
 20374  type DVSSelection struct {
 20375  	SelectionSet
 20376  
 20377  	// vSphere Distributed Switch uuid
 20378  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 20379  }
 20380  
 20381  func init() {
 20382  	t["DVSSelection"] = reflect.TypeOf((*DVSSelection)(nil)).Elem()
 20383  }
 20384  
 20385  // Summary of the distributed switch configuration.
 20386  type DVSSummary struct {
 20387  	DynamicData
 20388  
 20389  	// The name of the switch.
 20390  	Name string `xml:"name" json:"name"`
 20391  	// The generated UUID of the switch.
 20392  	Uuid string `xml:"uuid" json:"uuid"`
 20393  	// Current number of ports, not including conflict ports.
 20394  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 20395  	// The product information for the implementation of the switch.
 20396  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 20397  	// The names of the hosts that join the switch.
 20398  	//
 20399  	// Refers instances of `HostSystem`.
 20400  	HostMember []ManagedObjectReference `xml:"hostMember,omitempty" json:"hostMember,omitempty"`
 20401  	// The Virtual Machines with Virtual NICs that connect to the switch.
 20402  	//
 20403  	// In releases after vSphere API 5.0, vSphere Servers might not
 20404  	// generate property collector update notifications for this property.
 20405  	// To obtain the latest value of the property, you can use
 20406  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 20407  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 20408  	// an empty string for the version parameter.
 20409  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 20410  	// contain values for this property when some other property on the DataObject changes.
 20411  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 20412  	// version parameter, the value for this property may not be current.
 20413  	//
 20414  	// Refers instances of `VirtualMachine`.
 20415  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 20416  	// The hosts with Virtual NICs that connect to the switch.
 20417  	//
 20418  	// Refers instances of `HostSystem`.
 20419  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 20420  	// The names of the portgroups that are defined on the switch.
 20421  	PortgroupName []string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 20422  	// A description string of the switch.
 20423  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20424  	// The human operator contact information.
 20425  	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
 20426  	// The number of hosts in the switch.
 20427  	//
 20428  	// The value of this property
 20429  	// is not affected by the privileges granted to the current user.
 20430  	NumHosts int32 `xml:"numHosts,omitempty" json:"numHosts,omitempty"`
 20431  }
 20432  
 20433  func init() {
 20434  	t["DVSSummary"] = reflect.TypeOf((*DVSSummary)(nil)).Elem()
 20435  }
 20436  
 20437  // This data object type describes traffic shaping policy.
 20438  type DVSTrafficShapingPolicy struct {
 20439  	InheritablePolicy
 20440  
 20441  	// The flag to indicate whether or not traffic shaper is enabled on
 20442  	// the port.
 20443  	Enabled *BoolPolicy `xml:"enabled,omitempty" json:"enabled,omitempty"`
 20444  	// The average bandwidth in bits per second if shaping is enabled on
 20445  	// the port.
 20446  	AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 20447  	// The peak bandwidth during bursts in bits per second if traffic
 20448  	// shaping is enabled on the port.
 20449  	PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 20450  	// The maximum burst size allowed in bytes if shaping is enabled on
 20451  	// the port.
 20452  	BurstSize *LongPolicy `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 20453  }
 20454  
 20455  func init() {
 20456  	t["DVSTrafficShapingPolicy"] = reflect.TypeOf((*DVSTrafficShapingPolicy)(nil)).Elem()
 20457  }
 20458  
 20459  // The base class for uplink port policy.
 20460  type DVSUplinkPortPolicy struct {
 20461  	DynamicData
 20462  }
 20463  
 20464  func init() {
 20465  	t["DVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem()
 20466  }
 20467  
 20468  // This data object type describes vendor specific configuration.
 20469  type DVSVendorSpecificConfig struct {
 20470  	InheritablePolicy
 20471  
 20472  	// An opaque binary blob that stores vendor specific configuration.
 20473  	KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty" json:"keyValue,omitempty"`
 20474  }
 20475  
 20476  func init() {
 20477  	t["DVSVendorSpecificConfig"] = reflect.TypeOf((*DVSVendorSpecificConfig)(nil)).Elem()
 20478  }
 20479  
 20480  // DataObject describing the resource configuration and management of
 20481  // virtual NIC network resource pools.
 20482  type DVSVmVnicNetworkResourcePool struct {
 20483  	DynamicData
 20484  
 20485  	// The key of the virtual NIC network resource pool.
 20486  	Key string `xml:"key" json:"key"`
 20487  	// The name of the virtual NIC network resource pool.
 20488  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 20489  	// The description of the virtual NIC network resource pool.
 20490  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 20491  	// The config version for the virtual NIC network resource pool.
 20492  	ConfigVersion string `xml:"configVersion" json:"configVersion"`
 20493  	// The resource settings of the virtual NIC network resource pool.
 20494  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 20495  }
 20496  
 20497  func init() {
 20498  	t["DVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*DVSVmVnicNetworkResourcePool)(nil)).Elem()
 20499  }
 20500  
 20501  // The `DailyTaskScheduler` data object sets the time for daily
 20502  // task execution.
 20503  //
 20504  // You set the hour and the inherited minute
 20505  // property to complete the schedule. By default, the scheduled task
 20506  // will run once every day at the specified hour and minute.
 20507  //
 20508  // If you set the interval to a value greater than 1, the task will
 20509  // execute at the specified daily interval. (For example, an interval
 20510  // of 2 will cause the task to execute at the specified hour and minute
 20511  // every 2 days.)
 20512  type DailyTaskScheduler struct {
 20513  	HourlyTaskScheduler
 20514  
 20515  	// The hour at which the `RecurrentTaskScheduler` runs the task.
 20516  	//
 20517  	// Use UTC (Coordinated Universal Time) values in the range
 20518  	// 0 to 23, where 0 = 12:00 a.m. (UTC) and 12 = 12:00 p.m. (UTC).
 20519  	//
 20520  	// For vCenter 2.x and prior releases, use the server's local time.
 20521  	// For example, use Eastern Standard Time (EST) or Pacific Daylight Time (PDT),
 20522  	// rather than UTC.
 20523  	Hour int32 `xml:"hour" json:"hour"`
 20524  }
 20525  
 20526  func init() {
 20527  	t["DailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem()
 20528  }
 20529  
 20530  // This event records when admission control checks have been disabled in a HA
 20531  // cluster.
 20532  type DasAdmissionControlDisabledEvent struct {
 20533  	ClusterEvent
 20534  }
 20535  
 20536  func init() {
 20537  	t["DasAdmissionControlDisabledEvent"] = reflect.TypeOf((*DasAdmissionControlDisabledEvent)(nil)).Elem()
 20538  }
 20539  
 20540  // This event records when admission control checks have been enabled in a HA cluster.
 20541  type DasAdmissionControlEnabledEvent struct {
 20542  	ClusterEvent
 20543  }
 20544  
 20545  func init() {
 20546  	t["DasAdmissionControlEnabledEvent"] = reflect.TypeOf((*DasAdmissionControlEnabledEvent)(nil)).Elem()
 20547  }
 20548  
 20549  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20550  //
 20551  // This event records that VirtualCenter has re-established contact with a
 20552  // primary host in this HA cluster.
 20553  type DasAgentFoundEvent struct {
 20554  	ClusterEvent
 20555  }
 20556  
 20557  func init() {
 20558  	t["DasAgentFoundEvent"] = reflect.TypeOf((*DasAgentFoundEvent)(nil)).Elem()
 20559  }
 20560  
 20561  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 20562  //
 20563  // This event records that VirtualCenter cannot contact any primary host
 20564  // in this HA cluster.
 20565  //
 20566  // HA designates some hosts as primary hosts in the HA
 20567  // cluster. When adding a new host to an existing cluster, HA needs to
 20568  // contact one of the primary hosts to finish the configuration. VirtualCenter
 20569  // has lost contact with all primary nodes in the connected state. Attempts
 20570  // to configure HA on a host in this cluster will fail until a
 20571  // DasAgentFoundEvent is logged or unless this is the first node to be
 20572  // configured. For example, if all the other hosts are disconnected first.
 20573  type DasAgentUnavailableEvent struct {
 20574  	ClusterEvent
 20575  }
 20576  
 20577  func init() {
 20578  	t["DasAgentUnavailableEvent"] = reflect.TypeOf((*DasAgentUnavailableEvent)(nil)).Elem()
 20579  }
 20580  
 20581  // This event records that all hosts have been isolated from the network in a
 20582  // HA cluster.
 20583  type DasClusterIsolatedEvent struct {
 20584  	ClusterEvent
 20585  }
 20586  
 20587  func init() {
 20588  	t["DasClusterIsolatedEvent"] = reflect.TypeOf((*DasClusterIsolatedEvent)(nil)).Elem()
 20589  }
 20590  
 20591  // This fault indicates that some error has occurred during the
 20592  // configuration of the host for HA.
 20593  //
 20594  // This may be subclassed by a more specific fault.
 20595  type DasConfigFault struct {
 20596  	VimFault
 20597  
 20598  	// The reason why the HA configuration failed, if known.
 20599  	//
 20600  	// Values should come from `DasConfigFaultDasConfigFaultReason_enum`.
 20601  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 20602  	// The output (stdout/stderr) from executing the configuration.
 20603  	Output string `xml:"output,omitempty" json:"output,omitempty"`
 20604  	// The list of events containing details why the configuration failed, if known.
 20605  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
 20606  }
 20607  
 20608  func init() {
 20609  	t["DasConfigFault"] = reflect.TypeOf((*DasConfigFault)(nil)).Elem()
 20610  }
 20611  
 20612  type DasConfigFaultFault DasConfigFault
 20613  
 20614  func init() {
 20615  	t["DasConfigFaultFault"] = reflect.TypeOf((*DasConfigFaultFault)(nil)).Elem()
 20616  }
 20617  
 20618  // This event records when a cluster has been disabled for HA.
 20619  type DasDisabledEvent struct {
 20620  	ClusterEvent
 20621  }
 20622  
 20623  func init() {
 20624  	t["DasDisabledEvent"] = reflect.TypeOf((*DasDisabledEvent)(nil)).Elem()
 20625  }
 20626  
 20627  // This event records when a cluster has been enabled for HA.
 20628  type DasEnabledEvent struct {
 20629  	ClusterEvent
 20630  }
 20631  
 20632  func init() {
 20633  	t["DasEnabledEvent"] = reflect.TypeOf((*DasEnabledEvent)(nil)).Elem()
 20634  }
 20635  
 20636  // Class for the selection of heartbeat datastores
 20637  type DasHeartbeatDatastoreInfo struct {
 20638  	DynamicData
 20639  
 20640  	// Refers instance of `Datastore`.
 20641  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 20642  	// Refers instances of `HostSystem`.
 20643  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 20644  }
 20645  
 20646  func init() {
 20647  	t["DasHeartbeatDatastoreInfo"] = reflect.TypeOf((*DasHeartbeatDatastoreInfo)(nil)).Elem()
 20648  }
 20649  
 20650  // This event records when a host failure has been detected by HA.
 20651  type DasHostFailedEvent struct {
 20652  	ClusterEvent
 20653  
 20654  	// The host that failed.
 20655  	FailedHost HostEventArgument `xml:"failedHost" json:"failedHost"`
 20656  }
 20657  
 20658  func init() {
 20659  	t["DasHostFailedEvent"] = reflect.TypeOf((*DasHostFailedEvent)(nil)).Elem()
 20660  }
 20661  
 20662  // This event records that a host has been isolated from the network in a
 20663  // HA cluster.
 20664  //
 20665  // Since an isolated host cannot be distinguished from a failed
 20666  // host except by the isolated host itself, this event is logged when the
 20667  // isolated host regains network connectivity.
 20668  type DasHostIsolatedEvent struct {
 20669  	ClusterEvent
 20670  
 20671  	// The host that was isolated.
 20672  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 20673  }
 20674  
 20675  func init() {
 20676  	t["DasHostIsolatedEvent"] = reflect.TypeOf((*DasHostIsolatedEvent)(nil)).Elem()
 20677  }
 20678  
 20679  // A DatabaseError exception is thrown if an
 20680  // operation failed when accessing the external
 20681  // database.
 20682  //
 20683  // This typically is because
 20684  // the database is (temporarily) unavailable or
 20685  // because of network problems.
 20686  type DatabaseError struct {
 20687  	RuntimeFault
 20688  }
 20689  
 20690  func init() {
 20691  	t["DatabaseError"] = reflect.TypeOf((*DatabaseError)(nil)).Elem()
 20692  }
 20693  
 20694  type DatabaseErrorFault DatabaseError
 20695  
 20696  func init() {
 20697  	t["DatabaseErrorFault"] = reflect.TypeOf((*DatabaseErrorFault)(nil)).Elem()
 20698  }
 20699  
 20700  // DatabaseSizeEstimate contains information about the size
 20701  // required to by the database.
 20702  type DatabaseSizeEstimate struct {
 20703  	DynamicData
 20704  
 20705  	// The estimated size required in MB
 20706  	Size int64 `xml:"size" json:"size"`
 20707  }
 20708  
 20709  func init() {
 20710  	t["DatabaseSizeEstimate"] = reflect.TypeOf((*DatabaseSizeEstimate)(nil)).Elem()
 20711  }
 20712  
 20713  // DatabaseSizeParam contains information about a sample inventory.
 20714  //
 20715  // Using this
 20716  // information, database size requirements for that sample inventory can be computed.
 20717  // Depending on the accuracy of estimate desired, users can choose to specify
 20718  // the number of different types of managed entities. The numHosts and
 20719  // numVirtualMachines are the only two required fields. Rest are all optional
 20720  // fields filled up by Virtual Center based on some heuristics.
 20721  // These parameters need not represent a real inventory. The user can use these
 20722  // parameters to estimate the database size required by a hypothetical
 20723  // VirtualCenter setup.
 20724  type DatabaseSizeParam struct {
 20725  	DynamicData
 20726  
 20727  	// Object to capture inventory description
 20728  	InventoryDesc InventoryDescription `xml:"inventoryDesc" json:"inventoryDesc"`
 20729  	// Object to capture performance statistics
 20730  	// related parameters
 20731  	PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty" json:"perfStatsDesc,omitempty"`
 20732  }
 20733  
 20734  func init() {
 20735  	t["DatabaseSizeParam"] = reflect.TypeOf((*DatabaseSizeParam)(nil)).Elem()
 20736  }
 20737  
 20738  // BasicConnectInfo consists of essential information about the host.
 20739  //
 20740  // This
 20741  // is a subset of `HostConnectInfo` and contains the information
 20742  // which is relevant when it comes to dealing with a set of hosts.
 20743  type DatacenterBasicConnectInfo struct {
 20744  	DynamicData
 20745  
 20746  	// Target host.
 20747  	Hostname string `xml:"hostname,omitempty" json:"hostname,omitempty"`
 20748  	// Error encountered while querying the host.
 20749  	//
 20750  	// See
 20751  	// `Datacenter.QueryConnectionInfo` for the list of exceptions which can
 20752  	// be represented here.
 20753  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 20754  	// IP address of the VirtualCenter already managing this host, if any.
 20755  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 20756  	// Specifies the number of VMs on the host.
 20757  	NumVm int32 `xml:"numVm,omitempty" json:"numVm,omitempty"`
 20758  	// Specifies the number of powered-on VMs on the host.
 20759  	NumPoweredOnVm int32 `xml:"numPoweredOnVm,omitempty" json:"numPoweredOnVm,omitempty"`
 20760  	// Information about the software running on the host.
 20761  	HostProductInfo *AboutInfo `xml:"hostProductInfo,omitempty" json:"hostProductInfo,omitempty"`
 20762  	// Hardware vendor identification.
 20763  	HardwareVendor string `xml:"hardwareVendor,omitempty" json:"hardwareVendor,omitempty"`
 20764  	// System model identification.
 20765  	HardwareModel string `xml:"hardwareModel,omitempty" json:"hardwareModel,omitempty"`
 20766  }
 20767  
 20768  func init() {
 20769  	t["DatacenterBasicConnectInfo"] = reflect.TypeOf((*DatacenterBasicConnectInfo)(nil)).Elem()
 20770  }
 20771  
 20772  // Configuration of the datacenter.
 20773  type DatacenterConfigInfo struct {
 20774  	DynamicData
 20775  
 20776  	// Key for Default Hardware Version used on this datacenter
 20777  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20778  	//
 20779  	// This field affects
 20780  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20781  	// by `ComputeResource.environmentBrowser` of all its children
 20782  	// with this field unset.
 20783  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 20784  	// Key for Maximum Hardware Version used on this datacenter
 20785  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20786  	//
 20787  	// This field affects
 20788  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20789  	// by `ComputeResource.environmentBrowser` of all its children
 20790  	// with this field unset.
 20791  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 20792  }
 20793  
 20794  func init() {
 20795  	t["DatacenterConfigInfo"] = reflect.TypeOf((*DatacenterConfigInfo)(nil)).Elem()
 20796  }
 20797  
 20798  // Changes to apply to the datacenter configuration.
 20799  type DatacenterConfigSpec struct {
 20800  	DynamicData
 20801  
 20802  	// Key for Default Hardware Version to be used on this datacenter
 20803  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20804  	//
 20805  	// Setting this field affects
 20806  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20807  	// by `ComputeResource.environmentBrowser` of all its children
 20808  	// with this field unset.
 20809  	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
 20810  	// Key for Maximum Hardware Version to be used on this datacenter
 20811  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 20812  	//
 20813  	// Setting this field affects
 20814  	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
 20815  	// by `ComputeResource.environmentBrowser` of all its children
 20816  	// with this field unset.
 20817  	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
 20818  }
 20819  
 20820  func init() {
 20821  	t["DatacenterConfigSpec"] = reflect.TypeOf((*DatacenterConfigSpec)(nil)).Elem()
 20822  }
 20823  
 20824  type DatacenterCreatedEvent struct {
 20825  	DatacenterEvent
 20826  
 20827  	// The folder where the datacenter is created.
 20828  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 20829  }
 20830  
 20831  func init() {
 20832  	t["DatacenterCreatedEvent"] = reflect.TypeOf((*DatacenterCreatedEvent)(nil)).Elem()
 20833  }
 20834  
 20835  // These are datacenter events.
 20836  type DatacenterEvent struct {
 20837  	Event
 20838  }
 20839  
 20840  func init() {
 20841  	t["DatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem()
 20842  }
 20843  
 20844  // The event argument is a Datacenter object.
 20845  type DatacenterEventArgument struct {
 20846  	EntityEventArgument
 20847  
 20848  	// The Datacenter object.
 20849  	//
 20850  	// Refers instance of `Datacenter`.
 20851  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 20852  }
 20853  
 20854  func init() {
 20855  	t["DatacenterEventArgument"] = reflect.TypeOf((*DatacenterEventArgument)(nil)).Elem()
 20856  }
 20857  
 20858  // The input arguments had entities that did not belong to the same
 20859  // datacenter.
 20860  type DatacenterMismatch struct {
 20861  	MigrationFault
 20862  
 20863  	// The list of invalid arguments.
 20864  	InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument" json:"invalidArgument"`
 20865  	// The expected datacenter for the arguments.
 20866  	//
 20867  	// Refers instance of `Datacenter`.
 20868  	ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter" json:"expectedDatacenter"`
 20869  }
 20870  
 20871  func init() {
 20872  	t["DatacenterMismatch"] = reflect.TypeOf((*DatacenterMismatch)(nil)).Elem()
 20873  }
 20874  
 20875  // An input entity argument that belongs to a mismatched datacenter.
 20876  type DatacenterMismatchArgument struct {
 20877  	DynamicData
 20878  
 20879  	// The invalid input entity.
 20880  	//
 20881  	// Refers instance of `ManagedEntity`.
 20882  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 20883  	// The datacenter for this entity.
 20884  	//
 20885  	// Refers instance of `Datacenter`.
 20886  	InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty" json:"inputDatacenter,omitempty"`
 20887  }
 20888  
 20889  func init() {
 20890  	t["DatacenterMismatchArgument"] = reflect.TypeOf((*DatacenterMismatchArgument)(nil)).Elem()
 20891  }
 20892  
 20893  type DatacenterMismatchFault DatacenterMismatch
 20894  
 20895  func init() {
 20896  	t["DatacenterMismatchFault"] = reflect.TypeOf((*DatacenterMismatchFault)(nil)).Elem()
 20897  }
 20898  
 20899  type DatacenterRenamedEvent struct {
 20900  	DatacenterEvent
 20901  
 20902  	// The old datacenter name.
 20903  	OldName string `xml:"oldName" json:"oldName"`
 20904  	// The new datacenter name.
 20905  	NewName string `xml:"newName" json:"newName"`
 20906  }
 20907  
 20908  func init() {
 20909  	t["DatacenterRenamedEvent"] = reflect.TypeOf((*DatacenterRenamedEvent)(nil)).Elem()
 20910  }
 20911  
 20912  // Information about the capabilities of this datastore.
 20913  type DatastoreCapability struct {
 20914  	DynamicData
 20915  
 20916  	// Indicates whether or not directories can be created on this datastore.
 20917  	DirectoryHierarchySupported bool `xml:"directoryHierarchySupported" json:"directoryHierarchySupported"`
 20918  	// Indicates whether or not raw disk mappings can be created on this datastore.
 20919  	RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported" json:"rawDiskMappingsSupported"`
 20920  	// Indicates whether or not the datastore supports thin provisioning on a per file
 20921  	// basis.
 20922  	//
 20923  	// When thin provisioning is used, backing storage is lazily allocated.
 20924  	//
 20925  	// This is supported by VMFS3. VMFS2 always allocates storage eagerly. Thus, this
 20926  	// value is false for VMFS2. Most NAS systems always use thin provisioning.
 20927  	// They do not support configuring this on a per file basis, so for NAS systems
 20928  	// this value is also false.
 20929  	PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported" json:"perFileThinProvisioningSupported"`
 20930  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 20931  	//
 20932  	// Indicates whether the datastore supports Storage I/O Resource Management.
 20933  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty"`
 20934  	// Indicates whether the datastore supports native snapshot feature which is
 20935  	// based on Copy-On-Write.
 20936  	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty"`
 20937  	// Indicates whether the datastore supports traditional top-level
 20938  	// directory creation.
 20939  	//
 20940  	// See also `DatastoreNamespaceManager`.
 20941  	TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported" json:"topLevelDirectoryCreateSupported,omitempty"`
 20942  	// Indicates whether the datastore supports the Flex-SE(SeSparse) feature.
 20943  	SeSparseSupported *bool `xml:"seSparseSupported" json:"seSparseSupported,omitempty"`
 20944  	// Indicates whether the datastore supports the vmfsSparse feature.
 20945  	//
 20946  	// True for VMFS3/VMFS5/NFS/NFS41, False for VMFS6.
 20947  	// If value is undefined, then it should be read as supported.
 20948  	VmfsSparseSupported *bool `xml:"vmfsSparseSupported" json:"vmfsSparseSupported,omitempty"`
 20949  	// Indicates whether the datastore supports the vsanSparse feature.
 20950  	VsanSparseSupported *bool `xml:"vsanSparseSupported" json:"vsanSparseSupported,omitempty"`
 20951  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 20952  	//
 20953  	// Indicates whether the datastore supports the upit feature.
 20954  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty"`
 20955  	// On certain datastores (e.g.
 20956  	//
 20957  	// 2016 PMEM datastore) VMDK expand is not supported.
 20958  	// This field tells user if VMDK on this datastore can be expanded or not.
 20959  	// If value is undefined, then it should be read as supported.
 20960  	VmdkExpandSupported *bool `xml:"vmdkExpandSupported" json:"vmdkExpandSupported,omitempty"`
 20961  	// Indicates whether the datastore supports clustered VMDK feature.
 20962  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty"`
 20963  }
 20964  
 20965  func init() {
 20966  	t["DatastoreCapability"] = reflect.TypeOf((*DatastoreCapability)(nil)).Elem()
 20967  }
 20968  
 20969  // This event records when increase in a datastore's capacity is observed.
 20970  //
 20971  // It may happen due to different reasons, like extending or expanding a
 20972  // datastore.
 20973  type DatastoreCapacityIncreasedEvent struct {
 20974  	DatastoreEvent
 20975  
 20976  	// The old datastore capacity.
 20977  	OldCapacity int64 `xml:"oldCapacity" json:"oldCapacity"`
 20978  	// The new datastore capacity.
 20979  	NewCapacity int64 `xml:"newCapacity" json:"newCapacity"`
 20980  }
 20981  
 20982  func init() {
 20983  	t["DatastoreCapacityIncreasedEvent"] = reflect.TypeOf((*DatastoreCapacityIncreasedEvent)(nil)).Elem()
 20984  }
 20985  
 20986  // This event records when a datastore is removed from VirtualCenter.
 20987  type DatastoreDestroyedEvent struct {
 20988  	DatastoreEvent
 20989  }
 20990  
 20991  func init() {
 20992  	t["DatastoreDestroyedEvent"] = reflect.TypeOf((*DatastoreDestroyedEvent)(nil)).Elem()
 20993  }
 20994  
 20995  // This event records when a host is added to VirtualCenter
 20996  // and datastores are discovered.
 20997  type DatastoreDiscoveredEvent struct {
 20998  	HostEvent
 20999  
 21000  	// The associated datastore.
 21001  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 21002  }
 21003  
 21004  func init() {
 21005  	t["DatastoreDiscoveredEvent"] = reflect.TypeOf((*DatastoreDiscoveredEvent)(nil)).Elem()
 21006  }
 21007  
 21008  // This event records when a duplicate datastore name is found.
 21009  //
 21010  // This event is used in VirtualCenter 1.x and is included for
 21011  // backward compatibility.
 21012  type DatastoreDuplicatedEvent struct {
 21013  	DatastoreEvent
 21014  }
 21015  
 21016  func init() {
 21017  	t["DatastoreDuplicatedEvent"] = reflect.TypeOf((*DatastoreDuplicatedEvent)(nil)).Elem()
 21018  }
 21019  
 21020  type DatastoreEnterMaintenanceMode DatastoreEnterMaintenanceModeRequestType
 21021  
 21022  func init() {
 21023  	t["DatastoreEnterMaintenanceMode"] = reflect.TypeOf((*DatastoreEnterMaintenanceMode)(nil)).Elem()
 21024  }
 21025  
 21026  type DatastoreEnterMaintenanceModeRequestType struct {
 21027  	This ManagedObjectReference `xml:"_this" json:"-"`
 21028  }
 21029  
 21030  func init() {
 21031  	t["DatastoreEnterMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreEnterMaintenanceModeRequestType)(nil)).Elem()
 21032  }
 21033  
 21034  type DatastoreEnterMaintenanceModeResponse struct {
 21035  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 21036  }
 21037  
 21038  // These are datastore events.
 21039  type DatastoreEvent struct {
 21040  	Event
 21041  
 21042  	// The associated datastore.
 21043  	Datastore *DatastoreEventArgument `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21044  }
 21045  
 21046  func init() {
 21047  	t["DatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem()
 21048  }
 21049  
 21050  // The event argument is a Datastore object.
 21051  type DatastoreEventArgument struct {
 21052  	EntityEventArgument
 21053  
 21054  	// The Datastore object.
 21055  	//
 21056  	// Refers instance of `Datastore`.
 21057  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21058  }
 21059  
 21060  func init() {
 21061  	t["DatastoreEventArgument"] = reflect.TypeOf((*DatastoreEventArgument)(nil)).Elem()
 21062  }
 21063  
 21064  type DatastoreExitMaintenanceModeRequestType struct {
 21065  	This ManagedObjectReference `xml:"_this" json:"-"`
 21066  }
 21067  
 21068  func init() {
 21069  	t["DatastoreExitMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreExitMaintenanceModeRequestType)(nil)).Elem()
 21070  }
 21071  
 21072  type DatastoreExitMaintenanceMode_Task DatastoreExitMaintenanceModeRequestType
 21073  
 21074  func init() {
 21075  	t["DatastoreExitMaintenanceMode_Task"] = reflect.TypeOf((*DatastoreExitMaintenanceMode_Task)(nil)).Elem()
 21076  }
 21077  
 21078  type DatastoreExitMaintenanceMode_TaskResponse struct {
 21079  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21080  }
 21081  
 21082  // This event records copy of a file or directory.
 21083  type DatastoreFileCopiedEvent struct {
 21084  	DatastoreFileEvent
 21085  
 21086  	// Source datastore.
 21087  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 21088  	// Datastore path of the source file or directory.
 21089  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 21090  }
 21091  
 21092  func init() {
 21093  	t["DatastoreFileCopiedEvent"] = reflect.TypeOf((*DatastoreFileCopiedEvent)(nil)).Elem()
 21094  }
 21095  
 21096  // This event records deletion of a file or directory.
 21097  type DatastoreFileDeletedEvent struct {
 21098  	DatastoreFileEvent
 21099  }
 21100  
 21101  func init() {
 21102  	t["DatastoreFileDeletedEvent"] = reflect.TypeOf((*DatastoreFileDeletedEvent)(nil)).Elem()
 21103  }
 21104  
 21105  // Base class for events related to datastore file and directory
 21106  // operations.
 21107  //
 21108  // Property _datastore_ inherited from DatastoreEvent refers
 21109  // to the destination datastore in case there is more than datastore
 21110  // involved in the operation.
 21111  type DatastoreFileEvent struct {
 21112  	DatastoreEvent
 21113  
 21114  	// Datastore path of the target file or directory.
 21115  	TargetFile string `xml:"targetFile" json:"targetFile"`
 21116  	// Identifier of the initiator of the file operation.
 21117  	SourceOfOperation string `xml:"sourceOfOperation,omitempty" json:"sourceOfOperation,omitempty"`
 21118  	// Indicator whether the datastore file operation succeeded.
 21119  	Succeeded *bool `xml:"succeeded" json:"succeeded,omitempty"`
 21120  }
 21121  
 21122  func init() {
 21123  	t["DatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem()
 21124  }
 21125  
 21126  // This event records move of a file or directory.
 21127  type DatastoreFileMovedEvent struct {
 21128  	DatastoreFileEvent
 21129  
 21130  	// Source datastore.
 21131  	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
 21132  	// Datastore path of the source file or directory.
 21133  	SourceFile string `xml:"sourceFile" json:"sourceFile"`
 21134  }
 21135  
 21136  func init() {
 21137  	t["DatastoreFileMovedEvent"] = reflect.TypeOf((*DatastoreFileMovedEvent)(nil)).Elem()
 21138  }
 21139  
 21140  // Host-specific datastore information.
 21141  type DatastoreHostMount struct {
 21142  	DynamicData
 21143  
 21144  	// The host associated with this datastore.
 21145  	//
 21146  	// Refers instance of `HostSystem`.
 21147  	Key ManagedObjectReference `xml:"key" json:"key"`
 21148  	// Host-specific information about the mount.
 21149  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 21150  }
 21151  
 21152  func init() {
 21153  	t["DatastoreHostMount"] = reflect.TypeOf((*DatastoreHostMount)(nil)).Elem()
 21154  }
 21155  
 21156  // This event records that the configuration of storage I/O
 21157  // resource management for a datastore has changed.
 21158  type DatastoreIORMReconfiguredEvent struct {
 21159  	DatastoreEvent
 21160  }
 21161  
 21162  func init() {
 21163  	t["DatastoreIORMReconfiguredEvent"] = reflect.TypeOf((*DatastoreIORMReconfiguredEvent)(nil)).Elem()
 21164  }
 21165  
 21166  // Detailed information about a datastore.
 21167  //
 21168  // This is a base type for derived types
 21169  // that have more specific details about a datastore.
 21170  //
 21171  // See also `HostVmfsVolume`, `HostNasVolume`, `HostLocalFileSystemVolume`.
 21172  type DatastoreInfo struct {
 21173  	DynamicData
 21174  
 21175  	// The name of the datastore.
 21176  	Name string `xml:"name" json:"name"`
 21177  	// The unique locator for the datastore.
 21178  	Url string `xml:"url" json:"url"`
 21179  	// Free space of this datastore, in bytes.
 21180  	//
 21181  	// The server periodically updates this
 21182  	// value. It can be explicitly refreshed with the Refresh operation.
 21183  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21184  	// The maximum size of a file that can reside on this file system volume.
 21185  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 21186  	// The maximum capacity of a virtual disk which can be created on this volume.
 21187  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty"`
 21188  	// The maximum size of a snapshot or a swap file that can reside on this file system volume.
 21189  	MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty" json:"maxMemoryFileSize,omitempty"`
 21190  	// Time when the free-space and capacity values in `DatastoreInfo` and
 21191  	// `DatastoreSummary` were updated.
 21192  	Timestamp *time.Time `xml:"timestamp" json:"timestamp,omitempty"`
 21193  	// The unique container ID of the datastore, if applicable.
 21194  	ContainerId string `xml:"containerId,omitempty" json:"containerId,omitempty"`
 21195  	// vSAN datastore container that this datastore is alias of.
 21196  	//
 21197  	// If this
 21198  	// field is unset then this datastore is not alias of any other vSAN
 21199  	// datastore.
 21200  	// See `DatastoreInfo.containerId`.
 21201  	AliasOf string `xml:"aliasOf,omitempty" json:"aliasOf,omitempty"`
 21202  }
 21203  
 21204  func init() {
 21205  	t["DatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem()
 21206  }
 21207  
 21208  // Contains a mapping of an old mount path and its corresponding
 21209  // resignatured or remounted datastore
 21210  type DatastoreMountPathDatastorePair struct {
 21211  	DynamicData
 21212  
 21213  	// Old file path where file system volume is mounted, which
 21214  	// should be `path` value in
 21215  	// `HostMountInfo`
 21216  	OldMountPath string `xml:"oldMountPath" json:"oldMountPath"`
 21217  	// The resignatured or remounted datastore corresponding to the oldMountPath
 21218  	//
 21219  	// Refers instance of `Datastore`.
 21220  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21221  }
 21222  
 21223  func init() {
 21224  	t["DatastoreMountPathDatastorePair"] = reflect.TypeOf((*DatastoreMountPathDatastorePair)(nil)).Elem()
 21225  }
 21226  
 21227  type DatastoreNamespaceManagerDirectoryInfo struct {
 21228  	DynamicData
 21229  
 21230  	// Size in MB of underlying object.
 21231  	Capacity int64 `xml:"capacity" json:"capacity"`
 21232  	// Used size in MB in the VMFS volume.
 21233  	Used int64 `xml:"used" json:"used"`
 21234  }
 21235  
 21236  func init() {
 21237  	t["DatastoreNamespaceManagerDirectoryInfo"] = reflect.TypeOf((*DatastoreNamespaceManagerDirectoryInfo)(nil)).Elem()
 21238  	minAPIVersionForType["DatastoreNamespaceManagerDirectoryInfo"] = "8.0.1.0"
 21239  }
 21240  
 21241  // This exception is thrown if a datastore is not
 21242  // writable on the target host.
 21243  type DatastoreNotWritableOnHost struct {
 21244  	InvalidDatastore
 21245  
 21246  	// The target host on which the datastore is not writable.
 21247  	//
 21248  	// Refers instance of `HostSystem`.
 21249  	Host ManagedObjectReference `xml:"host" json:"host"`
 21250  }
 21251  
 21252  func init() {
 21253  	t["DatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem()
 21254  }
 21255  
 21256  type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost
 21257  
 21258  func init() {
 21259  	t["DatastoreNotWritableOnHostFault"] = reflect.TypeOf((*DatastoreNotWritableOnHostFault)(nil)).Elem()
 21260  }
 21261  
 21262  // The DatastoreOption data object describes datastore options
 21263  // for a virtual machine.
 21264  type DatastoreOption struct {
 21265  	DynamicData
 21266  
 21267  	// The type of file system volumes on which this virtual machine cannot have
 21268  	// its disk and configuration files.
 21269  	UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty" json:"unsupportedVolumes,omitempty"`
 21270  }
 21271  
 21272  func init() {
 21273  	t["DatastoreOption"] = reflect.TypeOf((*DatastoreOption)(nil)).Elem()
 21274  }
 21275  
 21276  // This event records that a datastore principal was configured on a host.
 21277  type DatastorePrincipalConfigured struct {
 21278  	HostEvent
 21279  
 21280  	DatastorePrincipal string `xml:"datastorePrincipal" json:"datastorePrincipal"`
 21281  }
 21282  
 21283  func init() {
 21284  	t["DatastorePrincipalConfigured"] = reflect.TypeOf((*DatastorePrincipalConfigured)(nil)).Elem()
 21285  }
 21286  
 21287  // This event records when a datastore is removed from a host
 21288  // but not from VirtualCenter.
 21289  type DatastoreRemovedOnHostEvent struct {
 21290  	HostEvent
 21291  
 21292  	// The associated datastore.
 21293  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 21294  }
 21295  
 21296  func init() {
 21297  	t["DatastoreRemovedOnHostEvent"] = reflect.TypeOf((*DatastoreRemovedOnHostEvent)(nil)).Elem()
 21298  }
 21299  
 21300  // This event records the renaming of a datastore.
 21301  type DatastoreRenamedEvent struct {
 21302  	DatastoreEvent
 21303  
 21304  	// The old datastore name.
 21305  	OldName string `xml:"oldName" json:"oldName"`
 21306  	// The new datastore name.
 21307  	NewName string `xml:"newName" json:"newName"`
 21308  }
 21309  
 21310  func init() {
 21311  	t["DatastoreRenamedEvent"] = reflect.TypeOf((*DatastoreRenamedEvent)(nil)).Elem()
 21312  }
 21313  
 21314  // This event records when a datastore is added to VirtualCenter
 21315  // and is renamed by VirtualCenter because this datastore already
 21316  // exists in VirtualCenter with a different name, or because the
 21317  // name conflicts with another datastore in VirtualCenter.
 21318  type DatastoreRenamedOnHostEvent struct {
 21319  	HostEvent
 21320  
 21321  	// The old datastore name.
 21322  	OldName string `xml:"oldName" json:"oldName"`
 21323  	// The new datastore name.
 21324  	NewName string `xml:"newName" json:"newName"`
 21325  }
 21326  
 21327  func init() {
 21328  	t["DatastoreRenamedOnHostEvent"] = reflect.TypeOf((*DatastoreRenamedOnHostEvent)(nil)).Elem()
 21329  }
 21330  
 21331  // Summary information about the datastore.
 21332  //
 21333  // The status fields and managed object
 21334  // reference is not set when an object of this type is created. These fields and
 21335  // references are typically set later when these objects are associated with a host.
 21336  type DatastoreSummary struct {
 21337  	DynamicData
 21338  
 21339  	// The reference to the managed object.
 21340  	//
 21341  	// Refers instance of `Datastore`.
 21342  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 21343  	// The name of the datastore.
 21344  	Name string `xml:"name" json:"name"`
 21345  	// The unique locator for the datastore.
 21346  	//
 21347  	// This property is guaranteed to be valid
 21348  	// only if `DatastoreSummary.accessible` is true.
 21349  	Url string `xml:"url" json:"url"`
 21350  	// Maximum capacity of this datastore, in bytes.
 21351  	//
 21352  	// This value is updated
 21353  	// periodically by the server. It can be explicitly refreshed with the Refresh
 21354  	// operation. This property is guaranteed to be valid only if `DatastoreSummary.accessible`
 21355  	// is true.
 21356  	Capacity int64 `xml:"capacity" json:"capacity"`
 21357  	// Available space of this datastore, in bytes.
 21358  	//
 21359  	// The server periodically
 21360  	// updates this value. It can be explicitly refreshed with the Refresh operation.
 21361  	// This property is guaranteed to be valid only if `DatastoreSummary.accessible` is true.
 21362  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 21363  	// Total additional storage space, in bytes, potentially used by all
 21364  	// virtual machines on this datastore.
 21365  	//
 21366  	// The server periodically updates this
 21367  	// value.
 21368  	// It can be explicitly refreshed with the `Datastore.RefreshDatastoreStorageInfo` operation.
 21369  	// This property is valid only if `DatastoreSummary.accessible` is true.
 21370  	Uncommitted int64 `xml:"uncommitted,omitempty" json:"uncommitted,omitempty"`
 21371  	// The connectivity status of this datastore.
 21372  	//
 21373  	// If this is set to false, meaning the
 21374  	// datastore is not accessible, this datastore's capacity and freespace properties
 21375  	// cannot be validated. Furthermore, if this property is set to false, some of the
 21376  	// properties in this summary and in `DatastoreInfo` should not be
 21377  	// used. Refer to the documentation for the property of your interest.
 21378  	// For datastores accessed from multiple hosts, vCenter Server reports
 21379  	// `DatastoreSummary.accessible` as an aggregated value of the
 21380  	// properties reported in `HostMountInfo`. For instance,
 21381  	// if a datastore is accessible through a subset of hosts, then the value of
 21382  	// `DatastoreSummary.accessible` will be reported as true by
 21383  	// vCenter Server. And the reason for a daastore being inaccessible from a host
 21384  	// will be reported in `HostMountInfo.inaccessibleReason`
 21385  	Accessible bool `xml:"accessible" json:"accessible"`
 21386  	// More than one host in the datacenter has been configured with access to the
 21387  	// datastore.
 21388  	//
 21389  	// This is only provided by VirtualCenter.
 21390  	MultipleHostAccess *bool `xml:"multipleHostAccess" json:"multipleHostAccess,omitempty"`
 21391  	// Type of file system volume, such as VMFS or NFS.
 21392  	//
 21393  	// See also `HostFileSystemVolume.type`.
 21394  	Type string `xml:"type" json:"type"`
 21395  	// The current maintenance mode state of the datastore.
 21396  	//
 21397  	// The set of
 21398  	// possible values is described in `DatastoreSummaryMaintenanceModeState_enum`.
 21399  	MaintenanceMode string `xml:"maintenanceMode,omitempty" json:"maintenanceMode,omitempty"`
 21400  }
 21401  
 21402  func init() {
 21403  	t["DatastoreSummary"] = reflect.TypeOf((*DatastoreSummary)(nil)).Elem()
 21404  }
 21405  
 21406  // A pair of source and target VVol containers and mapping of VVol
 21407  // IDs from source to target.
 21408  type DatastoreVVolContainerFailoverPair struct {
 21409  	DynamicData
 21410  
 21411  	// Storage container on the source side.
 21412  	SrcContainer string `xml:"srcContainer,omitempty" json:"srcContainer,omitempty"`
 21413  	// Storage container on the target side.
 21414  	TgtContainer string `xml:"tgtContainer" json:"tgtContainer"`
 21415  	// Mapping of VVol IDs from source to target corresponding to the
 21416  	// given set of containers.
 21417  	VvolMapping []KeyValue `xml:"vvolMapping,omitempty" json:"vvolMapping,omitempty"`
 21418  }
 21419  
 21420  func init() {
 21421  	t["DatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*DatastoreVVolContainerFailoverPair)(nil)).Elem()
 21422  }
 21423  
 21424  // The `DateTimeProfile` data object represents host date and time configuration.
 21425  //
 21426  // Use the `ApplyProfile.policy` list for access to configuration data
 21427  // for the date and time profile. Use the `ApplyProfile.property` list
 21428  // for access to subprofiles, if any.
 21429  type DateTimeProfile struct {
 21430  	ApplyProfile
 21431  }
 21432  
 21433  func init() {
 21434  	t["DateTimeProfile"] = reflect.TypeOf((*DateTimeProfile)(nil)).Elem()
 21435  }
 21436  
 21437  type DecodeLicense DecodeLicenseRequestType
 21438  
 21439  func init() {
 21440  	t["DecodeLicense"] = reflect.TypeOf((*DecodeLicense)(nil)).Elem()
 21441  }
 21442  
 21443  // The parameters of `LicenseManager.DecodeLicense`.
 21444  type DecodeLicenseRequestType struct {
 21445  	This ManagedObjectReference `xml:"_this" json:"-"`
 21446  	// A license. E.g. a serial license.
 21447  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 21448  }
 21449  
 21450  func init() {
 21451  	t["DecodeLicenseRequestType"] = reflect.TypeOf((*DecodeLicenseRequestType)(nil)).Elem()
 21452  }
 21453  
 21454  type DecodeLicenseResponse struct {
 21455  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 21456  }
 21457  
 21458  type DefragmentAllDisks DefragmentAllDisksRequestType
 21459  
 21460  func init() {
 21461  	t["DefragmentAllDisks"] = reflect.TypeOf((*DefragmentAllDisks)(nil)).Elem()
 21462  }
 21463  
 21464  type DefragmentAllDisksRequestType struct {
 21465  	This ManagedObjectReference `xml:"_this" json:"-"`
 21466  }
 21467  
 21468  func init() {
 21469  	t["DefragmentAllDisksRequestType"] = reflect.TypeOf((*DefragmentAllDisksRequestType)(nil)).Elem()
 21470  }
 21471  
 21472  type DefragmentAllDisksResponse struct {
 21473  }
 21474  
 21475  // The parameters of `VirtualDiskManager.DefragmentVirtualDisk_Task`.
 21476  type DefragmentVirtualDiskRequestType struct {
 21477  	This ManagedObjectReference `xml:"_this" json:"-"`
 21478  	// The name of the disk, either a datastore path or a URL
 21479  	// referring to the virtual disk that should be defragmented.
 21480  	Name string `xml:"name" json:"name"`
 21481  	// If <code>name</code> is a datastore path, the datacenter for
 21482  	// that datastore path. Not needed when invoked directly on ESX.
 21483  	// If not specified on a call to VirtualCenter,
 21484  	// <code>name</code> must be a URL.
 21485  	//
 21486  	// Refers instance of `Datacenter`.
 21487  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21488  }
 21489  
 21490  func init() {
 21491  	t["DefragmentVirtualDiskRequestType"] = reflect.TypeOf((*DefragmentVirtualDiskRequestType)(nil)).Elem()
 21492  }
 21493  
 21494  type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType
 21495  
 21496  func init() {
 21497  	t["DefragmentVirtualDisk_Task"] = reflect.TypeOf((*DefragmentVirtualDisk_Task)(nil)).Elem()
 21498  }
 21499  
 21500  type DefragmentVirtualDisk_TaskResponse struct {
 21501  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21502  }
 21503  
 21504  type DeleteCustomizationSpec DeleteCustomizationSpecRequestType
 21505  
 21506  func init() {
 21507  	t["DeleteCustomizationSpec"] = reflect.TypeOf((*DeleteCustomizationSpec)(nil)).Elem()
 21508  }
 21509  
 21510  // The parameters of `CustomizationSpecManager.DeleteCustomizationSpec`.
 21511  type DeleteCustomizationSpecRequestType struct {
 21512  	This ManagedObjectReference `xml:"_this" json:"-"`
 21513  	Name string                 `xml:"name" json:"name"`
 21514  }
 21515  
 21516  func init() {
 21517  	t["DeleteCustomizationSpecRequestType"] = reflect.TypeOf((*DeleteCustomizationSpecRequestType)(nil)).Elem()
 21518  }
 21519  
 21520  type DeleteCustomizationSpecResponse struct {
 21521  }
 21522  
 21523  // The parameters of `FileManager.DeleteDatastoreFile_Task`.
 21524  type DeleteDatastoreFileRequestType struct {
 21525  	This ManagedObjectReference `xml:"_this" json:"-"`
 21526  	// The name of the file or folder, either a URL or a datastore path
 21527  	// referring to the file or folder to be deleted.
 21528  	Name string `xml:"name" json:"name"`
 21529  	// If <code>name</code> is a datastore path, the datacenter for
 21530  	// that datastore path. Not needed when invoked directly on ESX.
 21531  	// If not specified on a call to VirtualCenter,
 21532  	// <code>name</code> must be a URL.
 21533  	//
 21534  	// Required privileges: System.View
 21535  	//
 21536  	// Refers instance of `Datacenter`.
 21537  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21538  }
 21539  
 21540  func init() {
 21541  	t["DeleteDatastoreFileRequestType"] = reflect.TypeOf((*DeleteDatastoreFileRequestType)(nil)).Elem()
 21542  }
 21543  
 21544  type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType
 21545  
 21546  func init() {
 21547  	t["DeleteDatastoreFile_Task"] = reflect.TypeOf((*DeleteDatastoreFile_Task)(nil)).Elem()
 21548  }
 21549  
 21550  type DeleteDatastoreFile_TaskResponse struct {
 21551  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21552  }
 21553  
 21554  type DeleteDirectory DeleteDirectoryRequestType
 21555  
 21556  func init() {
 21557  	t["DeleteDirectory"] = reflect.TypeOf((*DeleteDirectory)(nil)).Elem()
 21558  }
 21559  
 21560  type DeleteDirectoryInGuest DeleteDirectoryInGuestRequestType
 21561  
 21562  func init() {
 21563  	t["DeleteDirectoryInGuest"] = reflect.TypeOf((*DeleteDirectoryInGuest)(nil)).Elem()
 21564  }
 21565  
 21566  // The parameters of `GuestFileManager.DeleteDirectoryInGuest`.
 21567  type DeleteDirectoryInGuestRequestType struct {
 21568  	This ManagedObjectReference `xml:"_this" json:"-"`
 21569  	// Virtual Machine to perform the operation on.
 21570  	//
 21571  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21572  	//
 21573  	// Refers instance of `VirtualMachine`.
 21574  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21575  	// The guest authentication data. See
 21576  	// `GuestAuthentication`.
 21577  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21578  	// The complete path to the directory to be deleted.
 21579  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 21580  	// If true, all subdirectories are also deleted.
 21581  	// If false, the directory must be empty for the operation to succeed.
 21582  	Recursive bool `xml:"recursive" json:"recursive"`
 21583  }
 21584  
 21585  func init() {
 21586  	t["DeleteDirectoryInGuestRequestType"] = reflect.TypeOf((*DeleteDirectoryInGuestRequestType)(nil)).Elem()
 21587  }
 21588  
 21589  type DeleteDirectoryInGuestResponse struct {
 21590  }
 21591  
 21592  // The parameters of `DatastoreNamespaceManager.DeleteDirectory`.
 21593  type DeleteDirectoryRequestType struct {
 21594  	This ManagedObjectReference `xml:"_this" json:"-"`
 21595  	// The datacenter of the datastore path. Needs to be set
 21596  	// when making the call to VC; ignored when the call is
 21597  	// made to ESX.
 21598  	//
 21599  	// Required privileges: System.View
 21600  	//
 21601  	// Refers instance of `Datacenter`.
 21602  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21603  	// Stable vmfs path of the directory to delete.
 21604  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 21605  }
 21606  
 21607  func init() {
 21608  	t["DeleteDirectoryRequestType"] = reflect.TypeOf((*DeleteDirectoryRequestType)(nil)).Elem()
 21609  }
 21610  
 21611  type DeleteDirectoryResponse struct {
 21612  }
 21613  
 21614  type DeleteFile DeleteFileRequestType
 21615  
 21616  func init() {
 21617  	t["DeleteFile"] = reflect.TypeOf((*DeleteFile)(nil)).Elem()
 21618  }
 21619  
 21620  type DeleteFileInGuest DeleteFileInGuestRequestType
 21621  
 21622  func init() {
 21623  	t["DeleteFileInGuest"] = reflect.TypeOf((*DeleteFileInGuest)(nil)).Elem()
 21624  }
 21625  
 21626  // The parameters of `GuestFileManager.DeleteFileInGuest`.
 21627  type DeleteFileInGuestRequestType struct {
 21628  	This ManagedObjectReference `xml:"_this" json:"-"`
 21629  	// Virtual Machine to perform the operation on.
 21630  	//
 21631  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21632  	//
 21633  	// Refers instance of `VirtualMachine`.
 21634  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21635  	// The guest authentication data. See
 21636  	// `GuestAuthentication`.
 21637  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21638  	// The complete path to the file or symbolic link to be deleted.
 21639  	FilePath string `xml:"filePath" json:"filePath"`
 21640  }
 21641  
 21642  func init() {
 21643  	t["DeleteFileInGuestRequestType"] = reflect.TypeOf((*DeleteFileInGuestRequestType)(nil)).Elem()
 21644  }
 21645  
 21646  type DeleteFileInGuestResponse struct {
 21647  }
 21648  
 21649  // The parameters of `HostDatastoreBrowser.DeleteFile`.
 21650  type DeleteFileRequestType struct {
 21651  	This          ManagedObjectReference `xml:"_this" json:"-"`
 21652  	DatastorePath string                 `xml:"datastorePath" json:"datastorePath"`
 21653  }
 21654  
 21655  func init() {
 21656  	t["DeleteFileRequestType"] = reflect.TypeOf((*DeleteFileRequestType)(nil)).Elem()
 21657  }
 21658  
 21659  type DeleteFileResponse struct {
 21660  }
 21661  
 21662  type DeleteHostSpecification DeleteHostSpecificationRequestType
 21663  
 21664  func init() {
 21665  	t["DeleteHostSpecification"] = reflect.TypeOf((*DeleteHostSpecification)(nil)).Elem()
 21666  }
 21667  
 21668  // The parameters of `HostSpecificationManager.DeleteHostSpecification`.
 21669  type DeleteHostSpecificationRequestType struct {
 21670  	This ManagedObjectReference `xml:"_this" json:"-"`
 21671  	// The specified host for which the specification will be
 21672  	// deleted.
 21673  	//
 21674  	// Refers instance of `HostSystem`.
 21675  	Host ManagedObjectReference `xml:"host" json:"host"`
 21676  }
 21677  
 21678  func init() {
 21679  	t["DeleteHostSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSpecificationRequestType)(nil)).Elem()
 21680  }
 21681  
 21682  type DeleteHostSpecificationResponse struct {
 21683  }
 21684  
 21685  type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType
 21686  
 21687  func init() {
 21688  	t["DeleteHostSubSpecification"] = reflect.TypeOf((*DeleteHostSubSpecification)(nil)).Elem()
 21689  }
 21690  
 21691  // The parameters of `HostSpecificationManager.DeleteHostSubSpecification`.
 21692  type DeleteHostSubSpecificationRequestType struct {
 21693  	This ManagedObjectReference `xml:"_this" json:"-"`
 21694  	// The specified host for which the sub specification will be
 21695  	// deleted.
 21696  	//
 21697  	// Refers instance of `HostSystem`.
 21698  	Host ManagedObjectReference `xml:"host" json:"host"`
 21699  	// The name of the host sub specification to be deleted.
 21700  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 21701  }
 21702  
 21703  func init() {
 21704  	t["DeleteHostSubSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSubSpecificationRequestType)(nil)).Elem()
 21705  }
 21706  
 21707  type DeleteHostSubSpecificationResponse struct {
 21708  }
 21709  
 21710  type DeleteNvdimmBlockNamespacesRequestType struct {
 21711  	This ManagedObjectReference `xml:"_this" json:"-"`
 21712  }
 21713  
 21714  func init() {
 21715  	t["DeleteNvdimmBlockNamespacesRequestType"] = reflect.TypeOf((*DeleteNvdimmBlockNamespacesRequestType)(nil)).Elem()
 21716  }
 21717  
 21718  type DeleteNvdimmBlockNamespaces_Task DeleteNvdimmBlockNamespacesRequestType
 21719  
 21720  func init() {
 21721  	t["DeleteNvdimmBlockNamespaces_Task"] = reflect.TypeOf((*DeleteNvdimmBlockNamespaces_Task)(nil)).Elem()
 21722  }
 21723  
 21724  type DeleteNvdimmBlockNamespaces_TaskResponse struct {
 21725  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21726  }
 21727  
 21728  // The parameters of `HostNvdimmSystem.DeleteNvdimmNamespace_Task`.
 21729  type DeleteNvdimmNamespaceRequestType struct {
 21730  	This ManagedObjectReference `xml:"_this" json:"-"`
 21731  	// Details of namespace to be deleted.
 21732  	DeleteSpec NvdimmNamespaceDeleteSpec `xml:"deleteSpec" json:"deleteSpec"`
 21733  }
 21734  
 21735  func init() {
 21736  	t["DeleteNvdimmNamespaceRequestType"] = reflect.TypeOf((*DeleteNvdimmNamespaceRequestType)(nil)).Elem()
 21737  }
 21738  
 21739  type DeleteNvdimmNamespace_Task DeleteNvdimmNamespaceRequestType
 21740  
 21741  func init() {
 21742  	t["DeleteNvdimmNamespace_Task"] = reflect.TypeOf((*DeleteNvdimmNamespace_Task)(nil)).Elem()
 21743  }
 21744  
 21745  type DeleteNvdimmNamespace_TaskResponse struct {
 21746  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21747  }
 21748  
 21749  type DeleteRegistryKeyInGuest DeleteRegistryKeyInGuestRequestType
 21750  
 21751  func init() {
 21752  	t["DeleteRegistryKeyInGuest"] = reflect.TypeOf((*DeleteRegistryKeyInGuest)(nil)).Elem()
 21753  }
 21754  
 21755  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryKeyInGuest`.
 21756  type DeleteRegistryKeyInGuestRequestType struct {
 21757  	This ManagedObjectReference `xml:"_this" json:"-"`
 21758  	// Virtual machine to perform the operation on.
 21759  	//
 21760  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21761  	//
 21762  	// Refers instance of `VirtualMachine`.
 21763  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21764  	// The guest authentication data.
 21765  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21766  	// The path to the registry key to be deleted.
 21767  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 21768  	// If true, the key is deleted along with any subkeys (if
 21769  	// present). Otherwise, it shall only delete the key if it
 21770  	// has no subkeys.
 21771  	Recursive bool `xml:"recursive" json:"recursive"`
 21772  }
 21773  
 21774  func init() {
 21775  	t["DeleteRegistryKeyInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryKeyInGuestRequestType)(nil)).Elem()
 21776  }
 21777  
 21778  type DeleteRegistryKeyInGuestResponse struct {
 21779  }
 21780  
 21781  type DeleteRegistryValueInGuest DeleteRegistryValueInGuestRequestType
 21782  
 21783  func init() {
 21784  	t["DeleteRegistryValueInGuest"] = reflect.TypeOf((*DeleteRegistryValueInGuest)(nil)).Elem()
 21785  }
 21786  
 21787  // The parameters of `GuestWindowsRegistryManager.DeleteRegistryValueInGuest`.
 21788  type DeleteRegistryValueInGuestRequestType struct {
 21789  	This ManagedObjectReference `xml:"_this" json:"-"`
 21790  	// Virtual machine to perform the operation on.
 21791  	//
 21792  	// Required privileges: VirtualMachine.GuestOperations.Modify
 21793  	//
 21794  	// Refers instance of `VirtualMachine`.
 21795  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 21796  	// The guest authentication data.
 21797  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 21798  	// The registry value name to be deleted.
 21799  	// The Value "name" (specified in
 21800  	// `GuestRegValueNameSpec`)
 21801  	// can be empty. If "name" is empty, it deletes the value
 21802  	// for the unnamed or default value of the given key.
 21803  	ValueName GuestRegValueNameSpec `xml:"valueName" json:"valueName"`
 21804  }
 21805  
 21806  func init() {
 21807  	t["DeleteRegistryValueInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryValueInGuestRequestType)(nil)).Elem()
 21808  }
 21809  
 21810  type DeleteRegistryValueInGuestResponse struct {
 21811  }
 21812  
 21813  type DeleteScsiLunState DeleteScsiLunStateRequestType
 21814  
 21815  func init() {
 21816  	t["DeleteScsiLunState"] = reflect.TypeOf((*DeleteScsiLunState)(nil)).Elem()
 21817  }
 21818  
 21819  // The parameters of `HostStorageSystem.DeleteScsiLunState`.
 21820  type DeleteScsiLunStateRequestType struct {
 21821  	This ManagedObjectReference `xml:"_this" json:"-"`
 21822  	// The 'canonicalName' of the ScsiLun
 21823  	// whose state needs to be deleted.
 21824  	LunCanonicalName string `xml:"lunCanonicalName" json:"lunCanonicalName"`
 21825  }
 21826  
 21827  func init() {
 21828  	t["DeleteScsiLunStateRequestType"] = reflect.TypeOf((*DeleteScsiLunStateRequestType)(nil)).Elem()
 21829  }
 21830  
 21831  type DeleteScsiLunStateResponse struct {
 21832  }
 21833  
 21834  // The parameters of `VcenterVStorageObjectManager.DeleteSnapshot_Task`.
 21835  type DeleteSnapshotRequestType struct {
 21836  	This ManagedObjectReference `xml:"_this" json:"-"`
 21837  	// The ID of the virtual storage object.
 21838  	Id ID `xml:"id" json:"id"`
 21839  	// The datastore where the source virtual storage object
 21840  	// is located.
 21841  	//
 21842  	// Refers instance of `Datastore`.
 21843  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21844  	// The ID of the snapshot of a virtual storage object.
 21845  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 21846  }
 21847  
 21848  func init() {
 21849  	t["DeleteSnapshotRequestType"] = reflect.TypeOf((*DeleteSnapshotRequestType)(nil)).Elem()
 21850  }
 21851  
 21852  type DeleteSnapshot_Task DeleteSnapshotRequestType
 21853  
 21854  func init() {
 21855  	t["DeleteSnapshot_Task"] = reflect.TypeOf((*DeleteSnapshot_Task)(nil)).Elem()
 21856  }
 21857  
 21858  type DeleteSnapshot_TaskResponse struct {
 21859  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21860  }
 21861  
 21862  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObjectEx_Task`.
 21863  type DeleteVStorageObjectExRequestType struct {
 21864  	This ManagedObjectReference `xml:"_this" json:"-"`
 21865  	// The ID of the virtual storage object to be deleted.
 21866  	Id ID `xml:"id" json:"id"`
 21867  	// The datastore where the virtual storage object
 21868  	// is located.
 21869  	//
 21870  	// Refers instance of `Datastore`.
 21871  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21872  }
 21873  
 21874  func init() {
 21875  	t["DeleteVStorageObjectExRequestType"] = reflect.TypeOf((*DeleteVStorageObjectExRequestType)(nil)).Elem()
 21876  	minAPIVersionForType["DeleteVStorageObjectExRequestType"] = "7.0.2.0"
 21877  }
 21878  
 21879  type DeleteVStorageObjectEx_Task DeleteVStorageObjectExRequestType
 21880  
 21881  func init() {
 21882  	t["DeleteVStorageObjectEx_Task"] = reflect.TypeOf((*DeleteVStorageObjectEx_Task)(nil)).Elem()
 21883  }
 21884  
 21885  type DeleteVStorageObjectEx_TaskResponse struct {
 21886  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21887  }
 21888  
 21889  // The parameters of `VcenterVStorageObjectManager.DeleteVStorageObject_Task`.
 21890  type DeleteVStorageObjectRequestType struct {
 21891  	This ManagedObjectReference `xml:"_this" json:"-"`
 21892  	// The ID of the virtual storage object to be deleted.
 21893  	Id ID `xml:"id" json:"id"`
 21894  	// The datastore where the virtual storage object
 21895  	// is located.
 21896  	//
 21897  	// Refers instance of `Datastore`.
 21898  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 21899  }
 21900  
 21901  func init() {
 21902  	t["DeleteVStorageObjectRequestType"] = reflect.TypeOf((*DeleteVStorageObjectRequestType)(nil)).Elem()
 21903  }
 21904  
 21905  type DeleteVStorageObject_Task DeleteVStorageObjectRequestType
 21906  
 21907  func init() {
 21908  	t["DeleteVStorageObject_Task"] = reflect.TypeOf((*DeleteVStorageObject_Task)(nil)).Elem()
 21909  }
 21910  
 21911  type DeleteVStorageObject_TaskResponse struct {
 21912  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21913  }
 21914  
 21915  type DeleteVffsVolumeState DeleteVffsVolumeStateRequestType
 21916  
 21917  func init() {
 21918  	t["DeleteVffsVolumeState"] = reflect.TypeOf((*DeleteVffsVolumeState)(nil)).Elem()
 21919  }
 21920  
 21921  // The parameters of `HostStorageSystem.DeleteVffsVolumeState`.
 21922  type DeleteVffsVolumeStateRequestType struct {
 21923  	This ManagedObjectReference `xml:"_this" json:"-"`
 21924  	// The VFFS UUID.
 21925  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 21926  }
 21927  
 21928  func init() {
 21929  	t["DeleteVffsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVffsVolumeStateRequestType)(nil)).Elem()
 21930  }
 21931  
 21932  type DeleteVffsVolumeStateResponse struct {
 21933  }
 21934  
 21935  // The parameters of `VirtualDiskManager.DeleteVirtualDisk_Task`.
 21936  type DeleteVirtualDiskRequestType struct {
 21937  	This ManagedObjectReference `xml:"_this" json:"-"`
 21938  	// The name of the disk, either a datastore path or a URL
 21939  	// referring to the virtual disk to be deleted.
 21940  	Name string `xml:"name" json:"name"`
 21941  	// If <code>name</code> is a datastore path, the datacenter for
 21942  	// that datastore path. Not needed when invoked directly on ESX.
 21943  	// If not specified on a call to VirtualCenter,
 21944  	// <code>name</code> must be a URL.
 21945  	//
 21946  	// Refers instance of `Datacenter`.
 21947  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 21948  }
 21949  
 21950  func init() {
 21951  	t["DeleteVirtualDiskRequestType"] = reflect.TypeOf((*DeleteVirtualDiskRequestType)(nil)).Elem()
 21952  }
 21953  
 21954  type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType
 21955  
 21956  func init() {
 21957  	t["DeleteVirtualDisk_Task"] = reflect.TypeOf((*DeleteVirtualDisk_Task)(nil)).Elem()
 21958  }
 21959  
 21960  type DeleteVirtualDisk_TaskResponse struct {
 21961  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 21962  }
 21963  
 21964  type DeleteVmfsVolumeState DeleteVmfsVolumeStateRequestType
 21965  
 21966  func init() {
 21967  	t["DeleteVmfsVolumeState"] = reflect.TypeOf((*DeleteVmfsVolumeState)(nil)).Elem()
 21968  }
 21969  
 21970  // The parameters of `HostStorageSystem.DeleteVmfsVolumeState`.
 21971  type DeleteVmfsVolumeStateRequestType struct {
 21972  	This ManagedObjectReference `xml:"_this" json:"-"`
 21973  	// The VMFS UUID.
 21974  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 21975  }
 21976  
 21977  func init() {
 21978  	t["DeleteVmfsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVmfsVolumeStateRequestType)(nil)).Elem()
 21979  }
 21980  
 21981  type DeleteVmfsVolumeStateResponse struct {
 21982  }
 21983  
 21984  type DeleteVsanObjects DeleteVsanObjectsRequestType
 21985  
 21986  func init() {
 21987  	t["DeleteVsanObjects"] = reflect.TypeOf((*DeleteVsanObjects)(nil)).Elem()
 21988  }
 21989  
 21990  // The parameters of `HostVsanInternalSystem.DeleteVsanObjects`.
 21991  type DeleteVsanObjectsRequestType struct {
 21992  	This ManagedObjectReference `xml:"_this" json:"-"`
 21993  	// List of object UUIDs to be deleted.
 21994  	Uuids []string `xml:"uuids" json:"uuids"`
 21995  	// Optional force delete.
 21996  	Force *bool `xml:"force" json:"force,omitempty"`
 21997  }
 21998  
 21999  func init() {
 22000  	t["DeleteVsanObjectsRequestType"] = reflect.TypeOf((*DeleteVsanObjectsRequestType)(nil)).Elem()
 22001  }
 22002  
 22003  type DeleteVsanObjectsResponse struct {
 22004  	Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval" json:"returnval"`
 22005  }
 22006  
 22007  // Thrown on an attempt to use an unsupported delta disk format.
 22008  type DeltaDiskFormatNotSupported struct {
 22009  	VmConfigFault
 22010  
 22011  	// The datastores which do not support the specified format.
 22012  	//
 22013  	// Refers instances of `Datastore`.
 22014  	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 22015  	// The format not supported.
 22016  	//
 22017  	// See `DeltaDiskFormat`.
 22018  	DeltaDiskFormat string `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 22019  }
 22020  
 22021  func init() {
 22022  	t["DeltaDiskFormatNotSupported"] = reflect.TypeOf((*DeltaDiskFormatNotSupported)(nil)).Elem()
 22023  }
 22024  
 22025  type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported
 22026  
 22027  func init() {
 22028  	t["DeltaDiskFormatNotSupportedFault"] = reflect.TypeOf((*DeltaDiskFormatNotSupportedFault)(nil)).Elem()
 22029  }
 22030  
 22031  // Static strings used for describing an object or property.
 22032  type Description struct {
 22033  	DynamicData
 22034  
 22035  	// Display label.
 22036  	Label string `xml:"label" json:"label"`
 22037  	// Summary description.
 22038  	Summary string `xml:"summary" json:"summary"`
 22039  }
 22040  
 22041  func init() {
 22042  	t["Description"] = reflect.TypeOf((*Description)(nil)).Elem()
 22043  }
 22044  
 22045  type DeselectVnic DeselectVnicRequestType
 22046  
 22047  func init() {
 22048  	t["DeselectVnic"] = reflect.TypeOf((*DeselectVnic)(nil)).Elem()
 22049  }
 22050  
 22051  type DeselectVnicForNicType DeselectVnicForNicTypeRequestType
 22052  
 22053  func init() {
 22054  	t["DeselectVnicForNicType"] = reflect.TypeOf((*DeselectVnicForNicType)(nil)).Elem()
 22055  }
 22056  
 22057  // The parameters of `HostVirtualNicManager.DeselectVnicForNicType`.
 22058  type DeselectVnicForNicTypeRequestType struct {
 22059  	This ManagedObjectReference `xml:"_this" json:"-"`
 22060  	// The type of VirtualNic that would be deselected
 22061  	NicType string `xml:"nicType" json:"nicType"`
 22062  	// The device that uniquely identifies the VirtualNic.
 22063  	Device string `xml:"device" json:"device"`
 22064  }
 22065  
 22066  func init() {
 22067  	t["DeselectVnicForNicTypeRequestType"] = reflect.TypeOf((*DeselectVnicForNicTypeRequestType)(nil)).Elem()
 22068  }
 22069  
 22070  type DeselectVnicForNicTypeResponse struct {
 22071  }
 22072  
 22073  type DeselectVnicRequestType struct {
 22074  	This ManagedObjectReference `xml:"_this" json:"-"`
 22075  }
 22076  
 22077  func init() {
 22078  	t["DeselectVnicRequestType"] = reflect.TypeOf((*DeselectVnicRequestType)(nil)).Elem()
 22079  }
 22080  
 22081  type DeselectVnicResponse struct {
 22082  }
 22083  
 22084  // Desired Software Spec is defined as combination of base-image and add-on
 22085  // component which user wants to install on ESX host or cluster.
 22086  type DesiredSoftwareSpec struct {
 22087  	DynamicData
 22088  
 22089  	// Describes a specific base-image spec for the ESX host.
 22090  	BaseImageSpec DesiredSoftwareSpecBaseImageSpec `xml:"baseImageSpec" json:"baseImageSpec"`
 22091  	// Vendor add-on info for desired software spec.
 22092  	VendorAddOnSpec *DesiredSoftwareSpecVendorAddOnSpec `xml:"vendorAddOnSpec,omitempty" json:"vendorAddOnSpec,omitempty"`
 22093  	// Additional components which should be part of the desired software
 22094  	// spec.
 22095  	//
 22096  	// These components would override the components present in
 22097  	// `DesiredSoftwareSpec.vendorAddOnSpec` and `DesiredSoftwareSpec.baseImageSpec`.
 22098  	Components []DesiredSoftwareSpecComponentSpec `xml:"components,omitempty" json:"components,omitempty" vim:"7.0.2.0"`
 22099  	// Components which should not be part of the desired software
 22100  	// spec.
 22101  	//
 22102  	// These components are not applied on the host.
 22103  	RemovedComponents []string `xml:"removedComponents,omitempty" json:"removedComponents,omitempty" vim:"8.0.3.0"`
 22104  }
 22105  
 22106  func init() {
 22107  	t["DesiredSoftwareSpec"] = reflect.TypeOf((*DesiredSoftwareSpec)(nil)).Elem()
 22108  }
 22109  
 22110  // Describes base-image spec for the ESX host.
 22111  type DesiredSoftwareSpecBaseImageSpec struct {
 22112  	DynamicData
 22113  
 22114  	// Version of the base-image.
 22115  	Version string `xml:"version" json:"version"`
 22116  }
 22117  
 22118  func init() {
 22119  	t["DesiredSoftwareSpecBaseImageSpec"] = reflect.TypeOf((*DesiredSoftwareSpecBaseImageSpec)(nil)).Elem()
 22120  }
 22121  
 22122  // Component information for the ESX host.
 22123  type DesiredSoftwareSpecComponentSpec struct {
 22124  	DynamicData
 22125  
 22126  	// Name of the component.
 22127  	Name string `xml:"name" json:"name"`
 22128  	// Version of the component.
 22129  	//
 22130  	// This field is required in the
 22131  	// current release.
 22132  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 22133  }
 22134  
 22135  func init() {
 22136  	t["DesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*DesiredSoftwareSpecComponentSpec)(nil)).Elem()
 22137  	minAPIVersionForType["DesiredSoftwareSpecComponentSpec"] = "7.0.2.0"
 22138  }
 22139  
 22140  // Vendor specific add-on info for ESX host.
 22141  type DesiredSoftwareSpecVendorAddOnSpec struct {
 22142  	DynamicData
 22143  
 22144  	// Vendor add-on name.
 22145  	Name string `xml:"name" json:"name"`
 22146  	// Vendor add-on version.
 22147  	Version string `xml:"version" json:"version"`
 22148  }
 22149  
 22150  func init() {
 22151  	t["DesiredSoftwareSpecVendorAddOnSpec"] = reflect.TypeOf((*DesiredSoftwareSpecVendorAddOnSpec)(nil)).Elem()
 22152  }
 22153  
 22154  // For one of the networks that the virtual machine is using, the corresponding
 22155  // switch on the host is full.
 22156  //
 22157  // If returned as part of migration checks, this is an error
 22158  // if either of the following is true, a warning otherwise:
 22159  //   - The virtual ethernet card device backing is a distributed virtual switch
 22160  //   - The virtual ethernet card device backing is a standard network and the
 22161  //     the device is connected
 22162  type DestinationSwitchFull struct {
 22163  	CannotAccessNetwork
 22164  }
 22165  
 22166  func init() {
 22167  	t["DestinationSwitchFull"] = reflect.TypeOf((*DestinationSwitchFull)(nil)).Elem()
 22168  }
 22169  
 22170  type DestinationSwitchFullFault DestinationSwitchFull
 22171  
 22172  func init() {
 22173  	t["DestinationSwitchFullFault"] = reflect.TypeOf((*DestinationSwitchFullFault)(nil)).Elem()
 22174  }
 22175  
 22176  // Fault thrown for the case that an attempt is made to move a host which
 22177  // is enabled for VSAN into a `ClusterComputeResource` which is
 22178  // disabled for VSAN.
 22179  //
 22180  // See also `CannotMoveVsanEnabledHost`.
 22181  type DestinationVsanDisabled struct {
 22182  	CannotMoveVsanEnabledHost
 22183  
 22184  	// Name of the disabled destination `ClusterComputeResource`.
 22185  	//
 22186  	// See also `ManagedEntity.name`.
 22187  	DestinationCluster string `xml:"destinationCluster" json:"destinationCluster"`
 22188  }
 22189  
 22190  func init() {
 22191  	t["DestinationVsanDisabled"] = reflect.TypeOf((*DestinationVsanDisabled)(nil)).Elem()
 22192  }
 22193  
 22194  type DestinationVsanDisabledFault DestinationVsanDisabled
 22195  
 22196  func init() {
 22197  	t["DestinationVsanDisabledFault"] = reflect.TypeOf((*DestinationVsanDisabledFault)(nil)).Elem()
 22198  }
 22199  
 22200  type DestroyChildren DestroyChildrenRequestType
 22201  
 22202  func init() {
 22203  	t["DestroyChildren"] = reflect.TypeOf((*DestroyChildren)(nil)).Elem()
 22204  }
 22205  
 22206  type DestroyChildrenRequestType struct {
 22207  	This ManagedObjectReference `xml:"_this" json:"-"`
 22208  }
 22209  
 22210  func init() {
 22211  	t["DestroyChildrenRequestType"] = reflect.TypeOf((*DestroyChildrenRequestType)(nil)).Elem()
 22212  }
 22213  
 22214  type DestroyChildrenResponse struct {
 22215  }
 22216  
 22217  type DestroyCollector DestroyCollectorRequestType
 22218  
 22219  func init() {
 22220  	t["DestroyCollector"] = reflect.TypeOf((*DestroyCollector)(nil)).Elem()
 22221  }
 22222  
 22223  type DestroyCollectorRequestType struct {
 22224  	This ManagedObjectReference `xml:"_this" json:"-"`
 22225  }
 22226  
 22227  func init() {
 22228  	t["DestroyCollectorRequestType"] = reflect.TypeOf((*DestroyCollectorRequestType)(nil)).Elem()
 22229  }
 22230  
 22231  type DestroyCollectorResponse struct {
 22232  }
 22233  
 22234  type DestroyDatastore DestroyDatastoreRequestType
 22235  
 22236  func init() {
 22237  	t["DestroyDatastore"] = reflect.TypeOf((*DestroyDatastore)(nil)).Elem()
 22238  }
 22239  
 22240  type DestroyDatastoreRequestType struct {
 22241  	This ManagedObjectReference `xml:"_this" json:"-"`
 22242  }
 22243  
 22244  func init() {
 22245  	t["DestroyDatastoreRequestType"] = reflect.TypeOf((*DestroyDatastoreRequestType)(nil)).Elem()
 22246  }
 22247  
 22248  type DestroyDatastoreResponse struct {
 22249  }
 22250  
 22251  type DestroyIpPool DestroyIpPoolRequestType
 22252  
 22253  func init() {
 22254  	t["DestroyIpPool"] = reflect.TypeOf((*DestroyIpPool)(nil)).Elem()
 22255  }
 22256  
 22257  // The parameters of `IpPoolManager.DestroyIpPool`.
 22258  type DestroyIpPoolRequestType struct {
 22259  	This ManagedObjectReference `xml:"_this" json:"-"`
 22260  	// The datacenter on which to find the pool
 22261  	//
 22262  	// Required privileges: Datacenter.IpPoolConfig
 22263  	//
 22264  	// Refers instance of `Datacenter`.
 22265  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 22266  	// The unique ID of the pool
 22267  	Id int32 `xml:"id" json:"id"`
 22268  	// If true, the pool will be destroyed even if it is in use
 22269  	Force bool `xml:"force" json:"force"`
 22270  }
 22271  
 22272  func init() {
 22273  	t["DestroyIpPoolRequestType"] = reflect.TypeOf((*DestroyIpPoolRequestType)(nil)).Elem()
 22274  }
 22275  
 22276  type DestroyIpPoolResponse struct {
 22277  }
 22278  
 22279  type DestroyNetwork DestroyNetworkRequestType
 22280  
 22281  func init() {
 22282  	t["DestroyNetwork"] = reflect.TypeOf((*DestroyNetwork)(nil)).Elem()
 22283  }
 22284  
 22285  type DestroyNetworkRequestType struct {
 22286  	This ManagedObjectReference `xml:"_this" json:"-"`
 22287  }
 22288  
 22289  func init() {
 22290  	t["DestroyNetworkRequestType"] = reflect.TypeOf((*DestroyNetworkRequestType)(nil)).Elem()
 22291  }
 22292  
 22293  type DestroyNetworkResponse struct {
 22294  }
 22295  
 22296  type DestroyProfile DestroyProfileRequestType
 22297  
 22298  func init() {
 22299  	t["DestroyProfile"] = reflect.TypeOf((*DestroyProfile)(nil)).Elem()
 22300  }
 22301  
 22302  type DestroyProfileRequestType struct {
 22303  	This ManagedObjectReference `xml:"_this" json:"-"`
 22304  }
 22305  
 22306  func init() {
 22307  	t["DestroyProfileRequestType"] = reflect.TypeOf((*DestroyProfileRequestType)(nil)).Elem()
 22308  }
 22309  
 22310  type DestroyProfileResponse struct {
 22311  }
 22312  
 22313  type DestroyPropertyCollector DestroyPropertyCollectorRequestType
 22314  
 22315  func init() {
 22316  	t["DestroyPropertyCollector"] = reflect.TypeOf((*DestroyPropertyCollector)(nil)).Elem()
 22317  }
 22318  
 22319  type DestroyPropertyCollectorRequestType struct {
 22320  	This ManagedObjectReference `xml:"_this" json:"-"`
 22321  }
 22322  
 22323  func init() {
 22324  	t["DestroyPropertyCollectorRequestType"] = reflect.TypeOf((*DestroyPropertyCollectorRequestType)(nil)).Elem()
 22325  }
 22326  
 22327  type DestroyPropertyCollectorResponse struct {
 22328  }
 22329  
 22330  type DestroyPropertyFilter DestroyPropertyFilterRequestType
 22331  
 22332  func init() {
 22333  	t["DestroyPropertyFilter"] = reflect.TypeOf((*DestroyPropertyFilter)(nil)).Elem()
 22334  }
 22335  
 22336  type DestroyPropertyFilterRequestType struct {
 22337  	This ManagedObjectReference `xml:"_this" json:"-"`
 22338  }
 22339  
 22340  func init() {
 22341  	t["DestroyPropertyFilterRequestType"] = reflect.TypeOf((*DestroyPropertyFilterRequestType)(nil)).Elem()
 22342  }
 22343  
 22344  type DestroyPropertyFilterResponse struct {
 22345  }
 22346  
 22347  type DestroyRequestType struct {
 22348  	This ManagedObjectReference `xml:"_this" json:"-"`
 22349  }
 22350  
 22351  func init() {
 22352  	t["DestroyRequestType"] = reflect.TypeOf((*DestroyRequestType)(nil)).Elem()
 22353  }
 22354  
 22355  type DestroyVffs DestroyVffsRequestType
 22356  
 22357  func init() {
 22358  	t["DestroyVffs"] = reflect.TypeOf((*DestroyVffs)(nil)).Elem()
 22359  }
 22360  
 22361  // The parameters of `HostStorageSystem.DestroyVffs`.
 22362  type DestroyVffsRequestType struct {
 22363  	This ManagedObjectReference `xml:"_this" json:"-"`
 22364  	// The path of the VFFS to destroy. See `FileSystemMountInfo`.
 22365  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 22366  }
 22367  
 22368  func init() {
 22369  	t["DestroyVffsRequestType"] = reflect.TypeOf((*DestroyVffsRequestType)(nil)).Elem()
 22370  }
 22371  
 22372  type DestroyVffsResponse struct {
 22373  }
 22374  
 22375  type DestroyView DestroyViewRequestType
 22376  
 22377  func init() {
 22378  	t["DestroyView"] = reflect.TypeOf((*DestroyView)(nil)).Elem()
 22379  }
 22380  
 22381  type DestroyViewRequestType struct {
 22382  	This ManagedObjectReference `xml:"_this" json:"-"`
 22383  }
 22384  
 22385  func init() {
 22386  	t["DestroyViewRequestType"] = reflect.TypeOf((*DestroyViewRequestType)(nil)).Elem()
 22387  }
 22388  
 22389  type DestroyViewResponse struct {
 22390  }
 22391  
 22392  type Destroy_Task DestroyRequestType
 22393  
 22394  func init() {
 22395  	t["Destroy_Task"] = reflect.TypeOf((*Destroy_Task)(nil)).Elem()
 22396  }
 22397  
 22398  type Destroy_TaskResponse struct {
 22399  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22400  }
 22401  
 22402  // The parameters of `VirtualMachine.DetachDisk_Task`.
 22403  type DetachDiskRequestType struct {
 22404  	This ManagedObjectReference `xml:"_this" json:"-"`
 22405  	// The ID of the virtual disk to be operated. See
 22406  	// `ID`
 22407  	DiskId ID `xml:"diskId" json:"diskId"`
 22408  }
 22409  
 22410  func init() {
 22411  	t["DetachDiskRequestType"] = reflect.TypeOf((*DetachDiskRequestType)(nil)).Elem()
 22412  }
 22413  
 22414  type DetachDisk_Task DetachDiskRequestType
 22415  
 22416  func init() {
 22417  	t["DetachDisk_Task"] = reflect.TypeOf((*DetachDisk_Task)(nil)).Elem()
 22418  }
 22419  
 22420  type DetachDisk_TaskResponse struct {
 22421  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22422  }
 22423  
 22424  type DetachScsiLun DetachScsiLunRequestType
 22425  
 22426  func init() {
 22427  	t["DetachScsiLun"] = reflect.TypeOf((*DetachScsiLun)(nil)).Elem()
 22428  }
 22429  
 22430  // The parameters of `HostStorageSystem.DetachScsiLunEx_Task`.
 22431  type DetachScsiLunExRequestType struct {
 22432  	This ManagedObjectReference `xml:"_this" json:"-"`
 22433  	// each element specifies UUID of LUN to be detached.
 22434  	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
 22435  }
 22436  
 22437  func init() {
 22438  	t["DetachScsiLunExRequestType"] = reflect.TypeOf((*DetachScsiLunExRequestType)(nil)).Elem()
 22439  }
 22440  
 22441  type DetachScsiLunEx_Task DetachScsiLunExRequestType
 22442  
 22443  func init() {
 22444  	t["DetachScsiLunEx_Task"] = reflect.TypeOf((*DetachScsiLunEx_Task)(nil)).Elem()
 22445  }
 22446  
 22447  type DetachScsiLunEx_TaskResponse struct {
 22448  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22449  }
 22450  
 22451  // The parameters of `HostStorageSystem.DetachScsiLun`.
 22452  type DetachScsiLunRequestType struct {
 22453  	This ManagedObjectReference `xml:"_this" json:"-"`
 22454  	// The uuid of the ScsiLun device to detach.
 22455  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 22456  }
 22457  
 22458  func init() {
 22459  	t["DetachScsiLunRequestType"] = reflect.TypeOf((*DetachScsiLunRequestType)(nil)).Elem()
 22460  }
 22461  
 22462  type DetachScsiLunResponse struct {
 22463  }
 22464  
 22465  type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType
 22466  
 22467  func init() {
 22468  	t["DetachTagFromVStorageObject"] = reflect.TypeOf((*DetachTagFromVStorageObject)(nil)).Elem()
 22469  }
 22470  
 22471  // The parameters of `VcenterVStorageObjectManager.DetachTagFromVStorageObject`.
 22472  type DetachTagFromVStorageObjectRequestType struct {
 22473  	This ManagedObjectReference `xml:"_this" json:"-"`
 22474  	// The identifier(ID) of the virtual storage object.
 22475  	Id ID `xml:"id" json:"id"`
 22476  	// The category to which the tag belongs.
 22477  	Category string `xml:"category" json:"category"`
 22478  	// The tag which has to be disassociated with the virtual storage
 22479  	// object.
 22480  	Tag string `xml:"tag" json:"tag"`
 22481  }
 22482  
 22483  func init() {
 22484  	t["DetachTagFromVStorageObjectRequestType"] = reflect.TypeOf((*DetachTagFromVStorageObjectRequestType)(nil)).Elem()
 22485  }
 22486  
 22487  type DetachTagFromVStorageObjectResponse struct {
 22488  }
 22489  
 22490  // Specification used to create a host device backed virtual disk
 22491  type DeviceBackedVirtualDiskSpec struct {
 22492  	VirtualDiskSpec
 22493  
 22494  	// The deviceName of the backing device
 22495  	//
 22496  	// See also `ScsiLun`.
 22497  	Device string `xml:"device" json:"device"`
 22498  }
 22499  
 22500  func init() {
 22501  	t["DeviceBackedVirtualDiskSpec"] = reflect.TypeOf((*DeviceBackedVirtualDiskSpec)(nil)).Elem()
 22502  }
 22503  
 22504  // The device is backed by a backing type which is not supported
 22505  // for this particular device.
 22506  //
 22507  // If this fault is returned as a subfault of
 22508  // DisallowedMigrationDeviceAttached, this indicates that although
 22509  // this backing for the device may be supported on the destination
 22510  // host, the hosts do not support the requested migration of the
 22511  // virtual machine while using this device with this backing.
 22512  type DeviceBackingNotSupported struct {
 22513  	DeviceNotSupported
 22514  
 22515  	// The type of the backing.
 22516  	Backing string `xml:"backing" json:"backing"`
 22517  }
 22518  
 22519  func init() {
 22520  	t["DeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem()
 22521  }
 22522  
 22523  type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported
 22524  
 22525  func init() {
 22526  	t["DeviceBackingNotSupportedFault"] = reflect.TypeOf((*DeviceBackingNotSupportedFault)(nil)).Elem()
 22527  }
 22528  
 22529  // The device in question is supported, but the device-controller
 22530  // combination is not supported.
 22531  //
 22532  // If this fault is returned as a subfault of
 22533  // DisallowedMigrationDeviceAttached, this indicates that although
 22534  // this device-controller combination may be supported on the
 22535  // destination host, the hosts do not support the requested migration
 22536  // of the virtual machine while using this device and controller.
 22537  type DeviceControllerNotSupported struct {
 22538  	DeviceNotSupported
 22539  
 22540  	// The type of the controller.
 22541  	Controller string `xml:"controller" json:"controller"`
 22542  }
 22543  
 22544  func init() {
 22545  	t["DeviceControllerNotSupported"] = reflect.TypeOf((*DeviceControllerNotSupported)(nil)).Elem()
 22546  }
 22547  
 22548  type DeviceControllerNotSupportedFault DeviceControllerNotSupported
 22549  
 22550  func init() {
 22551  	t["DeviceControllerNotSupportedFault"] = reflect.TypeOf((*DeviceControllerNotSupportedFault)(nil)).Elem()
 22552  }
 22553  
 22554  // Identifier of a replication device group.
 22555  type DeviceGroupId struct {
 22556  	DynamicData
 22557  
 22558  	// ID of the device group.
 22559  	Id string `xml:"id" json:"id"`
 22560  }
 22561  
 22562  func init() {
 22563  	t["DeviceGroupId"] = reflect.TypeOf((*DeviceGroupId)(nil)).Elem()
 22564  }
 22565  
 22566  // A DeviceHotPlugNotSupported exception is thrown if the specified device
 22567  // cannot be hot-added or hot-removed from the virtual machine
 22568  // at this time.
 22569  type DeviceHotPlugNotSupported struct {
 22570  	InvalidDeviceSpec
 22571  }
 22572  
 22573  func init() {
 22574  	t["DeviceHotPlugNotSupported"] = reflect.TypeOf((*DeviceHotPlugNotSupported)(nil)).Elem()
 22575  }
 22576  
 22577  type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported
 22578  
 22579  func init() {
 22580  	t["DeviceHotPlugNotSupportedFault"] = reflect.TypeOf((*DeviceHotPlugNotSupportedFault)(nil)).Elem()
 22581  }
 22582  
 22583  // A DeviceNotFound exception is thrown if
 22584  // a device to be edited or removed
 22585  // cannot be found.
 22586  //
 22587  // Most likely, the client incorrectly passed
 22588  // the device key.
 22589  type DeviceNotFound struct {
 22590  	InvalidDeviceSpec
 22591  }
 22592  
 22593  func init() {
 22594  	t["DeviceNotFound"] = reflect.TypeOf((*DeviceNotFound)(nil)).Elem()
 22595  }
 22596  
 22597  type DeviceNotFoundFault DeviceNotFound
 22598  
 22599  func init() {
 22600  	t["DeviceNotFoundFault"] = reflect.TypeOf((*DeviceNotFoundFault)(nil)).Elem()
 22601  }
 22602  
 22603  // The virtual machine uses a device type that is not supported on the
 22604  // host.
 22605  //
 22606  // If this fault is returned as a subfault of
 22607  // `DisallowedMigrationDeviceAttached`, this indicates that although
 22608  // this device may be supported on the destination host, the hosts do
 22609  // not support the requested migration of the virtual machine while
 22610  // using this device.
 22611  type DeviceNotSupported struct {
 22612  	VirtualHardwareCompatibilityIssue
 22613  
 22614  	// The label of the device.
 22615  	Device string `xml:"device" json:"device"`
 22616  	// The specific reason why the device is not supported.
 22617  	//
 22618  	// Values should come from `DeviceNotSupportedReason_enum`.
 22619  	// This might not be set if we're not sure of the reason, or
 22620  	// if this doesn't make sense in the context. For example,
 22621  	// in the `DisallowedMigrationDeviceAttached` context
 22622  	// we already know the problem.
 22623  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 22624  }
 22625  
 22626  func init() {
 22627  	t["DeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem()
 22628  }
 22629  
 22630  type DeviceNotSupportedFault BaseDeviceNotSupported
 22631  
 22632  func init() {
 22633  	t["DeviceNotSupportedFault"] = reflect.TypeOf((*DeviceNotSupportedFault)(nil)).Elem()
 22634  }
 22635  
 22636  // A DeviceUnsupportedForVmPlatform exception is thrown if the specified device
 22637  // is not supported on the platform on which the virtual machine is being
 22638  // created/configured.
 22639  //
 22640  // For example, this exception might be thrown if a client
 22641  // incorrectly attempts to add a device supported only on ESX Server to a
 22642  // virtual machine on a hosted product.
 22643  type DeviceUnsupportedForVmPlatform struct {
 22644  	InvalidDeviceSpec
 22645  }
 22646  
 22647  func init() {
 22648  	t["DeviceUnsupportedForVmPlatform"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatform)(nil)).Elem()
 22649  }
 22650  
 22651  type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform
 22652  
 22653  func init() {
 22654  	t["DeviceUnsupportedForVmPlatformFault"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatformFault)(nil)).Elem()
 22655  }
 22656  
 22657  // A DeviceUnsupportedForVmVersion exception is thrown if a specific device
 22658  // is not supported for a given version of the virtual machine.
 22659  type DeviceUnsupportedForVmVersion struct {
 22660  	InvalidDeviceSpec
 22661  
 22662  	// The current version of the virtual machine.
 22663  	CurrentVersion string `xml:"currentVersion" json:"currentVersion"`
 22664  	// The minimum expected virtual mahcine version needed to
 22665  	// support this device.
 22666  	ExpectedVersion string `xml:"expectedVersion" json:"expectedVersion"`
 22667  }
 22668  
 22669  func init() {
 22670  	t["DeviceUnsupportedForVmVersion"] = reflect.TypeOf((*DeviceUnsupportedForVmVersion)(nil)).Elem()
 22671  }
 22672  
 22673  type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion
 22674  
 22675  func init() {
 22676  	t["DeviceUnsupportedForVmVersionFault"] = reflect.TypeOf((*DeviceUnsupportedForVmVersionFault)(nil)).Elem()
 22677  }
 22678  
 22679  type DiagnosticManagerAuditRecordResult struct {
 22680  	DynamicData
 22681  
 22682  	// Zero or more audit records returned.
 22683  	//
 22684  	// Each audit record is a UTF-8 string in RFC 5424 format. See RFC 5424,
 22685  	// page 8, for the ABNF grammar.
 22686  	//
 22687  	// The HOSTNAME and MSGID fields are set to "-", the structured data
 22688  	// contains the audit record parameters, no unstructured data will be
 22689  	// present, and each record is terminated with an ASCII LF (newline).
 22690  	Records []string `xml:"records,omitempty" json:"records,omitempty"`
 22691  	// The token to be used for subsequent read operations.
 22692  	//
 22693  	// The string is "opaque"; the format of this data changes over time.
 22694  	NextToken string `xml:"nextToken" json:"nextToken"`
 22695  }
 22696  
 22697  func init() {
 22698  	t["DiagnosticManagerAuditRecordResult"] = reflect.TypeOf((*DiagnosticManagerAuditRecordResult)(nil)).Elem()
 22699  	minAPIVersionForType["DiagnosticManagerAuditRecordResult"] = "7.0.3.0"
 22700  }
 22701  
 22702  // Describes a location of a diagnostic bundle and the server to which
 22703  // it belongs.
 22704  //
 22705  // This is a return type for the generateLogBundles operation.
 22706  type DiagnosticManagerBundleInfo struct {
 22707  	DynamicData
 22708  
 22709  	// The host to which this diagnostic bundle belongs.
 22710  	//
 22711  	// If this is for the default server, then it is not set.
 22712  	//
 22713  	// Refers instance of `HostSystem`.
 22714  	System *ManagedObjectReference `xml:"system,omitempty" json:"system,omitempty"`
 22715  	// The location from which the diagnostic bundle can be downloaded.
 22716  	//
 22717  	// The host part of the URL is returned as '\*' if the hostname to be used
 22718  	// is the name of the server to which the call was made. For example, if
 22719  	// the call is made to vcsrv1.domain1.com, and the bundle is available
 22720  	// for download from http://vcsrv1.domain1.com/diagnostics/bundle.zip,
 22721  	// the URL returned may be http:// \* /diagnostics/bundle.zip. The client
 22722  	// replaces the asterisk with the server name on which it invoked the
 22723  	// call.
 22724  	Url string `xml:"url" json:"url"`
 22725  }
 22726  
 22727  func init() {
 22728  	t["DiagnosticManagerBundleInfo"] = reflect.TypeOf((*DiagnosticManagerBundleInfo)(nil)).Elem()
 22729  }
 22730  
 22731  // Describes a log file that is available on a server.
 22732  type DiagnosticManagerLogDescriptor struct {
 22733  	DynamicData
 22734  
 22735  	// A key to identify the log file for browsing and download operations.
 22736  	Key string `xml:"key" json:"key"`
 22737  	// The filename of the log.
 22738  	FileName string `xml:"fileName" json:"fileName"`
 22739  	// The application that generated the log file.
 22740  	//
 22741  	// For more information on currently supported creators, see
 22742  	// `DiagnosticManagerLogCreator_enum`.
 22743  	Creator string `xml:"creator" json:"creator"`
 22744  	// Describes the format of the log file.
 22745  	//
 22746  	// For more information on currently supported formats, see
 22747  	// `DiagnosticManagerLogFormat_enum`.
 22748  	Format string `xml:"format" json:"format"`
 22749  	// Describes the mime-type of the returned file.
 22750  	//
 22751  	// Typical
 22752  	// mime-types include:
 22753  	//   - text/plain - for a plain log file
 22754  	MimeType string `xml:"mimeType" json:"mimeType"`
 22755  	// Localized description of log file.
 22756  	Info BaseDescription `xml:"info,typeattr" json:"info"`
 22757  }
 22758  
 22759  func init() {
 22760  	t["DiagnosticManagerLogDescriptor"] = reflect.TypeOf((*DiagnosticManagerLogDescriptor)(nil)).Elem()
 22761  }
 22762  
 22763  // A header that is returned with a set of log entries.
 22764  //
 22765  // This header describes where entries are located in the log file. Log
 22766  // files typically grow dynamically, so indexes based on line numbers may
 22767  // become inaccurate.
 22768  type DiagnosticManagerLogHeader struct {
 22769  	DynamicData
 22770  
 22771  	// The first line of this log segment.
 22772  	LineStart int32 `xml:"lineStart" json:"lineStart"`
 22773  	// The last line of this log segment.
 22774  	LineEnd int32 `xml:"lineEnd" json:"lineEnd"`
 22775  	// Log entries, listed by line, for this log segment.
 22776  	LineText []string `xml:"lineText,omitempty" json:"lineText,omitempty"`
 22777  }
 22778  
 22779  func init() {
 22780  	t["DiagnosticManagerLogHeader"] = reflect.TypeOf((*DiagnosticManagerLogHeader)(nil)).Elem()
 22781  }
 22782  
 22783  // The digest file of the specified virtual disk is not supported.
 22784  //
 22785  // Typically, this fault is returned as part of a parent fault like
 22786  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 22787  // virtual disk's digest file needs to be changed before fault tolerance can be
 22788  // enabled on the associated virtual machine.
 22789  type DigestNotSupported struct {
 22790  	DeviceNotSupported
 22791  }
 22792  
 22793  func init() {
 22794  	t["DigestNotSupported"] = reflect.TypeOf((*DigestNotSupported)(nil)).Elem()
 22795  }
 22796  
 22797  type DigestNotSupportedFault DigestNotSupported
 22798  
 22799  func init() {
 22800  	t["DigestNotSupportedFault"] = reflect.TypeOf((*DigestNotSupportedFault)(nil)).Elem()
 22801  }
 22802  
 22803  // This fault is thrown when an operation fails because the specified
 22804  // directory is not empty.
 22805  type DirectoryNotEmpty struct {
 22806  	FileFault
 22807  }
 22808  
 22809  func init() {
 22810  	t["DirectoryNotEmpty"] = reflect.TypeOf((*DirectoryNotEmpty)(nil)).Elem()
 22811  }
 22812  
 22813  type DirectoryNotEmptyFault DirectoryNotEmpty
 22814  
 22815  func init() {
 22816  	t["DirectoryNotEmptyFault"] = reflect.TypeOf((*DirectoryNotEmptyFault)(nil)).Elem()
 22817  }
 22818  
 22819  // Fault thrown when an attempt is made to move a disk with associated snapshots to a destination host.
 22820  //
 22821  // If such a move were to occur, snapshots associated with the disk would be irrevocably
 22822  // lost. This is always an error.
 22823  type DisableAdminNotSupported struct {
 22824  	HostConfigFault
 22825  }
 22826  
 22827  func init() {
 22828  	t["DisableAdminNotSupported"] = reflect.TypeOf((*DisableAdminNotSupported)(nil)).Elem()
 22829  }
 22830  
 22831  type DisableAdminNotSupportedFault DisableAdminNotSupported
 22832  
 22833  func init() {
 22834  	t["DisableAdminNotSupportedFault"] = reflect.TypeOf((*DisableAdminNotSupportedFault)(nil)).Elem()
 22835  }
 22836  
 22837  type DisableAlarm DisableAlarmRequestType
 22838  
 22839  func init() {
 22840  	t["DisableAlarm"] = reflect.TypeOf((*DisableAlarm)(nil)).Elem()
 22841  }
 22842  
 22843  // The parameters of `AlarmManager.DisableAlarm`.
 22844  type DisableAlarmRequestType struct {
 22845  	This ManagedObjectReference `xml:"_this" json:"-"`
 22846  	// The Alarm being disabled.
 22847  	//
 22848  	// Required privileges: Alarm.ToggleEnableOnEntity
 22849  	//
 22850  	// Refers instance of `Alarm`.
 22851  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 22852  	// The ManagedEntity on which to disable the alarm.
 22853  	//
 22854  	// Required privileges: System.Read
 22855  	//
 22856  	// Refers instance of `ManagedEntity`.
 22857  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 22858  }
 22859  
 22860  func init() {
 22861  	t["DisableAlarmRequestType"] = reflect.TypeOf((*DisableAlarmRequestType)(nil)).Elem()
 22862  }
 22863  
 22864  type DisableAlarmResponse struct {
 22865  }
 22866  
 22867  type DisableClusteredVmdkSupport DisableClusteredVmdkSupportRequestType
 22868  
 22869  func init() {
 22870  	t["DisableClusteredVmdkSupport"] = reflect.TypeOf((*DisableClusteredVmdkSupport)(nil)).Elem()
 22871  }
 22872  
 22873  // The parameters of `HostDatastoreSystem.DisableClusteredVmdkSupport`.
 22874  type DisableClusteredVmdkSupportRequestType struct {
 22875  	This ManagedObjectReference `xml:"_this" json:"-"`
 22876  	// Datastore on which clustered vmdk should be
 22877  	// disabled.
 22878  	//
 22879  	// Refers instance of `Datastore`.
 22880  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 22881  }
 22882  
 22883  func init() {
 22884  	t["DisableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*DisableClusteredVmdkSupportRequestType)(nil)).Elem()
 22885  }
 22886  
 22887  type DisableClusteredVmdkSupportResponse struct {
 22888  }
 22889  
 22890  type DisableEvcModeRequestType struct {
 22891  	This ManagedObjectReference `xml:"_this" json:"-"`
 22892  }
 22893  
 22894  func init() {
 22895  	t["DisableEvcModeRequestType"] = reflect.TypeOf((*DisableEvcModeRequestType)(nil)).Elem()
 22896  }
 22897  
 22898  type DisableEvcMode_Task DisableEvcModeRequestType
 22899  
 22900  func init() {
 22901  	t["DisableEvcMode_Task"] = reflect.TypeOf((*DisableEvcMode_Task)(nil)).Elem()
 22902  }
 22903  
 22904  type DisableEvcMode_TaskResponse struct {
 22905  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 22906  }
 22907  
 22908  type DisableFeature DisableFeatureRequestType
 22909  
 22910  func init() {
 22911  	t["DisableFeature"] = reflect.TypeOf((*DisableFeature)(nil)).Elem()
 22912  }
 22913  
 22914  // The parameters of `LicenseManager.DisableFeature`.
 22915  type DisableFeatureRequestType struct {
 22916  	This ManagedObjectReference `xml:"_this" json:"-"`
 22917  	// Host to act on if LicenseManager is not on a host.
 22918  	//
 22919  	// Refers instance of `HostSystem`.
 22920  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 22921  	// key of the feature to disable.
 22922  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 22923  }
 22924  
 22925  func init() {
 22926  	t["DisableFeatureRequestType"] = reflect.TypeOf((*DisableFeatureRequestType)(nil)).Elem()
 22927  }
 22928  
 22929  type DisableFeatureResponse struct {
 22930  	Returnval bool `xml:"returnval" json:"returnval"`
 22931  }
 22932  
 22933  type DisableHyperThreading DisableHyperThreadingRequestType
 22934  
 22935  func init() {
 22936  	t["DisableHyperThreading"] = reflect.TypeOf((*DisableHyperThreading)(nil)).Elem()
 22937  }
 22938  
 22939  type DisableHyperThreadingRequestType struct {
 22940  	This ManagedObjectReference `xml:"_this" json:"-"`
 22941  }
 22942  
 22943  func init() {
 22944  	t["DisableHyperThreadingRequestType"] = reflect.TypeOf((*DisableHyperThreadingRequestType)(nil)).Elem()
 22945  }
 22946  
 22947  type DisableHyperThreadingResponse struct {
 22948  }
 22949  
 22950  type DisableMultipathPath DisableMultipathPathRequestType
 22951  
 22952  func init() {
 22953  	t["DisableMultipathPath"] = reflect.TypeOf((*DisableMultipathPath)(nil)).Elem()
 22954  }
 22955  
 22956  // The parameters of `HostStorageSystem.DisableMultipathPath`.
 22957  type DisableMultipathPathRequestType struct {
 22958  	This ManagedObjectReference `xml:"_this" json:"-"`
 22959  	// The name of the path to disable.
 22960  	PathName string `xml:"pathName" json:"pathName"`
 22961  }
 22962  
 22963  func init() {
 22964  	t["DisableMultipathPathRequestType"] = reflect.TypeOf((*DisableMultipathPathRequestType)(nil)).Elem()
 22965  }
 22966  
 22967  type DisableMultipathPathResponse struct {
 22968  }
 22969  
 22970  type DisableRuleset DisableRulesetRequestType
 22971  
 22972  func init() {
 22973  	t["DisableRuleset"] = reflect.TypeOf((*DisableRuleset)(nil)).Elem()
 22974  }
 22975  
 22976  // The parameters of `HostFirewallSystem.DisableRuleset`.
 22977  type DisableRulesetRequestType struct {
 22978  	This ManagedObjectReference `xml:"_this" json:"-"`
 22979  	Id   string                 `xml:"id" json:"id"`
 22980  }
 22981  
 22982  func init() {
 22983  	t["DisableRulesetRequestType"] = reflect.TypeOf((*DisableRulesetRequestType)(nil)).Elem()
 22984  }
 22985  
 22986  type DisableRulesetResponse struct {
 22987  }
 22988  
 22989  // The parameters of `VirtualMachine.DisableSecondaryVM_Task`.
 22990  type DisableSecondaryVMRequestType struct {
 22991  	This ManagedObjectReference `xml:"_this" json:"-"`
 22992  	// The secondary virtual machine specified will be disabed.
 22993  	// This field must specify a secondary virtual machine that is part of the fault
 22994  	// tolerant group that this virtual machine is currently associated with. It can
 22995  	// only be invoked from the primary virtual machine in the group.
 22996  	//
 22997  	// Refers instance of `VirtualMachine`.
 22998  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 22999  }
 23000  
 23001  func init() {
 23002  	t["DisableSecondaryVMRequestType"] = reflect.TypeOf((*DisableSecondaryVMRequestType)(nil)).Elem()
 23003  }
 23004  
 23005  type DisableSecondaryVM_Task DisableSecondaryVMRequestType
 23006  
 23007  func init() {
 23008  	t["DisableSecondaryVM_Task"] = reflect.TypeOf((*DisableSecondaryVM_Task)(nil)).Elem()
 23009  }
 23010  
 23011  type DisableSecondaryVM_TaskResponse struct {
 23012  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23013  }
 23014  
 23015  type DisableSmartCardAuthentication DisableSmartCardAuthenticationRequestType
 23016  
 23017  func init() {
 23018  	t["DisableSmartCardAuthentication"] = reflect.TypeOf((*DisableSmartCardAuthentication)(nil)).Elem()
 23019  }
 23020  
 23021  type DisableSmartCardAuthenticationRequestType struct {
 23022  	This ManagedObjectReference `xml:"_this" json:"-"`
 23023  }
 23024  
 23025  func init() {
 23026  	t["DisableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*DisableSmartCardAuthenticationRequestType)(nil)).Elem()
 23027  }
 23028  
 23029  type DisableSmartCardAuthenticationResponse struct {
 23030  }
 23031  
 23032  // Fault thrown if the disallowed operation is invoked by the client.
 23033  //
 23034  // The
 23035  // change is disallowed because it conflicts with target state maintained
 23036  // by a service. The corresponding method is usually not disabled because
 23037  // only a subset of changes carried out by the method is disallowed. For
 23038  // example, an online extend executed via virtual machine reconfigure
 23039  // method is not allowed if replication is enabled on a virtual machine.
 23040  type DisallowedChangeByService struct {
 23041  	RuntimeFault
 23042  
 23043  	// The service that has disallowed the change.
 23044  	ServiceName string `xml:"serviceName" json:"serviceName"`
 23045  	// The change this is not allowed, the set of possible values is
 23046  	// described in `DisallowedChangeByServiceDisallowedChange_enum`.
 23047  	DisallowedChange string `xml:"disallowedChange,omitempty" json:"disallowedChange,omitempty"`
 23048  }
 23049  
 23050  func init() {
 23051  	t["DisallowedChangeByService"] = reflect.TypeOf((*DisallowedChangeByService)(nil)).Elem()
 23052  }
 23053  
 23054  type DisallowedChangeByServiceFault DisallowedChangeByService
 23055  
 23056  func init() {
 23057  	t["DisallowedChangeByServiceFault"] = reflect.TypeOf((*DisallowedChangeByServiceFault)(nil)).Elem()
 23058  }
 23059  
 23060  // Thrown when the `VirtualMachine.ReconfigVM_Task` operation
 23061  // includes a change to the `VirtualDiskMode_enum`
 23062  // property.
 23063  //
 23064  // This property cannot be changed as long as a virtual machine
 23065  // has an existing snapshot.
 23066  type DisallowedDiskModeChange struct {
 23067  	InvalidDeviceSpec
 23068  }
 23069  
 23070  func init() {
 23071  	t["DisallowedDiskModeChange"] = reflect.TypeOf((*DisallowedDiskModeChange)(nil)).Elem()
 23072  }
 23073  
 23074  type DisallowedDiskModeChangeFault DisallowedDiskModeChange
 23075  
 23076  func init() {
 23077  	t["DisallowedDiskModeChangeFault"] = reflect.TypeOf((*DisallowedDiskModeChangeFault)(nil)).Elem()
 23078  }
 23079  
 23080  // The virtual machine is using a type of device that prevents migration.
 23081  type DisallowedMigrationDeviceAttached struct {
 23082  	MigrationFault
 23083  
 23084  	// A fault specifies the particular device issue.
 23085  	//
 23086  	// This is typically
 23087  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 23088  	// RawDiskNotSupported, RemoteDeviceNotSupported, or SharedBusControllerNotSupported
 23089  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 23090  }
 23091  
 23092  func init() {
 23093  	t["DisallowedMigrationDeviceAttached"] = reflect.TypeOf((*DisallowedMigrationDeviceAttached)(nil)).Elem()
 23094  }
 23095  
 23096  type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached
 23097  
 23098  func init() {
 23099  	t["DisallowedMigrationDeviceAttachedFault"] = reflect.TypeOf((*DisallowedMigrationDeviceAttachedFault)(nil)).Elem()
 23100  }
 23101  
 23102  // Fault thrown when an attempt is made to perform a disallowed operation on a
 23103  // host that has been configured as a failover host in an cluster that has High
 23104  // Availability enabled.
 23105  //
 23106  // See `ClusterFailoverHostAdmissionControlPolicy`.
 23107  // Examples of such operations are destroying a host, moving a host out of a cluster,
 23108  // or powering on a virtual machine on a specific host.
 23109  type DisallowedOperationOnFailoverHost struct {
 23110  	RuntimeFault
 23111  
 23112  	// The failover host.
 23113  	//
 23114  	// Refers instance of `HostSystem`.
 23115  	Host ManagedObjectReference `xml:"host" json:"host"`
 23116  	// Name of the failover host.
 23117  	Hostname string `xml:"hostname" json:"hostname"`
 23118  }
 23119  
 23120  func init() {
 23121  	t["DisallowedOperationOnFailoverHost"] = reflect.TypeOf((*DisallowedOperationOnFailoverHost)(nil)).Elem()
 23122  }
 23123  
 23124  type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost
 23125  
 23126  func init() {
 23127  	t["DisallowedOperationOnFailoverHostFault"] = reflect.TypeOf((*DisallowedOperationOnFailoverHostFault)(nil)).Elem()
 23128  }
 23129  
 23130  type DisconnectHostRequestType struct {
 23131  	This ManagedObjectReference `xml:"_this" json:"-"`
 23132  }
 23133  
 23134  func init() {
 23135  	t["DisconnectHostRequestType"] = reflect.TypeOf((*DisconnectHostRequestType)(nil)).Elem()
 23136  }
 23137  
 23138  type DisconnectHost_Task DisconnectHostRequestType
 23139  
 23140  func init() {
 23141  	t["DisconnectHost_Task"] = reflect.TypeOf((*DisconnectHost_Task)(nil)).Elem()
 23142  }
 23143  
 23144  type DisconnectHost_TaskResponse struct {
 23145  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23146  }
 23147  
 23148  type DisconnectNvmeController DisconnectNvmeControllerRequestType
 23149  
 23150  func init() {
 23151  	t["DisconnectNvmeController"] = reflect.TypeOf((*DisconnectNvmeController)(nil)).Elem()
 23152  }
 23153  
 23154  // The parameters of `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 23155  type DisconnectNvmeControllerExRequestType struct {
 23156  	This ManagedObjectReference `xml:"_this" json:"-"`
 23157  	// A list of data objects, each specifying the parameters
 23158  	// necessary to disconnect an NVMe controller.
 23159  	DisconnectSpec []HostNvmeDisconnectSpec `xml:"disconnectSpec,omitempty" json:"disconnectSpec,omitempty"`
 23160  }
 23161  
 23162  func init() {
 23163  	t["DisconnectNvmeControllerExRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerExRequestType)(nil)).Elem()
 23164  	minAPIVersionForType["DisconnectNvmeControllerExRequestType"] = "7.0.3.0"
 23165  }
 23166  
 23167  type DisconnectNvmeControllerEx_Task DisconnectNvmeControllerExRequestType
 23168  
 23169  func init() {
 23170  	t["DisconnectNvmeControllerEx_Task"] = reflect.TypeOf((*DisconnectNvmeControllerEx_Task)(nil)).Elem()
 23171  }
 23172  
 23173  type DisconnectNvmeControllerEx_TaskResponse struct {
 23174  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 23175  }
 23176  
 23177  // The parameters of `HostStorageSystem.DisconnectNvmeController`.
 23178  type DisconnectNvmeControllerRequestType struct {
 23179  	This ManagedObjectReference `xml:"_this" json:"-"`
 23180  	// A data object that specifies the parameters
 23181  	// necessary to perform the disconnection.
 23182  	DisconnectSpec HostNvmeDisconnectSpec `xml:"disconnectSpec" json:"disconnectSpec"`
 23183  }
 23184  
 23185  func init() {
 23186  	t["DisconnectNvmeControllerRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerRequestType)(nil)).Elem()
 23187  }
 23188  
 23189  type DisconnectNvmeControllerResponse struct {
 23190  }
 23191  
 23192  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or to
 23193  // select a less-featureful EVC mode for a cluster where EVC is already enabled,
 23194  // has failed because the cluster contains one or more disconnected hosts.
 23195  type DisconnectedHostsBlockingEVC struct {
 23196  	EVCConfigFault
 23197  }
 23198  
 23199  func init() {
 23200  	t["DisconnectedHostsBlockingEVC"] = reflect.TypeOf((*DisconnectedHostsBlockingEVC)(nil)).Elem()
 23201  }
 23202  
 23203  type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC
 23204  
 23205  func init() {
 23206  	t["DisconnectedHostsBlockingEVCFault"] = reflect.TypeOf((*DisconnectedHostsBlockingEVCFault)(nil)).Elem()
 23207  }
 23208  
 23209  type DiscoverFcoeHbas DiscoverFcoeHbasRequestType
 23210  
 23211  func init() {
 23212  	t["DiscoverFcoeHbas"] = reflect.TypeOf((*DiscoverFcoeHbas)(nil)).Elem()
 23213  }
 23214  
 23215  // The parameters of `HostStorageSystem.DiscoverFcoeHbas`.
 23216  type DiscoverFcoeHbasRequestType struct {
 23217  	This     ManagedObjectReference      `xml:"_this" json:"-"`
 23218  	FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec" json:"fcoeSpec"`
 23219  }
 23220  
 23221  func init() {
 23222  	t["DiscoverFcoeHbasRequestType"] = reflect.TypeOf((*DiscoverFcoeHbasRequestType)(nil)).Elem()
 23223  }
 23224  
 23225  type DiscoverFcoeHbasResponse struct {
 23226  }
 23227  
 23228  type DiscoverNvmeControllers DiscoverNvmeControllersRequestType
 23229  
 23230  func init() {
 23231  	t["DiscoverNvmeControllers"] = reflect.TypeOf((*DiscoverNvmeControllers)(nil)).Elem()
 23232  }
 23233  
 23234  // The parameters of `HostStorageSystem.DiscoverNvmeControllers`.
 23235  type DiscoverNvmeControllersRequestType struct {
 23236  	This ManagedObjectReference `xml:"_this" json:"-"`
 23237  	// A data object that specifies the parameters
 23238  	// necessary to retrieve the Discovery Log.
 23239  	DiscoverSpec HostNvmeDiscoverSpec `xml:"discoverSpec" json:"discoverSpec"`
 23240  }
 23241  
 23242  func init() {
 23243  	t["DiscoverNvmeControllersRequestType"] = reflect.TypeOf((*DiscoverNvmeControllersRequestType)(nil)).Elem()
 23244  }
 23245  
 23246  type DiscoverNvmeControllersResponse struct {
 23247  	Returnval HostNvmeDiscoveryLog `xml:"returnval" json:"returnval"`
 23248  }
 23249  
 23250  // An area of the disk flagged as modified
 23251  type DiskChangeExtent struct {
 23252  	DynamicData
 23253  
 23254  	// Start offset (in bytes) of modified area
 23255  	Start int64 `xml:"start" json:"start"`
 23256  	// Length (in bytes) of modified area
 23257  	Length int64 `xml:"length" json:"length"`
 23258  }
 23259  
 23260  func init() {
 23261  	t["DiskChangeExtent"] = reflect.TypeOf((*DiskChangeExtent)(nil)).Elem()
 23262  }
 23263  
 23264  // Data structure to describe areas in a disk associated with this VM that have
 23265  // been modified since a well-defined point in the past.
 23266  //
 23267  // Returned by
 23268  // `VirtualMachine.QueryChangedDiskAreas`. This data structure describes
 23269  // a subset of the disk identified by startOffset and length. All areas that
 23270  // have been modified within this interval are listed under changedArea.
 23271  type DiskChangeInfo struct {
 23272  	DynamicData
 23273  
 23274  	// Start offset (in bytes) of disk area described by this data structure.
 23275  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 23276  	// Length (in bytes) of disk area described by this data structure.
 23277  	Length int64 `xml:"length" json:"length"`
 23278  	// Modified disk areas.
 23279  	//
 23280  	// Might be empty if no parts of the disk between
 23281  	// startOffset and startOffset + length were modified.
 23282  	ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty" json:"changedArea,omitempty"`
 23283  }
 23284  
 23285  func init() {
 23286  	t["DiskChangeInfo"] = reflect.TypeOf((*DiskChangeInfo)(nil)).Elem()
 23287  }
 23288  
 23289  // This data object type contains the crypto information of all disks along
 23290  // the chain
 23291  type DiskCryptoSpec struct {
 23292  	DynamicData
 23293  
 23294  	// The parent in the chain.
 23295  	Parent *DiskCryptoSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 23296  	// Crypto information of the current disk.
 23297  	Crypto BaseCryptoSpec `xml:"crypto,typeattr" json:"crypto"`
 23298  }
 23299  
 23300  func init() {
 23301  	t["DiskCryptoSpec"] = reflect.TypeOf((*DiskCryptoSpec)(nil)).Elem()
 23302  }
 23303  
 23304  // Fault used for disks which have existing, non-VSAN partitions.
 23305  //
 23306  // See also `HostStorageSystem.UpdateDiskPartitions`, `HostVsanSystem.QueryDisksForVsan`.
 23307  type DiskHasPartitions struct {
 23308  	VsanDiskFault
 23309  }
 23310  
 23311  func init() {
 23312  	t["DiskHasPartitions"] = reflect.TypeOf((*DiskHasPartitions)(nil)).Elem()
 23313  }
 23314  
 23315  type DiskHasPartitionsFault DiskHasPartitions
 23316  
 23317  func init() {
 23318  	t["DiskHasPartitionsFault"] = reflect.TypeOf((*DiskHasPartitionsFault)(nil)).Elem()
 23319  }
 23320  
 23321  // Fault thrown for the case that an attempt is made to delete the last
 23322  // `VsanHostDiskMapping.nonSsd` from a `VsanHostDiskMapping`.
 23323  //
 23324  // See also `HostVsanSystem.RemoveDisk_Task`, `HostVsanSystem.RemoveDiskMapping_Task`.
 23325  type DiskIsLastRemainingNonSSD struct {
 23326  	VsanDiskFault
 23327  }
 23328  
 23329  func init() {
 23330  	t["DiskIsLastRemainingNonSSD"] = reflect.TypeOf((*DiskIsLastRemainingNonSSD)(nil)).Elem()
 23331  }
 23332  
 23333  type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD
 23334  
 23335  func init() {
 23336  	t["DiskIsLastRemainingNonSSDFault"] = reflect.TypeOf((*DiskIsLastRemainingNonSSDFault)(nil)).Elem()
 23337  }
 23338  
 23339  // Fault used for disks which are ineligible for VSAN because they are
 23340  // considered non-local.
 23341  //
 23342  // See also `HostVsanSystem.QueryDisksForVsan`.
 23343  type DiskIsNonLocal struct {
 23344  	VsanDiskFault
 23345  }
 23346  
 23347  func init() {
 23348  	t["DiskIsNonLocal"] = reflect.TypeOf((*DiskIsNonLocal)(nil)).Elem()
 23349  }
 23350  
 23351  type DiskIsNonLocalFault DiskIsNonLocal
 23352  
 23353  func init() {
 23354  	t["DiskIsNonLocalFault"] = reflect.TypeOf((*DiskIsNonLocalFault)(nil)).Elem()
 23355  }
 23356  
 23357  // Fault used for disks which are ineligible for VSAN because they are USB
 23358  // disks.
 23359  //
 23360  // See also `HostVsanSystem.QueryDisksForVsan`.
 23361  type DiskIsUSB struct {
 23362  	VsanDiskFault
 23363  }
 23364  
 23365  func init() {
 23366  	t["DiskIsUSB"] = reflect.TypeOf((*DiskIsUSB)(nil)).Elem()
 23367  }
 23368  
 23369  type DiskIsUSBFault DiskIsUSB
 23370  
 23371  func init() {
 23372  	t["DiskIsUSBFault"] = reflect.TypeOf((*DiskIsUSBFault)(nil)).Elem()
 23373  }
 23374  
 23375  // Specifying non-standard disk movement types is not supported.
 23376  //
 23377  // See also `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 23378  type DiskMoveTypeNotSupported struct {
 23379  	MigrationFault
 23380  }
 23381  
 23382  func init() {
 23383  	t["DiskMoveTypeNotSupported"] = reflect.TypeOf((*DiskMoveTypeNotSupported)(nil)).Elem()
 23384  }
 23385  
 23386  type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported
 23387  
 23388  func init() {
 23389  	t["DiskMoveTypeNotSupportedFault"] = reflect.TypeOf((*DiskMoveTypeNotSupportedFault)(nil)).Elem()
 23390  }
 23391  
 23392  // The host does not support the backings for the disks specified by the virtual
 23393  // machine.
 23394  //
 23395  // For example, this fault is thrown if a virtual machine is created from
 23396  // a template that specifies backings that the host does not have. Similarly, this fault
 23397  // is thrown if a virtual machine is registered on a host that does not support the
 23398  // specified backings.
 23399  type DiskNotSupported struct {
 23400  	VirtualHardwareCompatibilityIssue
 23401  
 23402  	// The ID of disk that is not supported.
 23403  	Disk int32 `xml:"disk" json:"disk"`
 23404  }
 23405  
 23406  func init() {
 23407  	t["DiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem()
 23408  }
 23409  
 23410  type DiskNotSupportedFault BaseDiskNotSupported
 23411  
 23412  func init() {
 23413  	t["DiskNotSupportedFault"] = reflect.TypeOf((*DiskNotSupportedFault)(nil)).Elem()
 23414  }
 23415  
 23416  // Fault used for disks which are too small for usage by VSAN.
 23417  type DiskTooSmall struct {
 23418  	VsanDiskFault
 23419  }
 23420  
 23421  func init() {
 23422  	t["DiskTooSmall"] = reflect.TypeOf((*DiskTooSmall)(nil)).Elem()
 23423  }
 23424  
 23425  type DiskTooSmallFault DiskTooSmall
 23426  
 23427  func init() {
 23428  	t["DiskTooSmallFault"] = reflect.TypeOf((*DiskTooSmallFault)(nil)).Elem()
 23429  }
 23430  
 23431  type DissociateProfile DissociateProfileRequestType
 23432  
 23433  func init() {
 23434  	t["DissociateProfile"] = reflect.TypeOf((*DissociateProfile)(nil)).Elem()
 23435  }
 23436  
 23437  // The parameters of `Profile.DissociateProfile`.
 23438  type DissociateProfileRequestType struct {
 23439  	This ManagedObjectReference `xml:"_this" json:"-"`
 23440  	// List of entities. The vCenter Server will remove the associations
 23441  	// that the profile has with the entities in the list. If unset,
 23442  	// the Server removes all the associations that the profile has with any
 23443  	// managed entities in the inventory.
 23444  	// If the specified entity is not associated with the profile,
 23445  	// the Server does not perform any action.
 23446  	//
 23447  	// Refers instances of `ManagedEntity`.
 23448  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 23449  }
 23450  
 23451  func init() {
 23452  	t["DissociateProfileRequestType"] = reflect.TypeOf((*DissociateProfileRequestType)(nil)).Elem()
 23453  }
 23454  
 23455  type DissociateProfileResponse struct {
 23456  }
 23457  
 23458  // The `DistributedVirtualPort` data object represents a port in a
 23459  // `DistributedVirtualSwitch`.
 23460  //
 23461  // Virtual ports are part of a distributed
 23462  // virtual portgroup. Servers create virtual ports according to the portgroup type
 23463  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
 23464  // See `DistributedVirtualPortgroupPortgroupType_enum`.
 23465  //   - To configure host network access by port, set the distributed virtual port
 23466  //     in the host virtual NIC specification
 23467  //     (`HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*.*DistributedVirtualSwitchPortConnection.portKey`).
 23468  //   - To configure virtual machine network access by port, set the port
 23469  //     in the virtual Ethernet card backing
 23470  //     (`VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portKey`).
 23471  type DistributedVirtualPort struct {
 23472  	DynamicData
 23473  
 23474  	// Port key.
 23475  	Key string `xml:"key" json:"key"`
 23476  	// Port configuration, including identifying information, network
 23477  	// settings, and the set of entities that can connect to the port.
 23478  	Config DVPortConfigInfo `xml:"config" json:"config"`
 23479  	// UUID of the `DistributedVirtualSwitch` to which the port belongs.
 23480  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 23481  	// Key of the portgroup `DistributedVirtualPortgroup` to which
 23482  	// the port belongs, if any.
 23483  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 23484  	// `HostSystem` that services this port.
 23485  	//
 23486  	// Refers instance of `HostSystem`.
 23487  	ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty" json:"proxyHost,omitempty"`
 23488  	// Entity that connects to the port.
 23489  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 23490  	// Specifies whether the port is a conflict port.
 23491  	//
 23492  	// A port could be marked
 23493  	// as conflict if an entity is discovered connecting to a port that is
 23494  	// already occupied, or if the host creates a port without conferring
 23495  	// with vCenter Server.
 23496  	//
 23497  	// The distributed virtual switch does not persist the runtime state
 23498  	// of a conflict port. Also, the port cannot move away from the host.
 23499  	// vCenter Server will not move a virtual machine (VMotion) that is
 23500  	// using a conflict port.
 23501  	Conflict bool `xml:"conflict" json:"conflict"`
 23502  	// If the port is marked conflict in the case of two entities connecting to
 23503  	// the same port (see
 23504  	// `DistributedVirtualPort.conflict`), this is the
 23505  	// key of the port which the connected entity is contending for.
 23506  	ConflictPortKey string `xml:"conflictPortKey,omitempty" json:"conflictPortKey,omitempty"`
 23507  	// Runtime state of the port.
 23508  	State *DVPortState `xml:"state,omitempty" json:"state,omitempty"`
 23509  	// Cookie representing the current instance of association between a
 23510  	// port and a virtual or physical NIC.
 23511  	//
 23512  	// See `DistributedVirtualSwitchPortConnection`.
 23513  	// The same cookie is present in the physical or virtual NIC configuration
 23514  	// (`DistributedVirtualSwitchPortConnection*.*DistributedVirtualSwitchPortConnection.connectionCookie`)
 23515  	// so that the Server can verify that the entity is the rightful
 23516  	// connectee of the port.
 23517  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 23518  	// The last time the
 23519  	// `DistributedVirtualPort.state*.*DVPortState.runtimeInfo`
 23520  	// value was changed.
 23521  	LastStatusChange time.Time `xml:"lastStatusChange" json:"lastStatusChange"`
 23522  	// Specifies whether the port is a host local port.
 23523  	//
 23524  	// A host local port is created
 23525  	// to resurrect the management network connection on a VMkernel virtual NIC.
 23526  	// You cannot use vCenter Server to reconfigure this port and you cannot
 23527  	// reassign the port.
 23528  	HostLocalPort *bool `xml:"hostLocalPort" json:"hostLocalPort,omitempty"`
 23529  	// Populate the Id assigned to vmknic or vnic by external management plane
 23530  	// to port, if the port is connected to the nics.
 23531  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 23532  	// Populate the segmentPortId assigned to LSP.
 23533  	SegmentPortId string `xml:"segmentPortId,omitempty" json:"segmentPortId,omitempty"`
 23534  }
 23535  
 23536  func init() {
 23537  	t["DistributedVirtualPort"] = reflect.TypeOf((*DistributedVirtualPort)(nil)).Elem()
 23538  }
 23539  
 23540  // This class describes a DistributedVirtualPortgroup that a device backing
 23541  // can be attached to.
 23542  type DistributedVirtualPortgroupInfo struct {
 23543  	DynamicData
 23544  
 23545  	// The name of the switch.
 23546  	SwitchName string `xml:"switchName" json:"switchName"`
 23547  	// The UUID of the switch.
 23548  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 23549  	// The name of the portgroup.
 23550  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 23551  	// The key of the portgroup.
 23552  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 23553  	// The type of portgroup.
 23554  	//
 23555  	// See `DistributedVirtualPortgroupPortgroupType_enum`
 23556  	PortgroupType string `xml:"portgroupType" json:"portgroupType"`
 23557  	// Whether this portgroup is an uplink portgroup.
 23558  	UplinkPortgroup bool `xml:"uplinkPortgroup" json:"uplinkPortgroup"`
 23559  	// The portgroup.
 23560  	//
 23561  	// Refers instance of `DistributedVirtualPortgroup`.
 23562  	Portgroup ManagedObjectReference `xml:"portgroup" json:"portgroup"`
 23563  	// Indicates whether network bandwidth reservation is supported on
 23564  	// the portgroup
 23565  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 23566  	// Backing type of portgroup.
 23567  	//
 23568  	// See
 23569  	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
 23570  	// for possible values.
 23571  	// The default value is "standard".
 23572  	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 23573  	// The logical switch UUID, which is used by NSX portgroup
 23574  	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty"`
 23575  	// The segment ID of logical switch, which is used by NSX portroup
 23576  	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty"`
 23577  }
 23578  
 23579  func init() {
 23580  	t["DistributedVirtualPortgroupInfo"] = reflect.TypeOf((*DistributedVirtualPortgroupInfo)(nil)).Elem()
 23581  }
 23582  
 23583  // The `DistributedVirtualPortgroupNsxPortgroupOperationResult`
 23584  // data object defines the result of NSX port group operations, including
 23585  // create, reconfigure and delete.
 23586  type DistributedVirtualPortgroupNsxPortgroupOperationResult struct {
 23587  	DynamicData
 23588  
 23589  	// The management object of NSX port group.
 23590  	//
 23591  	// For add operation, it indicates the port groups created successfully.
 23592  	// For reconfigure operation, it indicates the port groups updated
 23593  	// successfully.
 23594  	// For delete operation, it indicates the port groups failed deleted.
 23595  	//
 23596  	// Refers instances of `DistributedVirtualPortgroup`.
 23597  	Portgroups []ManagedObjectReference `xml:"portgroups,omitempty" json:"portgroups,omitempty"`
 23598  	// The failed port group operation details.
 23599  	Problems []DistributedVirtualPortgroupProblem `xml:"problems,omitempty" json:"problems,omitempty"`
 23600  }
 23601  
 23602  func init() {
 23603  	t["DistributedVirtualPortgroupNsxPortgroupOperationResult"] = reflect.TypeOf((*DistributedVirtualPortgroupNsxPortgroupOperationResult)(nil)).Elem()
 23604  }
 23605  
 23606  // The `DistributedVirtualPortgroupProblem`
 23607  // data object defines the error while excuting NSX port group operations.
 23608  type DistributedVirtualPortgroupProblem struct {
 23609  	DynamicData
 23610  
 23611  	// The problematic logical switch UUID
 23612  	LogicalSwitchUuid string `xml:"logicalSwitchUuid" json:"logicalSwitchUuid"`
 23613  	// The failure reason for each problematic logical switch UUID
 23614  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 23615  }
 23616  
 23617  func init() {
 23618  	t["DistributedVirtualPortgroupProblem"] = reflect.TypeOf((*DistributedVirtualPortgroupProblem)(nil)).Elem()
 23619  }
 23620  
 23621  // The `DistributedVirtualSwitchHostMember` data object represents an ESXi host that
 23622  // is a member of a distributed virtual switch.
 23623  //
 23624  // When you add a host to a switch
 23625  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 23626  // the Server creates a proxy switch (`HostProxySwitch`).
 23627  // The host member object contains information about the configuration
 23628  // and state of the proxy.
 23629  type DistributedVirtualSwitchHostMember struct {
 23630  	DynamicData
 23631  
 23632  	// Host member runtime state.
 23633  	RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty" json:"runtimeState,omitempty"`
 23634  	// Host member configuration.
 23635  	Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config" json:"config"`
 23636  	// Vendor, product and version information for the proxy switch
 23637  	// module.
 23638  	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 23639  	// Port keys of the uplink ports created for the host member.
 23640  	//
 23641  	// These ports
 23642  	// will be deleted after the host leaves the switch.
 23643  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 23644  	// Deprecated as of vSphere API 5.1, use
 23645  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.status` instead.
 23646  	//
 23647  	// The host DistributedVirtualSwitch component status.
 23648  	//
 23649  	// See
 23650  	// `HostComponentState` for valid values.
 23651  	Status string `xml:"status" json:"status"`
 23652  	// Deprecated as of vSphere API 5.1, use
 23653  	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.statusDetail` instead.
 23654  	//
 23655  	// Additional information regarding the host's current status.
 23656  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 23657  }
 23658  
 23659  func init() {
 23660  	t["DistributedVirtualSwitchHostMember"] = reflect.TypeOf((*DistributedVirtualSwitchHostMember)(nil)).Elem()
 23661  }
 23662  
 23663  // Base class.
 23664  type DistributedVirtualSwitchHostMemberBacking struct {
 23665  	DynamicData
 23666  }
 23667  
 23668  func init() {
 23669  	t["DistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem()
 23670  }
 23671  
 23672  // The `DistributedVirtualSwitchHostMemberConfigInfo` data object
 23673  // contains membership configuration information for the ESXi host.
 23674  type DistributedVirtualSwitchHostMemberConfigInfo struct {
 23675  	DynamicData
 23676  
 23677  	// ESXi host.
 23678  	//
 23679  	// This property should always be set unless the user's setting
 23680  	// does not have System.Read privilege on the object referred to
 23681  	// by this property.
 23682  	//
 23683  	// Refers instance of `HostSystem`.
 23684  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 23685  	// Maximum number of ports than can be created in the proxy switch.
 23686  	//
 23687  	// _ESXi 5.0 and earlier hosts_:
 23688  	// If you change the maximum number of ports, you must reboot
 23689  	// the host for the new value to take effect.
 23690  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts" json:"maxProxySwitchPorts"`
 23691  	// Opaque binary blob that stores vendor specific configuration.
 23692  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 23693  	// Host membership backing, specifying physical NIC, portgroup, and port
 23694  	// bindings for the proxy switch.
 23695  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr" json:"backing"`
 23696  	// Indicate whether the proxy switch is used by NSX on this particular
 23697  	// host member of the VDS.
 23698  	NsxSwitch *bool `xml:"nsxSwitch" json:"nsxSwitch,omitempty"`
 23699  	// Indicate if ENS is enabled for this particular host member of
 23700  	// the VDS.
 23701  	//
 23702  	// It is read only.
 23703  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty"`
 23704  	// Indicate if ENS interrupt mode is enabled for this particular host
 23705  	// member of the VDS.
 23706  	//
 23707  	// It is read only.
 23708  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 23709  	// Indicate which transport zones this host joins by this VDS.
 23710  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty"`
 23711  	// Indicate which uplink ports are used by NSX-T.
 23712  	NsxtUsedUplinkNames []string `xml:"nsxtUsedUplinkNames,omitempty" json:"nsxtUsedUplinkNames,omitempty"`
 23713  	// Indicate if network offloading is enabled for this particular host
 23714  	// member of the VDS.
 23715  	//
 23716  	// Unset implies that network offloading is disabled.
 23717  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 23718  }
 23719  
 23720  func init() {
 23721  	t["DistributedVirtualSwitchHostMemberConfigInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigInfo)(nil)).Elem()
 23722  }
 23723  
 23724  // Specification to create or reconfigure ESXi host membership
 23725  // in a `DistributedVirtualSwitch`.
 23726  type DistributedVirtualSwitchHostMemberConfigSpec struct {
 23727  	DynamicData
 23728  
 23729  	// Host member operation type.
 23730  	//
 23731  	// See
 23732  	// `ConfigSpecOperation_enum` for valid values.
 23733  	Operation string `xml:"operation" json:"operation"`
 23734  	// Identifies a host member of a `DistributedVirtualSwitch`
 23735  	// for a `Folder.CreateDVS_Task` or
 23736  	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task` operation.
 23737  	//
 23738  	// Refers instance of `HostSystem`.
 23739  	Host ManagedObjectReference `xml:"host" json:"host"`
 23740  	// Specifies the physical NICs to use as backing for the proxy switch
 23741  	// on the host.
 23742  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 23743  	// Maximum number of ports allowed in the `HostProxySwitch`.
 23744  	//
 23745  	// _ESXi 5.0 and earlier hosts_: If you are reconfiguring an existing
 23746  	// host membership, that is, the proxy switch already exists, you must reboot
 23747  	// the host for the new setting to take effect.
 23748  	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty" json:"maxProxySwitchPorts,omitempty"`
 23749  	// Opaque binary blob that stores vendor specific configuration.
 23750  	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
 23751  }
 23752  
 23753  func init() {
 23754  	t["DistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem()
 23755  }
 23756  
 23757  // The runtime state of uplink on the host.
 23758  type DistributedVirtualSwitchHostMemberHostUplinkState struct {
 23759  	DynamicData
 23760  
 23761  	// Name of the uplink.
 23762  	UplinkName string `xml:"uplinkName" json:"uplinkName"`
 23763  	// The runtime state of the uplink.
 23764  	//
 23765  	// See `DistributedVirtualSwitchHostMemberHostUplinkStateState_enum` for supported values.
 23766  	State string `xml:"state" json:"state"`
 23767  }
 23768  
 23769  func init() {
 23770  	t["DistributedVirtualSwitchHostMemberHostUplinkState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostUplinkState)(nil)).Elem()
 23771  	minAPIVersionForType["DistributedVirtualSwitchHostMemberHostUplinkState"] = "8.0.3.0"
 23772  }
 23773  
 23774  // The `DistributedVirtualSwitchHostMemberPnicBacking` data object
 23775  // specifies a set of physical NICs to use for a proxy switch.
 23776  //
 23777  // When you add a host to a distributed virtual switch
 23778  // (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`),
 23779  // the host creates a proxy switch that will use the pNICs as uplinks.
 23780  type DistributedVirtualSwitchHostMemberPnicBacking struct {
 23781  	DistributedVirtualSwitchHostMemberBacking
 23782  
 23783  	// List of physical NIC specifications.
 23784  	//
 23785  	// Each entry identifies
 23786  	// a pNIC to the proxy switch and optionally specifies uplink
 23787  	// portgroup and port connections for the pNIC.
 23788  	PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty" json:"pnicSpec,omitempty"`
 23789  }
 23790  
 23791  func init() {
 23792  	t["DistributedVirtualSwitchHostMemberPnicBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicBacking)(nil)).Elem()
 23793  }
 23794  
 23795  // Specification for an individual physical NIC.
 23796  type DistributedVirtualSwitchHostMemberPnicSpec struct {
 23797  	DynamicData
 23798  
 23799  	// Name of the physical NIC to be added to the proxy switch.
 23800  	//
 23801  	// See `PhysicalNic*.*PhysicalNic.device`.
 23802  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 23803  	// Key of the port to be connected to the physical NIC.
 23804  	UplinkPortKey string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 23805  	// Key of the portgroup to be connected to the physical NIC.
 23806  	UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty" json:"uplinkPortgroupKey,omitempty"`
 23807  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 23808  	// instance for the port.
 23809  	//
 23810  	// The cookie value is generated by the
 23811  	// Server. The Server ignores any value set by an SDK client.
 23812  	//
 23813  	// The same cookie is present in the distributed virtual port configuration
 23814  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 23815  	// so that the Server can verify that the entity is the rightful
 23816  	// connectee of the port.
 23817  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 23818  }
 23819  
 23820  func init() {
 23821  	t["DistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem()
 23822  }
 23823  
 23824  // Runtime state of a host member.
 23825  type DistributedVirtualSwitchHostMemberRuntimeState struct {
 23826  	DynamicData
 23827  
 23828  	// Current maximum number of ports allowed to be created in the
 23829  	// proxy switch.
 23830  	CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts" json:"currentMaxProxySwitchPorts"`
 23831  }
 23832  
 23833  func init() {
 23834  	t["DistributedVirtualSwitchHostMemberRuntimeState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberRuntimeState)(nil)).Elem()
 23835  }
 23836  
 23837  // Transport zone information.
 23838  type DistributedVirtualSwitchHostMemberTransportZoneInfo struct {
 23839  	DynamicData
 23840  
 23841  	// The UUID of transport zone.
 23842  	Uuid string `xml:"uuid" json:"uuid"`
 23843  	// The type of transport zone.
 23844  	//
 23845  	// See `DistributedVirtualSwitchHostMemberTransportZoneType_enum` for valid values.
 23846  	Type string `xml:"type" json:"type"`
 23847  }
 23848  
 23849  func init() {
 23850  	t["DistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem()
 23851  }
 23852  
 23853  // This data object type is a subset of `AboutInfo`.
 23854  //
 23855  // An object of
 23856  // this type can be used to describe the specification for a host.
 23857  type DistributedVirtualSwitchHostProductSpec struct {
 23858  	DynamicData
 23859  
 23860  	// The product-line name.
 23861  	ProductLineId string `xml:"productLineId,omitempty" json:"productLineId,omitempty"`
 23862  	// Dot-separated version string.
 23863  	//
 23864  	// For example, "1.2".
 23865  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 23866  }
 23867  
 23868  func init() {
 23869  	t["DistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostProductSpec)(nil)).Elem()
 23870  }
 23871  
 23872  // This class describes a DistributedVirtualSwitch that a device backing
 23873  // can attached to its ports.
 23874  type DistributedVirtualSwitchInfo struct {
 23875  	DynamicData
 23876  
 23877  	// The name of the switch.
 23878  	SwitchName string `xml:"switchName" json:"switchName"`
 23879  	// The UUID of the switch.
 23880  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 23881  	// The switch.
 23882  	//
 23883  	// Refers instance of `DistributedVirtualSwitch`.
 23884  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 23885  	// Indicates whether network bandwidth reservation is supported on
 23886  	// the switch
 23887  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 23888  }
 23889  
 23890  func init() {
 23891  	t["DistributedVirtualSwitchInfo"] = reflect.TypeOf((*DistributedVirtualSwitchInfo)(nil)).Elem()
 23892  }
 23893  
 23894  // This class defines a data structure to hold opaque binary data
 23895  // identified by a key.
 23896  type DistributedVirtualSwitchKeyedOpaqueBlob struct {
 23897  	DynamicData
 23898  
 23899  	// A key that identifies the opaque binary blob.
 23900  	Key string `xml:"key" json:"key"`
 23901  	// The opaque data.
 23902  	//
 23903  	// It is recommended that base64 encoding be used for binary
 23904  	// data.
 23905  	OpaqueData string `xml:"opaqueData" json:"opaqueData"`
 23906  }
 23907  
 23908  func init() {
 23909  	t["DistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*DistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem()
 23910  }
 23911  
 23912  // This is the return type for the checkCompatibility method.
 23913  //
 23914  // This object
 23915  // has a host property and optionally a fault which would
 23916  // be populated only if that host is not compatible with a given dvsProductSpec.
 23917  // If the host is compatible then the error property would be unset.
 23918  type DistributedVirtualSwitchManagerCompatibilityResult struct {
 23919  	DynamicData
 23920  
 23921  	// The host for which results are annotated.
 23922  	//
 23923  	// The whole object will be
 23924  	// filtered out if the caller did not have view permissions on the
 23925  	// host entity.
 23926  	//
 23927  	// Refers instance of `HostSystem`.
 23928  	Host ManagedObjectReference `xml:"host" json:"host"`
 23929  	// This property contains the faults that makes the host not compatible
 23930  	// with a given DvsProductSpec.
 23931  	//
 23932  	// For example, a host might not be compatible
 23933  	// because it's an older version of ESX that doesn't support DVS.
 23934  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 23935  }
 23936  
 23937  func init() {
 23938  	t["DistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem()
 23939  }
 23940  
 23941  // This class is used to specify ProductSpec for the DVS.
 23942  //
 23943  // The two properties are
 23944  // strictly mutually exclusive. If both properties are set, then
 23945  // an InvalidArgument fault would be thrown.
 23946  type DistributedVirtualSwitchManagerDvsProductSpec struct {
 23947  	DynamicData
 23948  
 23949  	// The ProductSpec for new DVS
 23950  	NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty" json:"newSwitchProductSpec,omitempty"`
 23951  	// Get ProductSpec from the existing DVS
 23952  	//
 23953  	// Refers instance of `DistributedVirtualSwitch`.
 23954  	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 23955  }
 23956  
 23957  func init() {
 23958  	t["DistributedVirtualSwitchManagerDvsProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerDvsProductSpec)(nil)).Elem()
 23959  }
 23960  
 23961  // Check host compatibility against all hosts specified in the array.
 23962  type DistributedVirtualSwitchManagerHostArrayFilter struct {
 23963  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 23964  
 23965  	// List of hosts to consider.
 23966  	//
 23967  	// Refers instances of `HostSystem`.
 23968  	Host []ManagedObjectReference `xml:"host" json:"host"`
 23969  }
 23970  
 23971  func init() {
 23972  	t["DistributedVirtualSwitchManagerHostArrayFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostArrayFilter)(nil)).Elem()
 23973  }
 23974  
 23975  // Check host compatibility for all hosts in the container.
 23976  //
 23977  // If the recursive
 23978  // flag is true, then check hosts at all levels within this container, otherwise
 23979  // check only at the container level. In case of container being a `Datacenter`,
 23980  // the recursive flag is applied to its HostFolder.
 23981  type DistributedVirtualSwitchManagerHostContainer struct {
 23982  	DynamicData
 23983  
 23984  	// Check compatibility of hosts in this container.
 23985  	//
 23986  	// The supported container
 23987  	// types are Datacenter, Folder, and ComputeResource.
 23988  	//
 23989  	// Refers instance of `ManagedEntity`.
 23990  	Container ManagedObjectReference `xml:"container" json:"container"`
 23991  	// If true, include hosts of all levels in the hierarchy with
 23992  	// container as root of the tree.
 23993  	//
 23994  	// In case of container being a `Datacenter`,
 23995  	// the recursive flag is applied to its HostFolder.
 23996  	Recursive bool `xml:"recursive" json:"recursive"`
 23997  }
 23998  
 23999  func init() {
 24000  	t["DistributedVirtualSwitchManagerHostContainer"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainer)(nil)).Elem()
 24001  }
 24002  
 24003  // Check host compatibility against all hosts in this
 24004  // `DistributedVirtualSwitchManagerHostContainer`
 24005  type DistributedVirtualSwitchManagerHostContainerFilter struct {
 24006  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 24007  
 24008  	// Container of hosts that are part of the filter.
 24009  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 24010  }
 24011  
 24012  func init() {
 24013  	t["DistributedVirtualSwitchManagerHostContainerFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainerFilter)(nil)).Elem()
 24014  }
 24015  
 24016  // Base class for filters to check host compatibility.
 24017  type DistributedVirtualSwitchManagerHostDvsFilterSpec struct {
 24018  	DynamicData
 24019  
 24020  	// If this flag is true, then the filter returns the hosts in the
 24021  	// `DistributedVirtualSwitchManagerHostContainer`
 24022  	// that satisfy the criteria specified by this filter, otherwise
 24023  	// it returns hosts that don't meet the criteria.
 24024  	Inclusive bool `xml:"inclusive" json:"inclusive"`
 24025  }
 24026  
 24027  func init() {
 24028  	t["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem()
 24029  }
 24030  
 24031  // Check host compatibility against all hosts in the DVS (or not in the DVS if
 24032  // inclusive flag in base class is false)
 24033  type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct {
 24034  	DistributedVirtualSwitchManagerHostDvsFilterSpec
 24035  
 24036  	// Refers instance of `DistributedVirtualSwitch`.
 24037  	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
 24038  }
 24039  
 24040  func init() {
 24041  	t["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsMembershipFilter)(nil)).Elem()
 24042  }
 24043  
 24044  // The `DistributedVirtualSwitchManagerImportResult`
 24045  // data object represents the results of a
 24046  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 24047  // operation.
 24048  //
 24049  // It contains lists of the switches and portgroups
 24050  // that were created. It also contains a list of faults
 24051  // that occurred during the operation.
 24052  type DistributedVirtualSwitchManagerImportResult struct {
 24053  	DynamicData
 24054  
 24055  	// List of distributed virtual switches.
 24056  	//
 24057  	// Refers instances of `DistributedVirtualSwitch`.
 24058  	DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
 24059  	// List of distributed virtual portgroups.
 24060  	//
 24061  	// Refers instances of `DistributedVirtualPortgroup`.
 24062  	DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
 24063  	// Faults that occurred on the entities during the import operation.
 24064  	ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty" json:"importFault,omitempty"`
 24065  }
 24066  
 24067  func init() {
 24068  	t["DistributedVirtualSwitchManagerImportResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerImportResult)(nil)).Elem()
 24069  }
 24070  
 24071  // Describe the network offload specification of a
 24072  // `VmwareDistributedVirtualSwitch`.
 24073  type DistributedVirtualSwitchNetworkOffloadSpec struct {
 24074  	DynamicData
 24075  
 24076  	// Identifier of the specification.
 24077  	Id string `xml:"id" json:"id"`
 24078  	// Name of the specification.
 24079  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 24080  	// DPU types supported in the specification.
 24081  	Types []string `xml:"types,omitempty" json:"types,omitempty"`
 24082  }
 24083  
 24084  func init() {
 24085  	t["DistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem()
 24086  	minAPIVersionForType["DistributedVirtualSwitchNetworkOffloadSpec"] = "8.0.0.1"
 24087  }
 24088  
 24089  // Information about the entity that connects to a DistributedVirtualPort.
 24090  type DistributedVirtualSwitchPortConnectee struct {
 24091  	DynamicData
 24092  
 24093  	// The connected entity.
 24094  	//
 24095  	// This property should always be set unless the user's setting
 24096  	// does not have System.Read privilege on the object referred to
 24097  	// by this property.
 24098  	//
 24099  	// Refers instance of `ManagedEntity`.
 24100  	ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty" json:"connectedEntity,omitempty"`
 24101  	// The key of the virtual NIC that connects to this port.
 24102  	NicKey string `xml:"nicKey,omitempty" json:"nicKey,omitempty"`
 24103  	// The type of the connectee.
 24104  	//
 24105  	// See `ConnecteeType` for valid values.
 24106  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 24107  	// A hint on address information of the NIC that connects to this port.
 24108  	AddressHint string `xml:"addressHint,omitempty" json:"addressHint,omitempty"`
 24109  }
 24110  
 24111  func init() {
 24112  	t["DistributedVirtualSwitchPortConnectee"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnectee)(nil)).Elem()
 24113  }
 24114  
 24115  // The `DistributedVirtualSwitchPortConnection` data object represents a connection
 24116  // or association between a `DistributedVirtualPortgroup` or a
 24117  // `DistributedVirtualPort` and one of the following entities:
 24118  //   - Virtual machine virtual NIC
 24119  //     (`VirtualEthernetCardDistributedVirtualPortBackingInfo`)
 24120  //   - Host virtual NIC (`HostVirtualNic`)
 24121  //   - Physical NIC (`HostNetworkInfo*.*HostNetworkInfo.pnic`)
 24122  type DistributedVirtualSwitchPortConnection struct {
 24123  	DynamicData
 24124  
 24125  	// UUID of the switch (`DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`).
 24126  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 24127  	// Key of the portgroup.
 24128  	//
 24129  	// If specified, the connection object represents a connection
 24130  	// or an association between a `DistributedVirtualPortgroup`
 24131  	// and a Virtual NIC or physical NIC.
 24132  	// In this case, setting the `DistributedVirtualSwitchPortConnection.portKey` is not necessary for a
 24133  	// early-binding portgroup and is not allowed for a late-binding portgroup.
 24134  	// The `DistributedVirtualSwitchPortConnection.portKey` property will be populated by the implementation
 24135  	// at the time of port binding.
 24136  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24137  	// Key of the port.
 24138  	//
 24139  	// If specified, this object represents a connection
 24140  	// or an association between an individual `DistributedVirtualPort`
 24141  	// and a Virtual NIC or physical NIC. See `DistributedVirtualSwitchPortConnection.portgroupKey` for more information on populating
 24142  	// this property.
 24143  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24144  	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
 24145  	// instance for the port.
 24146  	//
 24147  	// The cookie value is generated by the
 24148  	// Server. The Server ignores any value set by an SDK client.
 24149  	//
 24150  	// The same cookie is present in the distributed virtual port configuration
 24151  	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
 24152  	// so that the Server can verify that the entity is the rightful
 24153  	// connectee of the port.
 24154  	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
 24155  }
 24156  
 24157  func init() {
 24158  	t["DistributedVirtualSwitchPortConnection"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnection)(nil)).Elem()
 24159  }
 24160  
 24161  // The criteria specification for selecting ports.
 24162  type DistributedVirtualSwitchPortCriteria struct {
 24163  	DynamicData
 24164  
 24165  	// If set, only the connected ports are qualified.
 24166  	Connected *bool `xml:"connected" json:"connected,omitempty"`
 24167  	// If set, only the active ports are qualified.
 24168  	Active *bool `xml:"active" json:"active,omitempty"`
 24169  	// If set to true, only the uplink ports are qualified.
 24170  	//
 24171  	// If set to false, only
 24172  	// non-uplink ports are qualified.
 24173  	UplinkPort *bool `xml:"uplinkPort" json:"uplinkPort,omitempty"`
 24174  	// If set to true, only the NSX ports are qualified.
 24175  	//
 24176  	// If set to false, only
 24177  	// non-NSX ports are qualified.
 24178  	// NSX ports are ports of NSX port group.
 24179  	NsxPort *bool `xml:"nsxPort" json:"nsxPort,omitempty"`
 24180  	// Deprecated as of vSphere API 5.5.
 24181  	//
 24182  	// If set, only the ports of which the scope covers the entity are
 24183  	// qualified.
 24184  	//
 24185  	// Refers instance of `ManagedEntity`.
 24186  	Scope *ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
 24187  	// The keys of the portgroup that is used for the scope of `DistributedVirtualSwitchPortCriteria.inside`.
 24188  	//
 24189  	// If this property is unset, it means any portgroup. If `DistributedVirtualSwitchPortCriteria.inside`
 24190  	// is unset, this property is ignored.
 24191  	PortgroupKey []string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 24192  	// If unset, all ports in the switch are qualified.
 24193  	//
 24194  	// If set to true, only ports inside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24195  	// portgroup, if not set, are qualified.
 24196  	// If set to false, only ports outside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
 24197  	// portgroup, if not set, are qualified.
 24198  	Inside *bool `xml:"inside" json:"inside,omitempty"`
 24199  	// If set, only the ports of which the key is in the array are
 24200  	// qualified.
 24201  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 24202  	// If set, only the ports that are present in one of the host are qualified.
 24203  	//
 24204  	// Refers instances of `HostSystem`.
 24205  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 24206  }
 24207  
 24208  func init() {
 24209  	t["DistributedVirtualSwitchPortCriteria"] = reflect.TypeOf((*DistributedVirtualSwitchPortCriteria)(nil)).Elem()
 24210  }
 24211  
 24212  // Statistic data of a DistributedVirtualPort.
 24213  type DistributedVirtualSwitchPortStatistics struct {
 24214  	DynamicData
 24215  
 24216  	// The number of multicast packets received.
 24217  	PacketsInMulticast int64 `xml:"packetsInMulticast" json:"packetsInMulticast"`
 24218  	// The number of multicast packets forwarded.
 24219  	PacketsOutMulticast int64 `xml:"packetsOutMulticast" json:"packetsOutMulticast"`
 24220  	// The number of bytes received from multicast packets.
 24221  	BytesInMulticast int64 `xml:"bytesInMulticast" json:"bytesInMulticast"`
 24222  	// The number of bytes forwarded from multicast packets.
 24223  	BytesOutMulticast int64 `xml:"bytesOutMulticast" json:"bytesOutMulticast"`
 24224  	// The number of unicast packets received.
 24225  	PacketsInUnicast int64 `xml:"packetsInUnicast" json:"packetsInUnicast"`
 24226  	// The number of unicast packets forwarded.
 24227  	PacketsOutUnicast int64 `xml:"packetsOutUnicast" json:"packetsOutUnicast"`
 24228  	// The number of bytes received from unicast packets.
 24229  	BytesInUnicast int64 `xml:"bytesInUnicast" json:"bytesInUnicast"`
 24230  	// The number of bytes forwarded from unicast packets.
 24231  	BytesOutUnicast int64 `xml:"bytesOutUnicast" json:"bytesOutUnicast"`
 24232  	// The number of broadcast packets received.
 24233  	PacketsInBroadcast int64 `xml:"packetsInBroadcast" json:"packetsInBroadcast"`
 24234  	// The number of broadcast packets forwarded.
 24235  	PacketsOutBroadcast int64 `xml:"packetsOutBroadcast" json:"packetsOutBroadcast"`
 24236  	// The number of bytes received from broadcast packets.
 24237  	BytesInBroadcast int64 `xml:"bytesInBroadcast" json:"bytesInBroadcast"`
 24238  	// The number of bytes forwarded from broadcast packets.
 24239  	BytesOutBroadcast int64 `xml:"bytesOutBroadcast" json:"bytesOutBroadcast"`
 24240  	// The number of received packets dropped.
 24241  	PacketsInDropped int64 `xml:"packetsInDropped" json:"packetsInDropped"`
 24242  	// The number of packets to be forwarded dropped.
 24243  	PacketsOutDropped int64 `xml:"packetsOutDropped" json:"packetsOutDropped"`
 24244  	// The number of packets received that cause an exception.
 24245  	PacketsInException int64 `xml:"packetsInException" json:"packetsInException"`
 24246  	// The number of packets to be forwarded that cause an exception.
 24247  	PacketsOutException int64 `xml:"packetsOutException" json:"packetsOutException"`
 24248  	// The number of bytes received at a pnic on the behalf of a port's
 24249  	// connectee (inter-host rx).
 24250  	BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty" json:"bytesInFromPnic,omitempty"`
 24251  	// The number of bytes transmitted at a pnic on the behalf of a port's
 24252  	// connectee (inter-host tx).
 24253  	BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty" json:"bytesOutToPnic,omitempty"`
 24254  }
 24255  
 24256  func init() {
 24257  	t["DistributedVirtualSwitchPortStatistics"] = reflect.TypeOf((*DistributedVirtualSwitchPortStatistics)(nil)).Elem()
 24258  }
 24259  
 24260  // This data object type is a subset of `AboutInfo`.
 24261  //
 24262  // An object of
 24263  // this type can be used to describe the specification for a proxy switch module
 24264  // of a `DistributedVirtualSwitch`.
 24265  type DistributedVirtualSwitchProductSpec struct {
 24266  	DynamicData
 24267  
 24268  	// Short form of the product name.
 24269  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 24270  	// Name of the vendor of this product.
 24271  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 24272  	// Dot-separated version string.
 24273  	//
 24274  	// For example, "1.2".
 24275  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 24276  	// Build string for the server on which this call is made.
 24277  	//
 24278  	// For example, x.y.z-num.
 24279  	// This string does not apply to the API.
 24280  	Build string `xml:"build,omitempty" json:"build,omitempty"`
 24281  	// Forwarding class of the distributed virtual switch.
 24282  	ForwardingClass string `xml:"forwardingClass,omitempty" json:"forwardingClass,omitempty"`
 24283  	// The ID of the bundle if a host component bundle needs to be installed on
 24284  	// the host members to support the functionality of the switch.
 24285  	BundleId string `xml:"bundleId,omitempty" json:"bundleId,omitempty"`
 24286  	// The URL of the bundle that VMware Update Manager will use to install
 24287  	// the bundle on the host members, if `DistributedVirtualSwitchProductSpec.bundleId` is set.
 24288  	BundleUrl string `xml:"bundleUrl,omitempty" json:"bundleUrl,omitempty"`
 24289  }
 24290  
 24291  func init() {
 24292  	t["DistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpec)(nil)).Elem()
 24293  }
 24294  
 24295  type DoesCustomizationSpecExist DoesCustomizationSpecExistRequestType
 24296  
 24297  func init() {
 24298  	t["DoesCustomizationSpecExist"] = reflect.TypeOf((*DoesCustomizationSpecExist)(nil)).Elem()
 24299  }
 24300  
 24301  // The parameters of `CustomizationSpecManager.DoesCustomizationSpecExist`.
 24302  type DoesCustomizationSpecExistRequestType struct {
 24303  	This ManagedObjectReference `xml:"_this" json:"-"`
 24304  	Name string                 `xml:"name" json:"name"`
 24305  }
 24306  
 24307  func init() {
 24308  	t["DoesCustomizationSpecExistRequestType"] = reflect.TypeOf((*DoesCustomizationSpecExistRequestType)(nil)).Elem()
 24309  }
 24310  
 24311  type DoesCustomizationSpecExistResponse struct {
 24312  	Returnval bool `xml:"returnval" json:"returnval"`
 24313  }
 24314  
 24315  // Fault indicating that the domain controller
 24316  // for domainName cannot be reached.
 24317  type DomainNotFound struct {
 24318  	ActiveDirectoryFault
 24319  
 24320  	// The domain that cannot be accessed.
 24321  	DomainName string `xml:"domainName" json:"domainName"`
 24322  }
 24323  
 24324  func init() {
 24325  	t["DomainNotFound"] = reflect.TypeOf((*DomainNotFound)(nil)).Elem()
 24326  }
 24327  
 24328  type DomainNotFoundFault DomainNotFound
 24329  
 24330  func init() {
 24331  	t["DomainNotFoundFault"] = reflect.TypeOf((*DomainNotFoundFault)(nil)).Elem()
 24332  }
 24333  
 24334  type DownloadDescriptionTree DownloadDescriptionTreeRequestType
 24335  
 24336  func init() {
 24337  	t["DownloadDescriptionTree"] = reflect.TypeOf((*DownloadDescriptionTree)(nil)).Elem()
 24338  }
 24339  
 24340  type DownloadDescriptionTreeRequestType struct {
 24341  	This ManagedObjectReference `xml:"_this" json:"-"`
 24342  }
 24343  
 24344  func init() {
 24345  	t["DownloadDescriptionTreeRequestType"] = reflect.TypeOf((*DownloadDescriptionTreeRequestType)(nil)).Elem()
 24346  }
 24347  
 24348  type DownloadDescriptionTreeResponse struct {
 24349  	Returnval []byte `xml:"returnval" json:"returnval"`
 24350  }
 24351  
 24352  // Data object describing the operational status of various DPU
 24353  // elements.
 24354  type DpuStatusInfo struct {
 24355  	HostHardwareElementInfo
 24356  
 24357  	// Uniquely identify this DPU.
 24358  	//
 24359  	// Should be the VMware identifier
 24360  	// which can be composed from pci and other identifying elements.
 24361  	DpuId string `xml:"dpuId" json:"dpuId"`
 24362  	// The FRU this sensor monitors, if any.
 24363  	Fru     *HostFru                       `xml:"fru,omitempty" json:"fru,omitempty"`
 24364  	Sensors []DpuStatusInfoOperationalInfo `xml:"sensors,omitempty" json:"sensors,omitempty"`
 24365  }
 24366  
 24367  func init() {
 24368  	t["DpuStatusInfo"] = reflect.TypeOf((*DpuStatusInfo)(nil)).Elem()
 24369  	minAPIVersionForType["DpuStatusInfo"] = "8.0.0.1"
 24370  }
 24371  
 24372  // Sensor information provided by DPU that provides health status.
 24373  type DpuStatusInfoOperationalInfo struct {
 24374  	DynamicData
 24375  
 24376  	// This string uniquely identifies a sensor in the DPU.
 24377  	SensorId string `xml:"sensorId" json:"sensorId"`
 24378  	// The health state of the element indicated by the sensor.
 24379  	//
 24380  	// See also `HostNumericSensorHealthState_enum`.
 24381  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 24382  	// A description of the state of the sensor
 24383  	// such as: N watts, Y RPM, or other measurement.
 24384  	Reading string `xml:"reading" json:"reading"`
 24385  	// If provided by underying API, the base units in which the sensor
 24386  	// reading is specified, "RPM", "WATTS" and so forth.
 24387  	Units string `xml:"units,omitempty" json:"units,omitempty"`
 24388  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 24389  	// management controller if the this sensor is capable of tracking
 24390  	// when it was last updated.
 24391  	//
 24392  	// Property timeStampRaw, which comes from
 24393  	// vendor firmware is convertible to DateTime, it will be provided.
 24394  	TimeStamp *time.Time `xml:"timeStamp" json:"timeStamp,omitempty"`
 24395  }
 24396  
 24397  func init() {
 24398  	t["DpuStatusInfoOperationalInfo"] = reflect.TypeOf((*DpuStatusInfoOperationalInfo)(nil)).Elem()
 24399  	minAPIVersionForType["DpuStatusInfoOperationalInfo"] = "8.0.0.1"
 24400  }
 24401  
 24402  type DropConnections DropConnectionsRequestType
 24403  
 24404  func init() {
 24405  	t["DropConnections"] = reflect.TypeOf((*DropConnections)(nil)).Elem()
 24406  }
 24407  
 24408  // The parameters of `VirtualMachine.DropConnections`.
 24409  type DropConnectionsRequestType struct {
 24410  	This              ManagedObjectReference         `xml:"_this" json:"-"`
 24411  	ListOfConnections []BaseVirtualMachineConnection `xml:"listOfConnections,omitempty,typeattr" json:"listOfConnections,omitempty"`
 24412  }
 24413  
 24414  func init() {
 24415  	t["DropConnectionsRequestType"] = reflect.TypeOf((*DropConnectionsRequestType)(nil)).Elem()
 24416  	minAPIVersionForType["DropConnectionsRequestType"] = "7.0.1.0"
 24417  }
 24418  
 24419  type DropConnectionsResponse struct {
 24420  	Returnval bool `xml:"returnval" json:"returnval"`
 24421  }
 24422  
 24423  // This event records when DRS is disabled on a cluster.
 24424  type DrsDisabledEvent struct {
 24425  	ClusterEvent
 24426  }
 24427  
 24428  func init() {
 24429  	t["DrsDisabledEvent"] = reflect.TypeOf((*DrsDisabledEvent)(nil)).Elem()
 24430  }
 24431  
 24432  // This fault is thrown when DRS cannot move a virtual machine because
 24433  // DRS is disabled on it (i.e., it is pinned on its registered host).
 24434  type DrsDisabledOnVm struct {
 24435  	VimFault
 24436  }
 24437  
 24438  func init() {
 24439  	t["DrsDisabledOnVm"] = reflect.TypeOf((*DrsDisabledOnVm)(nil)).Elem()
 24440  }
 24441  
 24442  type DrsDisabledOnVmFault DrsDisabledOnVm
 24443  
 24444  func init() {
 24445  	t["DrsDisabledOnVmFault"] = reflect.TypeOf((*DrsDisabledOnVmFault)(nil)).Elem()
 24446  }
 24447  
 24448  // This event records when DRS is enabled on a cluster.
 24449  type DrsEnabledEvent struct {
 24450  	ClusterEvent
 24451  
 24452  	// The DRS automation level in (`DrsBehavior`)
 24453  	Behavior string `xml:"behavior" json:"behavior"`
 24454  }
 24455  
 24456  func init() {
 24457  	t["DrsEnabledEvent"] = reflect.TypeOf((*DrsEnabledEvent)(nil)).Elem()
 24458  }
 24459  
 24460  // This event records that the host has successfully entered standby mode initiated by
 24461  // Distributed Power Management.
 24462  //
 24463  // A host in this mode has no running virtual
 24464  // machines and no provisioning operations are occurring.
 24465  type DrsEnteredStandbyModeEvent struct {
 24466  	EnteredStandbyModeEvent
 24467  }
 24468  
 24469  func init() {
 24470  	t["DrsEnteredStandbyModeEvent"] = reflect.TypeOf((*DrsEnteredStandbyModeEvent)(nil)).Elem()
 24471  }
 24472  
 24473  // This event records that a host has begun the process of
 24474  // entering standby mode initiated by Distributed Power Management.
 24475  type DrsEnteringStandbyModeEvent struct {
 24476  	EnteringStandbyModeEvent
 24477  }
 24478  
 24479  func init() {
 24480  	t["DrsEnteringStandbyModeEvent"] = reflect.TypeOf((*DrsEnteringStandbyModeEvent)(nil)).Elem()
 24481  }
 24482  
 24483  // This event records that Distributed Power Management tried to bring a host out
 24484  // from standby mode, but the host failed to exit standby mode.
 24485  type DrsExitStandbyModeFailedEvent struct {
 24486  	ExitStandbyModeFailedEvent
 24487  }
 24488  
 24489  func init() {
 24490  	t["DrsExitStandbyModeFailedEvent"] = reflect.TypeOf((*DrsExitStandbyModeFailedEvent)(nil)).Elem()
 24491  }
 24492  
 24493  // This event records that Distributed Power Management brings this host
 24494  // out from standby mode.
 24495  type DrsExitedStandbyModeEvent struct {
 24496  	ExitedStandbyModeEvent
 24497  }
 24498  
 24499  func init() {
 24500  	t["DrsExitedStandbyModeEvent"] = reflect.TypeOf((*DrsExitedStandbyModeEvent)(nil)).Elem()
 24501  }
 24502  
 24503  // This event records that a host has begun the process of
 24504  // exiting standby mode initiated by Distributed Power Management.
 24505  type DrsExitingStandbyModeEvent struct {
 24506  	ExitingStandbyModeEvent
 24507  }
 24508  
 24509  func init() {
 24510  	t["DrsExitingStandbyModeEvent"] = reflect.TypeOf((*DrsExitingStandbyModeEvent)(nil)).Elem()
 24511  }
 24512  
 24513  // This event records DRS invocation failure.
 24514  type DrsInvocationFailedEvent struct {
 24515  	ClusterEvent
 24516  }
 24517  
 24518  func init() {
 24519  	t["DrsInvocationFailedEvent"] = reflect.TypeOf((*DrsInvocationFailedEvent)(nil)).Elem()
 24520  }
 24521  
 24522  // This event records that DRS has recovered from failure.
 24523  //
 24524  // It is triggered by a successful DRS invocation after repeated failure.
 24525  type DrsRecoveredFromFailureEvent struct {
 24526  	ClusterEvent
 24527  }
 24528  
 24529  func init() {
 24530  	t["DrsRecoveredFromFailureEvent"] = reflect.TypeOf((*DrsRecoveredFromFailureEvent)(nil)).Elem()
 24531  }
 24532  
 24533  // This event records when resource configuration
 24534  // specification synchronization fails on a host.
 24535  type DrsResourceConfigureFailedEvent struct {
 24536  	HostEvent
 24537  
 24538  	// The reason for the failure.
 24539  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 24540  }
 24541  
 24542  func init() {
 24543  	t["DrsResourceConfigureFailedEvent"] = reflect.TypeOf((*DrsResourceConfigureFailedEvent)(nil)).Elem()
 24544  }
 24545  
 24546  // This event records when resource configuration
 24547  // specification returns to synchronized from previous failure.
 24548  type DrsResourceConfigureSyncedEvent struct {
 24549  	HostEvent
 24550  }
 24551  
 24552  func init() {
 24553  	t["DrsResourceConfigureSyncedEvent"] = reflect.TypeOf((*DrsResourceConfigureSyncedEvent)(nil)).Elem()
 24554  }
 24555  
 24556  // This event records when a virtual machine comes into compliance with DRS rules.
 24557  type DrsRuleComplianceEvent struct {
 24558  	VmEvent
 24559  }
 24560  
 24561  func init() {
 24562  	t["DrsRuleComplianceEvent"] = reflect.TypeOf((*DrsRuleComplianceEvent)(nil)).Elem()
 24563  }
 24564  
 24565  // This event records when a virtual machine violates a DRS VM-Host rule.
 24566  type DrsRuleViolationEvent struct {
 24567  	VmEvent
 24568  }
 24569  
 24570  func init() {
 24571  	t["DrsRuleViolationEvent"] = reflect.TypeOf((*DrsRuleViolationEvent)(nil)).Elem()
 24572  }
 24573  
 24574  // This event records when a virtual machine violates a soft VM-Host rule.
 24575  type DrsSoftRuleViolationEvent struct {
 24576  	VmEvent
 24577  }
 24578  
 24579  func init() {
 24580  	t["DrsSoftRuleViolationEvent"] = reflect.TypeOf((*DrsSoftRuleViolationEvent)(nil)).Elem()
 24581  }
 24582  
 24583  // This event records a virtual machine migration that was recommended by DRS.
 24584  type DrsVmMigratedEvent struct {
 24585  	VmMigratedEvent
 24586  }
 24587  
 24588  func init() {
 24589  	t["DrsVmMigratedEvent"] = reflect.TypeOf((*DrsVmMigratedEvent)(nil)).Elem()
 24590  }
 24591  
 24592  // This event records when a virtual machine is powered on by DRS.
 24593  type DrsVmPoweredOnEvent struct {
 24594  	VmPoweredOnEvent
 24595  }
 24596  
 24597  func init() {
 24598  	t["DrsVmPoweredOnEvent"] = reflect.TypeOf((*DrsVmPoweredOnEvent)(nil)).Elem()
 24599  }
 24600  
 24601  // This fault is thrown when DRS tries to migrate a virtual machine to a host,
 24602  // but finds that the host is incompatible with the given virtual machine.
 24603  type DrsVmotionIncompatibleFault struct {
 24604  	VirtualHardwareCompatibilityIssue
 24605  
 24606  	// The host that is incompatible with a given virtual machine.
 24607  	//
 24608  	// Refers instance of `HostSystem`.
 24609  	Host ManagedObjectReference `xml:"host" json:"host"`
 24610  }
 24611  
 24612  func init() {
 24613  	t["DrsVmotionIncompatibleFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFault)(nil)).Elem()
 24614  }
 24615  
 24616  type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault
 24617  
 24618  func init() {
 24619  	t["DrsVmotionIncompatibleFaultFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFaultFault)(nil)).Elem()
 24620  }
 24621  
 24622  type DuplicateCustomizationSpec DuplicateCustomizationSpecRequestType
 24623  
 24624  func init() {
 24625  	t["DuplicateCustomizationSpec"] = reflect.TypeOf((*DuplicateCustomizationSpec)(nil)).Elem()
 24626  }
 24627  
 24628  // The parameters of `CustomizationSpecManager.DuplicateCustomizationSpec`.
 24629  type DuplicateCustomizationSpecRequestType struct {
 24630  	This    ManagedObjectReference `xml:"_this" json:"-"`
 24631  	Name    string                 `xml:"name" json:"name"`
 24632  	NewName string                 `xml:"newName" json:"newName"`
 24633  }
 24634  
 24635  func init() {
 24636  	t["DuplicateCustomizationSpecRequestType"] = reflect.TypeOf((*DuplicateCustomizationSpecRequestType)(nil)).Elem()
 24637  }
 24638  
 24639  type DuplicateCustomizationSpecResponse struct {
 24640  }
 24641  
 24642  // Fault used to denote a duplicate set of disks were incorrectly specified
 24643  // for a given operation.
 24644  //
 24645  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 24646  type DuplicateDisks struct {
 24647  	VsanDiskFault
 24648  }
 24649  
 24650  func init() {
 24651  	t["DuplicateDisks"] = reflect.TypeOf((*DuplicateDisks)(nil)).Elem()
 24652  }
 24653  
 24654  type DuplicateDisksFault DuplicateDisks
 24655  
 24656  func init() {
 24657  	t["DuplicateDisksFault"] = reflect.TypeOf((*DuplicateDisksFault)(nil)).Elem()
 24658  }
 24659  
 24660  // This event records that a duplicate IP address has been observed in
 24661  // conflict with the vmotion or IP storage interface configured on the
 24662  // host.
 24663  type DuplicateIpDetectedEvent struct {
 24664  	HostEvent
 24665  
 24666  	// The Duplicate IP address detected.
 24667  	DuplicateIP string `xml:"duplicateIP" json:"duplicateIP"`
 24668  	// The MAC associated with duplicate IP.
 24669  	MacAddress string `xml:"macAddress" json:"macAddress"`
 24670  }
 24671  
 24672  func init() {
 24673  	t["DuplicateIpDetectedEvent"] = reflect.TypeOf((*DuplicateIpDetectedEvent)(nil)).Elem()
 24674  }
 24675  
 24676  // A DuplicateName exception is thrown because a name already exists
 24677  // in the same name space.
 24678  type DuplicateName struct {
 24679  	VimFault
 24680  
 24681  	// The name that is already bound in the name space.
 24682  	Name string `xml:"name" json:"name"`
 24683  	// Managed object that already holds the name.
 24684  	Object ManagedObjectReference `xml:"object" json:"object"`
 24685  }
 24686  
 24687  func init() {
 24688  	t["DuplicateName"] = reflect.TypeOf((*DuplicateName)(nil)).Elem()
 24689  }
 24690  
 24691  type DuplicateNameFault DuplicateName
 24692  
 24693  func init() {
 24694  	t["DuplicateNameFault"] = reflect.TypeOf((*DuplicateNameFault)(nil)).Elem()
 24695  }
 24696  
 24697  // Fault thrown for cases that duplicate network interface names are
 24698  // incorrectly specified for a VSAN operation.
 24699  //
 24700  // See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
 24701  type DuplicateVsanNetworkInterface struct {
 24702  	VsanFault
 24703  
 24704  	// The network interface name found to be duplicated.
 24705  	Device string `xml:"device" json:"device"`
 24706  }
 24707  
 24708  func init() {
 24709  	t["DuplicateVsanNetworkInterface"] = reflect.TypeOf((*DuplicateVsanNetworkInterface)(nil)).Elem()
 24710  }
 24711  
 24712  type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface
 24713  
 24714  func init() {
 24715  	t["DuplicateVsanNetworkInterfaceFault"] = reflect.TypeOf((*DuplicateVsanNetworkInterfaceFault)(nil)).Elem()
 24716  }
 24717  
 24718  // This event is generated when an import operation is
 24719  // performed on a distributed virtual portgroup
 24720  type DvpgImportEvent struct {
 24721  	DVPortgroupEvent
 24722  
 24723  	// The type of restore operation.
 24724  	//
 24725  	// See `EntityImportType_enum` for valid values
 24726  	ImportType string `xml:"importType" json:"importType"`
 24727  }
 24728  
 24729  func init() {
 24730  	t["DvpgImportEvent"] = reflect.TypeOf((*DvpgImportEvent)(nil)).Elem()
 24731  }
 24732  
 24733  // This event is generated when a restore operation is
 24734  // performed on a distributed virtual portgroup
 24735  type DvpgRestoreEvent struct {
 24736  	DVPortgroupEvent
 24737  }
 24738  
 24739  func init() {
 24740  	t["DvpgRestoreEvent"] = reflect.TypeOf((*DvpgRestoreEvent)(nil)).Elem()
 24741  }
 24742  
 24743  // This class defines network rule action to accept packets.
 24744  type DvsAcceptNetworkRuleAction struct {
 24745  	DvsNetworkRuleAction
 24746  }
 24747  
 24748  func init() {
 24749  	t["DvsAcceptNetworkRuleAction"] = reflect.TypeOf((*DvsAcceptNetworkRuleAction)(nil)).Elem()
 24750  }
 24751  
 24752  // Thrown if a vSphere Distributed Switch apply operation failed to set or remove
 24753  // some of the specified objects.
 24754  type DvsApplyOperationFault struct {
 24755  	DvsFault
 24756  
 24757  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 24758  	ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault" json:"objectFault"`
 24759  }
 24760  
 24761  func init() {
 24762  	t["DvsApplyOperationFault"] = reflect.TypeOf((*DvsApplyOperationFault)(nil)).Elem()
 24763  }
 24764  
 24765  type DvsApplyOperationFaultFault DvsApplyOperationFault
 24766  
 24767  func init() {
 24768  	t["DvsApplyOperationFaultFault"] = reflect.TypeOf((*DvsApplyOperationFaultFault)(nil)).Elem()
 24769  }
 24770  
 24771  // The fault occurred during an apply operation.
 24772  type DvsApplyOperationFaultFaultOnObject struct {
 24773  	DynamicData
 24774  
 24775  	// The object identifier.
 24776  	//
 24777  	// It should be UUID for vSphere Distributed Switches,
 24778  	// keys for vNetwork distributed portgroups and ports.
 24779  	ObjectId string `xml:"objectId" json:"objectId"`
 24780  	// The Type of the objects.
 24781  	Type string `xml:"type" json:"type"`
 24782  	// The fault that occurred.
 24783  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 24784  }
 24785  
 24786  func init() {
 24787  	t["DvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*DvsApplyOperationFaultFaultOnObject)(nil)).Elem()
 24788  }
 24789  
 24790  // This class defines network rule action to copy the packet to an
 24791  // associated slow-path service Virtual Machine and let the original
 24792  // frame continue.
 24793  type DvsCopyNetworkRuleAction struct {
 24794  	DvsNetworkRuleAction
 24795  }
 24796  
 24797  func init() {
 24798  	t["DvsCopyNetworkRuleAction"] = reflect.TypeOf((*DvsCopyNetworkRuleAction)(nil)).Elem()
 24799  }
 24800  
 24801  // A distributed virtual switch was created.
 24802  type DvsCreatedEvent struct {
 24803  	DvsEvent
 24804  
 24805  	// The folder where the DistributedVirtualSwitch is created.
 24806  	Parent FolderEventArgument `xml:"parent" json:"parent"`
 24807  }
 24808  
 24809  func init() {
 24810  	t["DvsCreatedEvent"] = reflect.TypeOf((*DvsCreatedEvent)(nil)).Elem()
 24811  }
 24812  
 24813  // A distributed virtual switch was destroyed.
 24814  type DvsDestroyedEvent struct {
 24815  	DvsEvent
 24816  }
 24817  
 24818  func init() {
 24819  	t["DvsDestroyedEvent"] = reflect.TypeOf((*DvsDestroyedEvent)(nil)).Elem()
 24820  }
 24821  
 24822  // This class defines network rule action to drop packets.
 24823  type DvsDropNetworkRuleAction struct {
 24824  	DvsNetworkRuleAction
 24825  }
 24826  
 24827  func init() {
 24828  	t["DvsDropNetworkRuleAction"] = reflect.TypeOf((*DvsDropNetworkRuleAction)(nil)).Elem()
 24829  }
 24830  
 24831  // These are dvs-related events.
 24832  type DvsEvent struct {
 24833  	Event
 24834  }
 24835  
 24836  func init() {
 24837  	t["DvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem()
 24838  }
 24839  
 24840  // The event argument is a Host object.
 24841  type DvsEventArgument struct {
 24842  	EntityEventArgument
 24843  
 24844  	// The distributed virtual switch object.
 24845  	//
 24846  	// Refers instance of `DistributedVirtualSwitch`.
 24847  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 24848  }
 24849  
 24850  func init() {
 24851  	t["DvsEventArgument"] = reflect.TypeOf((*DvsEventArgument)(nil)).Elem()
 24852  }
 24853  
 24854  // Base class for faults that can be thrown while invoking a distributed virtual switch
 24855  // operation.
 24856  type DvsFault struct {
 24857  	VimFault
 24858  }
 24859  
 24860  func init() {
 24861  	t["DvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem()
 24862  }
 24863  
 24864  type DvsFaultFault BaseDvsFault
 24865  
 24866  func init() {
 24867  	t["DvsFaultFault"] = reflect.TypeOf((*DvsFaultFault)(nil)).Elem()
 24868  }
 24869  
 24870  // This class defines Network Filter configuration.
 24871  //
 24872  // ** Supported Qualifier and Actions **
 24873  // <table border="1"width="100%">
 24874  // <tr>
 24875  // <th>Network Filter Config</th>
 24876  // <th>Supported classes</th>
 24877  // </tr>
 24878  // <tr>
 24879  // <td>Qualifiers supported</td>
 24880  // <td>`SingleIp`, `IpRange`,
 24881  // `SingleMac`, `MacRange`,
 24882  // `DvsSingleIpPort`,
 24883  // `DvsSystemTrafficNetworkRuleQualifier`
 24884  // </td>
 24885  // </tr>
 24886  // <tr>
 24887  // <td>Actions Supported</td>
 24888  // <td>`DvsDropNetworkRuleAction`,
 24889  // `DvsAcceptNetworkRuleAction`,
 24890  // `DvsPuntNetworkRuleAction`,
 24891  // `DvsCopyNetworkRuleAction`,
 24892  // `DvsMacRewriteNetworkRuleAction`,
 24893  // `DvsGreEncapNetworkRuleAction`,
 24894  // `DvsLogNetworkRuleAction`,
 24895  // `DvsUpdateTagNetworkRuleAction`,
 24896  // `DvsRateLimitNetworkRuleAction`
 24897  // </td>
 24898  // </tr>
 24899  type DvsFilterConfig struct {
 24900  	InheritablePolicy
 24901  
 24902  	// The key of Network Filter Config.
 24903  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 24904  	// The name of the network traffic filter agent.
 24905  	AgentName string `xml:"agentName,omitempty" json:"agentName,omitempty"`
 24906  	// The slot number of the network filter agent.
 24907  	SlotNumber string `xml:"slotNumber,omitempty" json:"slotNumber,omitempty"`
 24908  	// Network Filter Parameter
 24909  	Parameters *DvsFilterParameter `xml:"parameters,omitempty" json:"parameters,omitempty"`
 24910  	// This property specifies whether to allow all traffic or to deny all
 24911  	// traffic when a Network Filter fails to configure.
 24912  	//
 24913  	// Please see `DvsFilterOnFailure_enum`
 24914  	// for more details.
 24915  	OnFailure string `xml:"onFailure,omitempty" json:"onFailure,omitempty"`
 24916  }
 24917  
 24918  func init() {
 24919  	t["DvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem()
 24920  }
 24921  
 24922  // The specification to reconfigure Network Filter.
 24923  //
 24924  // This specification allows the user to do fine-grained updates for the
 24925  // Filter in the port settings.
 24926  // If the operation is `remove`, only the
 24927  // `DistributedVirtualPort.key` needs to be specified.
 24928  // If other fields are specified, they will be ignored. We cannot remove
 24929  // an inherited element. Only when the inherited flag is set to false and
 24930  // parent does not have an element with same key this operation succeeds.
 24931  // If the operation is `add`, then
 24932  // `DistributedVirtualPort.key` should not be specified and
 24933  // other fields need to be specified. The inherited flag should be set to
 24934  // false.
 24935  // If the operation is `edit`, then
 24936  // `DistributedVirtualPort.key` needs be specified and
 24937  // specify the other properties that need modification. If the inherited
 24938  // flag is set to true, a `DvsFilterConfig` object of same
 24939  // key must exist at the parent's level. The property values in the spec
 24940  // object will be ignored and use the values from the parent's
 24941  // `DvsFilterConfig` object instead. If inherited
 24942  // flag is set to false, then the new modifications will be applied.
 24943  type DvsFilterConfigSpec struct {
 24944  	DvsFilterConfig
 24945  
 24946  	// Operation type.
 24947  	//
 24948  	// See `ConfigSpecOperation_enum` for valid values.
 24949  	Operation string `xml:"operation" json:"operation"`
 24950  }
 24951  
 24952  func init() {
 24953  	t["DvsFilterConfigSpec"] = reflect.TypeOf((*DvsFilterConfigSpec)(nil)).Elem()
 24954  }
 24955  
 24956  // This class defines Network Filter parameter.
 24957  type DvsFilterParameter struct {
 24958  	DynamicData
 24959  
 24960  	// List of parameters for a Network Filter.
 24961  	Parameters []string `xml:"parameters,omitempty" json:"parameters,omitempty"`
 24962  }
 24963  
 24964  func init() {
 24965  	t["DvsFilterParameter"] = reflect.TypeOf((*DvsFilterParameter)(nil)).Elem()
 24966  }
 24967  
 24968  // This class defines Network Filter Policy.
 24969  type DvsFilterPolicy struct {
 24970  	InheritablePolicy
 24971  
 24972  	// List of Network Filter Configurations.
 24973  	//
 24974  	// In an update operation, the array can contain all
 24975  	// `DvsTrafficFilterConfigSpec` objects
 24976  	// or all `DvsFilterConfig` and
 24977  	// `DvsTrafficFilterConfig`
 24978  	// object, but not mixed of Config and Spec objects. If array of
 24979  	// `DvsFilterConfigSpec` and `DvsTrafficFilterConfigSpec` is used
 24980  	// for updating Network Filter then only the Network Filters
 24981  	// matching `DistributedVirtualPort.key` /
 24982  	// `DistributedVirtualPort.key`
 24983  	// is updated.
 24984  	// If array of `DvsFilterConfig` and
 24985  	// `DvsTrafficFilterConfig`
 24986  	// is used for updating port settings, the Network Filter
 24987  	// settings will be overridden with the new array specified. The
 24988  	// specified array should only contain `DvsFilterConfig` and
 24989  	// `DvsTrafficFilterConfig` objects with `InheritablePolicy.inherited` /
 24990  	// `InheritablePolicy.inherited` set to false.
 24991  	// `DvsFilterConfig*/*DvsTrafficFilterConfig` objects with
 24992  	// `InheritablePolicy.inherited*/*InheritablePolicy.inherited` as
 24993  	// true in the specified array will be ignored. The updated result will
 24994  	// include `DvsFilterConfig*/*DvsTrafficFilterConfig` objects
 24995  	// inherited from parent, if any.
 24996  	FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr" json:"filterConfig,omitempty"`
 24997  }
 24998  
 24999  func init() {
 25000  	t["DvsFilterPolicy"] = reflect.TypeOf((*DvsFilterPolicy)(nil)).Elem()
 25001  }
 25002  
 25003  // This class defines network rule action to GRE Encapsulate a packet.
 25004  type DvsGreEncapNetworkRuleAction struct {
 25005  	DvsNetworkRuleAction
 25006  
 25007  	// Single IP address.
 25008  	//
 25009  	// Only IPv4 is supported for vSphere API 5.5.
 25010  	EncapsulationIp SingleIp `xml:"encapsulationIp" json:"encapsulationIp"`
 25011  }
 25012  
 25013  func init() {
 25014  	t["DvsGreEncapNetworkRuleAction"] = reflect.TypeOf((*DvsGreEncapNetworkRuleAction)(nil)).Elem()
 25015  }
 25016  
 25017  // Health check status of an switch is changed.
 25018  type DvsHealthStatusChangeEvent struct {
 25019  	HostEvent
 25020  
 25021  	// UUID of the DVS the host is connected to.
 25022  	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
 25023  	// Health check status.
 25024  	HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr" json:"healthResult,omitempty"`
 25025  }
 25026  
 25027  func init() {
 25028  	t["DvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem()
 25029  }
 25030  
 25031  // The DVS configuration on the host was synchronized with that of
 25032  // the Virtual Center Server and the configuration is the same on
 25033  // the host and Virtual Center Server.
 25034  type DvsHostBackInSyncEvent struct {
 25035  	DvsEvent
 25036  
 25037  	// The host that was synchronized.
 25038  	HostBackInSync HostEventArgument `xml:"hostBackInSync" json:"hostBackInSync"`
 25039  }
 25040  
 25041  func init() {
 25042  	t["DvsHostBackInSyncEvent"] = reflect.TypeOf((*DvsHostBackInSyncEvent)(nil)).Elem()
 25043  }
 25044  
 25045  // This class defines the resource allocation for a host infrastructure
 25046  // traffic class on a physical NIC
 25047  type DvsHostInfrastructureTrafficResource struct {
 25048  	DynamicData
 25049  
 25050  	// The key of the host infrastructure resource.
 25051  	//
 25052  	// Possible value can be of
 25053  	// `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`.
 25054  	Key string `xml:"key" json:"key"`
 25055  	// The description of the host infrastructure resource.
 25056  	//
 25057  	// This property is ignored for update operation.
 25058  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 25059  	// The allocation settings of the host infrastructure resource.
 25060  	AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo" json:"allocationInfo"`
 25061  }
 25062  
 25063  func init() {
 25064  	t["DvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResource)(nil)).Elem()
 25065  }
 25066  
 25067  // Resource allocation information for a
 25068  // host infrastructure traffic class.
 25069  type DvsHostInfrastructureTrafficResourceAllocation struct {
 25070  	DynamicData
 25071  
 25072  	// The maximum allowed usage for a traffic class belonging to
 25073  	// this resource pool per host physical NIC.
 25074  	//
 25075  	// The utilization of a traffic class will not exceed the specified limit
 25076  	// even if there are available network resources. If this value is unset
 25077  	// or set to -1 in an update operation, then there is no limit on the network
 25078  	// resource usage (only bounded by available resource and shares).
 25079  	// Units are in Mbits/sec.
 25080  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 25081  	// Network share.
 25082  	//
 25083  	// The value is used as a relative weight in competing for
 25084  	// shared bandwidth, in case of resource contention.
 25085  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 25086  	// Amount of bandwidth resource that is guaranteed available
 25087  	// to the host infrastructure traffic class.
 25088  	//
 25089  	// If the utilization is less than the reservation, the extra bandwidth
 25090  	// is used for other host infrastructure traffic class types. Reservation is not
 25091  	// allowed to exceed the value of
 25092  	// `DvsHostInfrastructureTrafficResourceAllocation.limit`, if
 25093  	// `DvsHostInfrastructureTrafficResourceAllocation.limit` is set.
 25094  	// Unit is Mbits/sec.
 25095  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 25096  }
 25097  
 25098  func init() {
 25099  	t["DvsHostInfrastructureTrafficResourceAllocation"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResourceAllocation)(nil)).Elem()
 25100  }
 25101  
 25102  // A host joined the distributed virtual switch.
 25103  type DvsHostJoinedEvent struct {
 25104  	DvsEvent
 25105  
 25106  	// The host that joined DVS.
 25107  	HostJoined HostEventArgument `xml:"hostJoined" json:"hostJoined"`
 25108  }
 25109  
 25110  func init() {
 25111  	t["DvsHostJoinedEvent"] = reflect.TypeOf((*DvsHostJoinedEvent)(nil)).Elem()
 25112  }
 25113  
 25114  // A host left the distributed virtual switch.
 25115  type DvsHostLeftEvent struct {
 25116  	DvsEvent
 25117  
 25118  	// The host that left DVS.
 25119  	HostLeft HostEventArgument `xml:"hostLeft" json:"hostLeft"`
 25120  }
 25121  
 25122  func init() {
 25123  	t["DvsHostLeftEvent"] = reflect.TypeOf((*DvsHostLeftEvent)(nil)).Elem()
 25124  }
 25125  
 25126  // A host has it's status or statusDetail updated.
 25127  type DvsHostStatusUpdated struct {
 25128  	DvsEvent
 25129  
 25130  	// The host.
 25131  	HostMember HostEventArgument `xml:"hostMember" json:"hostMember"`
 25132  	// Host's old status.
 25133  	OldStatus string `xml:"oldStatus,omitempty" json:"oldStatus,omitempty"`
 25134  	// Host's new status.
 25135  	NewStatus string `xml:"newStatus,omitempty" json:"newStatus,omitempty"`
 25136  	// Comments regarding host's old status.
 25137  	OldStatusDetail string `xml:"oldStatusDetail,omitempty" json:"oldStatusDetail,omitempty"`
 25138  	// Comments regarding host's new status.
 25139  	NewStatusDetail string `xml:"newStatusDetail,omitempty" json:"newStatusDetail,omitempty"`
 25140  }
 25141  
 25142  func init() {
 25143  	t["DvsHostStatusUpdated"] = reflect.TypeOf((*DvsHostStatusUpdated)(nil)).Elem()
 25144  }
 25145  
 25146  // The `DvsHostVNicProfile` data object describes the IP configuration
 25147  // for a host Virtual NIC connected to a distributed virtual switch.
 25148  //
 25149  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 25150  // If a profile plug-in defines policies or subprofiles, use the
 25151  // `ApplyProfile.policy` or `ApplyProfile.property`
 25152  // list to access the additional configuration data.
 25153  type DvsHostVNicProfile struct {
 25154  	DvsVNicProfile
 25155  }
 25156  
 25157  func init() {
 25158  	t["DvsHostVNicProfile"] = reflect.TypeOf((*DvsHostVNicProfile)(nil)).Elem()
 25159  }
 25160  
 25161  // The DVS configuration on the host diverged from that of
 25162  // the Virtual Center Server.
 25163  type DvsHostWentOutOfSyncEvent struct {
 25164  	DvsEvent
 25165  
 25166  	// The host that went out of sync.
 25167  	HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 25168  }
 25169  
 25170  func init() {
 25171  	t["DvsHostWentOutOfSyncEvent"] = reflect.TypeOf((*DvsHostWentOutOfSyncEvent)(nil)).Elem()
 25172  }
 25173  
 25174  // This event is generated when a import operation is
 25175  // performed on a distributed virtual switch
 25176  type DvsImportEvent struct {
 25177  	DvsEvent
 25178  
 25179  	// The type of restore operation.
 25180  	//
 25181  	// See `EntityImportType_enum` for valid values
 25182  	ImportType string `xml:"importType" json:"importType"`
 25183  }
 25184  
 25185  func init() {
 25186  	t["DvsImportEvent"] = reflect.TypeOf((*DvsImportEvent)(nil)).Elem()
 25187  }
 25188  
 25189  // This class defines the IP Rule Qualifier.
 25190  //
 25191  // Here IP addresses of source
 25192  // and destination will be used for classifying packets.
 25193  type DvsIpNetworkRuleQualifier struct {
 25194  	DvsNetworkRuleQualifier
 25195  
 25196  	// IP qualifier for source.
 25197  	//
 25198  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25199  	SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 25200  	// IP qualifier for destination.
 25201  	//
 25202  	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
 25203  	DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 25204  	// Protocols like TCP, UDP, ICMP etc.
 25205  	//
 25206  	// The valid value for a protocol
 25207  	// is got from IANA assigned value for the protocol. This can be got
 25208  	// from RFC 5237 and IANA website section related to protocol numbers.
 25209  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 25210  	// Source IP Port.
 25211  	SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr" json:"sourceIpPort,omitempty"`
 25212  	// Destination IP Port.
 25213  	DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr" json:"destinationIpPort,omitempty"`
 25214  	// TCP flags.
 25215  	//
 25216  	// The valid values can be found at RFC 3168.
 25217  	// TCP flags are not supported by Traffic Filtering
 25218  	TcpFlags *IntExpression `xml:"tcpFlags,omitempty" json:"tcpFlags,omitempty"`
 25219  }
 25220  
 25221  func init() {
 25222  	t["DvsIpNetworkRuleQualifier"] = reflect.TypeOf((*DvsIpNetworkRuleQualifier)(nil)).Elem()
 25223  }
 25224  
 25225  // Base class for specifying Ports.
 25226  //
 25227  // Objects of the base class represent any port (single/range/list).
 25228  type DvsIpPort struct {
 25229  	NegatableExpression
 25230  }
 25231  
 25232  func init() {
 25233  	t["DvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem()
 25234  }
 25235  
 25236  // This class defines a range of Ports.
 25237  type DvsIpPortRange struct {
 25238  	DvsIpPort
 25239  
 25240  	// Starting port number of the ports range.
 25241  	StartPortNumber int32 `xml:"startPortNumber" json:"startPortNumber"`
 25242  	// Ending port number of the ports range.
 25243  	EndPortNumber int32 `xml:"endPortNumber" json:"endPortNumber"`
 25244  }
 25245  
 25246  func init() {
 25247  	t["DvsIpPortRange"] = reflect.TypeOf((*DvsIpPortRange)(nil)).Elem()
 25248  }
 25249  
 25250  // This class defines network rule action to just log the rule.
 25251  type DvsLogNetworkRuleAction struct {
 25252  	DvsNetworkRuleAction
 25253  }
 25254  
 25255  func init() {
 25256  	t["DvsLogNetworkRuleAction"] = reflect.TypeOf((*DvsLogNetworkRuleAction)(nil)).Elem()
 25257  }
 25258  
 25259  // This class defines the MAC Rule Qualifier.
 25260  //
 25261  // Here MAC addresses of source
 25262  // and destination will be used for classifying packets.
 25263  type DvsMacNetworkRuleQualifier struct {
 25264  	DvsNetworkRuleQualifier
 25265  
 25266  	// MAC address for source.
 25267  	//
 25268  	// If this property is NULL, it will match "any MAC address".
 25269  	SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
 25270  	// MAC address for destination.
 25271  	//
 25272  	// If this property is NULL, it will match "any MAC address".
 25273  	DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
 25274  	// Protocol used.
 25275  	//
 25276  	// This corresponds to the EtherType field in Ethernet
 25277  	// frame. The valid values can be found from IEEE list at:
 25278  	// http://standards.ieee.org/regauth/ as mentioned in RFC 5342.
 25279  	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
 25280  	// vlan id.
 25281  	VlanId *IntExpression `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 25282  }
 25283  
 25284  func init() {
 25285  	t["DvsMacNetworkRuleQualifier"] = reflect.TypeOf((*DvsMacNetworkRuleQualifier)(nil)).Elem()
 25286  }
 25287  
 25288  // This class defines network rule action to MAC Rewrite.
 25289  type DvsMacRewriteNetworkRuleAction struct {
 25290  	DvsNetworkRuleAction
 25291  
 25292  	// Rewrite Destination MAC with this MAC address.
 25293  	RewriteMac string `xml:"rewriteMac" json:"rewriteMac"`
 25294  }
 25295  
 25296  func init() {
 25297  	t["DvsMacRewriteNetworkRuleAction"] = reflect.TypeOf((*DvsMacRewriteNetworkRuleAction)(nil)).Elem()
 25298  }
 25299  
 25300  // Two distributed virtual switches was merged.
 25301  type DvsMergedEvent struct {
 25302  	DvsEvent
 25303  
 25304  	// The source DVS.
 25305  	SourceDvs DvsEventArgument `xml:"sourceDvs" json:"sourceDvs"`
 25306  	// The destination DVS.
 25307  	DestinationDvs DvsEventArgument `xml:"destinationDvs" json:"destinationDvs"`
 25308  }
 25309  
 25310  func init() {
 25311  	t["DvsMergedEvent"] = reflect.TypeOf((*DvsMergedEvent)(nil)).Elem()
 25312  }
 25313  
 25314  // This class is the base class for network rule action.
 25315  type DvsNetworkRuleAction struct {
 25316  	DynamicData
 25317  }
 25318  
 25319  func init() {
 25320  	t["DvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem()
 25321  }
 25322  
 25323  // This class is the base class for identifying network traffic.
 25324  type DvsNetworkRuleQualifier struct {
 25325  	DynamicData
 25326  
 25327  	// The key of the Qualifier
 25328  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25329  }
 25330  
 25331  func init() {
 25332  	t["DvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem()
 25333  }
 25334  
 25335  // Thrown if
 25336  // `DVSCapability.dvsOperationSupported`
 25337  // is false and `DVSConfigInfo.extensionKey` is not same
 25338  // as the extension key of the login-session.
 25339  type DvsNotAuthorized struct {
 25340  	DvsFault
 25341  
 25342  	// The extension key associated with the user-session.
 25343  	SessionExtensionKey string `xml:"sessionExtensionKey,omitempty" json:"sessionExtensionKey,omitempty"`
 25344  	// The value of `DVSConfigInfo.extensionKey`.
 25345  	DvsExtensionKey string `xml:"dvsExtensionKey,omitempty" json:"dvsExtensionKey,omitempty"`
 25346  }
 25347  
 25348  func init() {
 25349  	t["DvsNotAuthorized"] = reflect.TypeOf((*DvsNotAuthorized)(nil)).Elem()
 25350  }
 25351  
 25352  type DvsNotAuthorizedFault DvsNotAuthorized
 25353  
 25354  func init() {
 25355  	t["DvsNotAuthorizedFault"] = reflect.TypeOf((*DvsNotAuthorizedFault)(nil)).Elem()
 25356  }
 25357  
 25358  // Thrown if a DistributedVirtualSwitch operation failed on some of the host members.
 25359  type DvsOperationBulkFault struct {
 25360  	DvsFault
 25361  
 25362  	// Faults occurred on the host during a DistributedVirtualSwitch operation.
 25363  	HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault" json:"hostFault"`
 25364  }
 25365  
 25366  func init() {
 25367  	t["DvsOperationBulkFault"] = reflect.TypeOf((*DvsOperationBulkFault)(nil)).Elem()
 25368  }
 25369  
 25370  type DvsOperationBulkFaultFault DvsOperationBulkFault
 25371  
 25372  func init() {
 25373  	t["DvsOperationBulkFaultFault"] = reflect.TypeOf((*DvsOperationBulkFaultFault)(nil)).Elem()
 25374  }
 25375  
 25376  // The fault occurred on the host during an operation.
 25377  type DvsOperationBulkFaultFaultOnHost struct {
 25378  	DynamicData
 25379  
 25380  	// The host.
 25381  	//
 25382  	// Refers instance of `HostSystem`.
 25383  	Host ManagedObjectReference `xml:"host" json:"host"`
 25384  	// The fault that occurred.
 25385  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 25386  }
 25387  
 25388  func init() {
 25389  	t["DvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*DvsOperationBulkFaultFaultOnHost)(nil)).Elem()
 25390  }
 25391  
 25392  // The host on which the DVS configuration is different from that
 25393  // of Virtual Center server.
 25394  type DvsOutOfSyncHostArgument struct {
 25395  	DynamicData
 25396  
 25397  	// The host.
 25398  	OutOfSyncHost HostEventArgument `xml:"outOfSyncHost" json:"outOfSyncHost"`
 25399  	// The DVS configuration parameters that are different between
 25400  	// Virtual Center server and the host.
 25401  	ConfigParamters []string `xml:"configParamters" json:"configParamters"`
 25402  }
 25403  
 25404  func init() {
 25405  	t["DvsOutOfSyncHostArgument"] = reflect.TypeOf((*DvsOutOfSyncHostArgument)(nil)).Elem()
 25406  }
 25407  
 25408  // A port is blocked in the distributed virtual switch.
 25409  type DvsPortBlockedEvent struct {
 25410  	DvsEvent
 25411  
 25412  	// The port key.
 25413  	PortKey string `xml:"portKey" json:"portKey"`
 25414  	// Reason for port's current status
 25415  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 25416  	// The port runtime information.
 25417  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25418  	// Previous state of the DvsPort.
 25419  	//
 25420  	// See `DvsEventPortBlockState_enum`
 25421  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty"`
 25422  }
 25423  
 25424  func init() {
 25425  	t["DvsPortBlockedEvent"] = reflect.TypeOf((*DvsPortBlockedEvent)(nil)).Elem()
 25426  }
 25427  
 25428  // A port is connected in the distributed virtual switch.
 25429  type DvsPortConnectedEvent struct {
 25430  	DvsEvent
 25431  
 25432  	// The port key.
 25433  	PortKey string `xml:"portKey" json:"portKey"`
 25434  	// The port's connectee.
 25435  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 25436  }
 25437  
 25438  func init() {
 25439  	t["DvsPortConnectedEvent"] = reflect.TypeOf((*DvsPortConnectedEvent)(nil)).Elem()
 25440  }
 25441  
 25442  // New ports are created in the distributed virtual switch.
 25443  type DvsPortCreatedEvent struct {
 25444  	DvsEvent
 25445  
 25446  	// The key of the ports that are created.
 25447  	PortKey []string `xml:"portKey" json:"portKey"`
 25448  }
 25449  
 25450  func init() {
 25451  	t["DvsPortCreatedEvent"] = reflect.TypeOf((*DvsPortCreatedEvent)(nil)).Elem()
 25452  }
 25453  
 25454  // Existing ports are deleted in the distributed virtual switch.
 25455  type DvsPortDeletedEvent struct {
 25456  	DvsEvent
 25457  
 25458  	// The key of the ports that are deleted.
 25459  	PortKey []string `xml:"portKey" json:"portKey"`
 25460  }
 25461  
 25462  func init() {
 25463  	t["DvsPortDeletedEvent"] = reflect.TypeOf((*DvsPortDeletedEvent)(nil)).Elem()
 25464  }
 25465  
 25466  // A port is disconnected in the distributed virtual switch.
 25467  type DvsPortDisconnectedEvent struct {
 25468  	DvsEvent
 25469  
 25470  	// The port key.
 25471  	PortKey string `xml:"portKey" json:"portKey"`
 25472  	// The port's formal connectee.
 25473  	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
 25474  }
 25475  
 25476  func init() {
 25477  	t["DvsPortDisconnectedEvent"] = reflect.TypeOf((*DvsPortDisconnectedEvent)(nil)).Elem()
 25478  }
 25479  
 25480  // A port has entered passthrough mode on the distributed virtual switch.
 25481  type DvsPortEnteredPassthruEvent struct {
 25482  	DvsEvent
 25483  
 25484  	// The port key.
 25485  	PortKey string `xml:"portKey" json:"portKey"`
 25486  	// The port runtime information.
 25487  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25488  }
 25489  
 25490  func init() {
 25491  	t["DvsPortEnteredPassthruEvent"] = reflect.TypeOf((*DvsPortEnteredPassthruEvent)(nil)).Elem()
 25492  }
 25493  
 25494  // A port has exited passthrough mode on the distributed virtual switch.
 25495  type DvsPortExitedPassthruEvent struct {
 25496  	DvsEvent
 25497  
 25498  	// The port key.
 25499  	PortKey string `xml:"portKey" json:"portKey"`
 25500  	// The port runtime information.
 25501  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25502  }
 25503  
 25504  func init() {
 25505  	t["DvsPortExitedPassthruEvent"] = reflect.TypeOf((*DvsPortExitedPassthruEvent)(nil)).Elem()
 25506  }
 25507  
 25508  // A port was moved into the distributed virtual portgroup.
 25509  type DvsPortJoinPortgroupEvent struct {
 25510  	DvsEvent
 25511  
 25512  	// The port key.
 25513  	PortKey string `xml:"portKey" json:"portKey"`
 25514  	// The portgroup key.
 25515  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 25516  	// The portgroup name.
 25517  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 25518  }
 25519  
 25520  func init() {
 25521  	t["DvsPortJoinPortgroupEvent"] = reflect.TypeOf((*DvsPortJoinPortgroupEvent)(nil)).Elem()
 25522  }
 25523  
 25524  // A port was moved out of the distributed virtual portgroup.
 25525  type DvsPortLeavePortgroupEvent struct {
 25526  	DvsEvent
 25527  
 25528  	// The port key.
 25529  	PortKey string `xml:"portKey" json:"portKey"`
 25530  	// The portgroup key.
 25531  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 25532  	// The portgroup name.
 25533  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 25534  }
 25535  
 25536  func init() {
 25537  	t["DvsPortLeavePortgroupEvent"] = reflect.TypeOf((*DvsPortLeavePortgroupEvent)(nil)).Elem()
 25538  }
 25539  
 25540  // A port of which link status is changed to down in the distributed
 25541  // virtual switch.
 25542  type DvsPortLinkDownEvent struct {
 25543  	DvsEvent
 25544  
 25545  	// The port key.
 25546  	PortKey string `xml:"portKey" json:"portKey"`
 25547  	// The port runtime information.
 25548  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25549  }
 25550  
 25551  func init() {
 25552  	t["DvsPortLinkDownEvent"] = reflect.TypeOf((*DvsPortLinkDownEvent)(nil)).Elem()
 25553  }
 25554  
 25555  // A port of which link status is changed to up in the distributed
 25556  // virtual switch.
 25557  type DvsPortLinkUpEvent struct {
 25558  	DvsEvent
 25559  
 25560  	// The port key.
 25561  	PortKey string `xml:"portKey" json:"portKey"`
 25562  	// The port runtime information.
 25563  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25564  }
 25565  
 25566  func init() {
 25567  	t["DvsPortLinkUpEvent"] = reflect.TypeOf((*DvsPortLinkUpEvent)(nil)).Elem()
 25568  }
 25569  
 25570  // Existing ports are reconfigured in the distributed virtual switch.
 25571  type DvsPortReconfiguredEvent struct {
 25572  	DvsEvent
 25573  
 25574  	// The key of the ports that are reconfigured.
 25575  	PortKey []string `xml:"portKey" json:"portKey"`
 25576  	// The configuration values changed during the reconfiguration.
 25577  	ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 25578  }
 25579  
 25580  func init() {
 25581  	t["DvsPortReconfiguredEvent"] = reflect.TypeOf((*DvsPortReconfiguredEvent)(nil)).Elem()
 25582  }
 25583  
 25584  // A port of which runtime information is changed in the vNetwork Distributed
 25585  // Switch.
 25586  type DvsPortRuntimeChangeEvent struct {
 25587  	DvsEvent
 25588  
 25589  	// The port key.
 25590  	PortKey string `xml:"portKey" json:"portKey"`
 25591  	// The new port runtime information.
 25592  	RuntimeInfo DVPortStatus `xml:"runtimeInfo" json:"runtimeInfo"`
 25593  }
 25594  
 25595  func init() {
 25596  	t["DvsPortRuntimeChangeEvent"] = reflect.TypeOf((*DvsPortRuntimeChangeEvent)(nil)).Elem()
 25597  }
 25598  
 25599  // A port is unblocked in the distributed virtual switch.
 25600  type DvsPortUnblockedEvent struct {
 25601  	DvsEvent
 25602  
 25603  	// The port key.
 25604  	PortKey string `xml:"portKey" json:"portKey"`
 25605  	// The port runtime information.
 25606  	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
 25607  	// Previous state of the DvsPort.
 25608  	//
 25609  	// See `DvsEventPortBlockState_enum`
 25610  	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty"`
 25611  }
 25612  
 25613  func init() {
 25614  	t["DvsPortUnblockedEvent"] = reflect.TypeOf((*DvsPortUnblockedEvent)(nil)).Elem()
 25615  }
 25616  
 25617  // A port of which vendor specific state is changed in the vNetwork Distributed
 25618  // Switch.
 25619  type DvsPortVendorSpecificStateChangeEvent struct {
 25620  	DvsEvent
 25621  
 25622  	// The port key.
 25623  	PortKey string `xml:"portKey" json:"portKey"`
 25624  }
 25625  
 25626  func init() {
 25627  	t["DvsPortVendorSpecificStateChangeEvent"] = reflect.TypeOf((*DvsPortVendorSpecificStateChangeEvent)(nil)).Elem()
 25628  }
 25629  
 25630  // The `DvsProfile` data object represents the distributed virtual switch
 25631  // to which this host is connected.
 25632  //
 25633  // If a profile plug-in defines policies or subprofiles,
 25634  // use the `ApplyProfile.policy` or `ApplyProfile.property`
 25635  // list to access the additional configuration data.
 25636  type DvsProfile struct {
 25637  	ApplyProfile
 25638  
 25639  	// Linkable identifier.
 25640  	Key string `xml:"key" json:"key"`
 25641  	// Unique identifier for the distributed virtual switch.
 25642  	Name string `xml:"name" json:"name"`
 25643  	// List of subprofiles that map physical NICs to uplink ports.
 25644  	//
 25645  	// Use the `PnicUplinkProfile.key` property to access
 25646  	// subprofiles in the list.
 25647  	Uplink []PnicUplinkProfile `xml:"uplink,omitempty" json:"uplink,omitempty"`
 25648  }
 25649  
 25650  func init() {
 25651  	t["DvsProfile"] = reflect.TypeOf((*DvsProfile)(nil)).Elem()
 25652  }
 25653  
 25654  // This class defines network rule action to punt.
 25655  //
 25656  // i.e, forward packets
 25657  // to an associated slow-path service Virtual Machine.
 25658  type DvsPuntNetworkRuleAction struct {
 25659  	DvsNetworkRuleAction
 25660  }
 25661  
 25662  func init() {
 25663  	t["DvsPuntNetworkRuleAction"] = reflect.TypeOf((*DvsPuntNetworkRuleAction)(nil)).Elem()
 25664  }
 25665  
 25666  // This class defines network rule action to ratelimit packets.
 25667  type DvsRateLimitNetworkRuleAction struct {
 25668  	DvsNetworkRuleAction
 25669  
 25670  	// Rate limit value specified in packets per second.
 25671  	PacketsPerSecond int32 `xml:"packetsPerSecond" json:"packetsPerSecond"`
 25672  }
 25673  
 25674  func init() {
 25675  	t["DvsRateLimitNetworkRuleAction"] = reflect.TypeOf((*DvsRateLimitNetworkRuleAction)(nil)).Elem()
 25676  }
 25677  
 25678  // The parameters of `DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task`.
 25679  type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct {
 25680  	This ManagedObjectReference `xml:"_this" json:"-"`
 25681  	// The Virtual NIC network resource pool configuration specification and operation type.
 25682  	ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 25683  }
 25684  
 25685  func init() {
 25686  	t["DvsReconfigureVmVnicNetworkResourcePoolRequestType"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePoolRequestType)(nil)).Elem()
 25687  }
 25688  
 25689  type DvsReconfigureVmVnicNetworkResourcePool_Task DvsReconfigureVmVnicNetworkResourcePoolRequestType
 25690  
 25691  func init() {
 25692  	t["DvsReconfigureVmVnicNetworkResourcePool_Task"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePool_Task)(nil)).Elem()
 25693  }
 25694  
 25695  type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct {
 25696  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 25697  }
 25698  
 25699  // A distributed virtual switch was reconfigured.
 25700  type DvsReconfiguredEvent struct {
 25701  	DvsEvent
 25702  
 25703  	// The reconfiguration spec.
 25704  	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
 25705  	// The configuration values changed during the reconfiguration.
 25706  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 25707  }
 25708  
 25709  func init() {
 25710  	t["DvsReconfiguredEvent"] = reflect.TypeOf((*DvsReconfiguredEvent)(nil)).Elem()
 25711  }
 25712  
 25713  // A distributed virtual switch was renamed.
 25714  type DvsRenamedEvent struct {
 25715  	DvsEvent
 25716  
 25717  	// The old DistributedVirtualSwitch name.
 25718  	OldName string `xml:"oldName" json:"oldName"`
 25719  	// The new DistributedVirtualSwitch name.
 25720  	NewName string `xml:"newName" json:"newName"`
 25721  }
 25722  
 25723  func init() {
 25724  	t["DvsRenamedEvent"] = reflect.TypeOf((*DvsRenamedEvent)(nil)).Elem()
 25725  }
 25726  
 25727  // This class defines the bandwidth reservation information for the
 25728  // vSphere Distributed Switch.
 25729  type DvsResourceRuntimeInfo struct {
 25730  	DynamicData
 25731  
 25732  	// Capacity: Total Reservation allocated for Virtual Machine
 25733  	// Traffic for this switch.
 25734  	//
 25735  	// Units in Mbits/s.
 25736  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 25737  	// usage: Current total usage.
 25738  	//
 25739  	// This is the sum of all reservations
 25740  	// allocated to `DVSVmVnicNetworkResourcePool` on this switch and the
 25741  	// sum of reservation taken by `VirtualEthernetCard` whose
 25742  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`.
 25743  	// Units in Mbits/s.
 25744  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 25745  	// Available: Current available resource for reservation (capacity - usage).
 25746  	//
 25747  	// Units in Mbits/s.
 25748  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 25749  	// The reservation taken by `VirtualEthernetCard` of which the
 25750  	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`
 25751  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 25752  	// The runtime information of `DVSVmVnicNetworkResourcePool`.
 25753  	VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty" json:"vmVnicNetworkResourcePoolRuntime,omitempty"`
 25754  }
 25755  
 25756  func init() {
 25757  	t["DvsResourceRuntimeInfo"] = reflect.TypeOf((*DvsResourceRuntimeInfo)(nil)).Elem()
 25758  }
 25759  
 25760  // This event is generated when a restore operation is
 25761  // performed on a distributed virtual switch
 25762  type DvsRestoreEvent struct {
 25763  	DvsEvent
 25764  }
 25765  
 25766  func init() {
 25767  	t["DvsRestoreEvent"] = reflect.TypeOf((*DvsRestoreEvent)(nil)).Elem()
 25768  }
 25769  
 25770  // Deprecated as of vSphere API 5.5.
 25771  //
 25772  // Thrown if a entity trying to connect to a port or portgroup but it is not in the
 25773  // port or portgroup's scope.
 25774  type DvsScopeViolated struct {
 25775  	DvsFault
 25776  
 25777  	// The configured scope.
 25778  	//
 25779  	// Refers instances of `ManagedEntity`.
 25780  	Scope []ManagedObjectReference `xml:"scope" json:"scope"`
 25781  	// The entity that violates the scope.
 25782  	//
 25783  	// Refers instance of `ManagedEntity`.
 25784  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 25785  }
 25786  
 25787  func init() {
 25788  	t["DvsScopeViolated"] = reflect.TypeOf((*DvsScopeViolated)(nil)).Elem()
 25789  }
 25790  
 25791  type DvsScopeViolatedFault DvsScopeViolated
 25792  
 25793  func init() {
 25794  	t["DvsScopeViolatedFault"] = reflect.TypeOf((*DvsScopeViolatedFault)(nil)).Elem()
 25795  }
 25796  
 25797  // The `DvsServiceConsoleVNicProfile` data object describes the IP configuration
 25798  // for a service console Virtual NIC connected to a distributed virtual switch.
 25799  //
 25800  // The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address.
 25801  // If a profile plug-in defines policies or subprofiles, use the
 25802  // `ApplyProfile.policy` or `ApplyProfile.property`
 25803  // list to access the additional configuration data.
 25804  type DvsServiceConsoleVNicProfile struct {
 25805  	DvsVNicProfile
 25806  }
 25807  
 25808  func init() {
 25809  	t["DvsServiceConsoleVNicProfile"] = reflect.TypeOf((*DvsServiceConsoleVNicProfile)(nil)).Elem()
 25810  }
 25811  
 25812  // This class defines a Single Port
 25813  type DvsSingleIpPort struct {
 25814  	DvsIpPort
 25815  
 25816  	// The IP port number.
 25817  	PortNumber int32 `xml:"portNumber" json:"portNumber"`
 25818  }
 25819  
 25820  func init() {
 25821  	t["DvsSingleIpPort"] = reflect.TypeOf((*DvsSingleIpPort)(nil)).Elem()
 25822  }
 25823  
 25824  // This class defines the System Traffic Qualifier.
 25825  //
 25826  // Here the type of
 25827  // traffic will be used for classifying packets.
 25828  type DvsSystemTrafficNetworkRuleQualifier struct {
 25829  	DvsNetworkRuleQualifier
 25830  
 25831  	// Type of system traffic.
 25832  	//
 25833  	// See `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`
 25834  	// for valid values.
 25835  	TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty" json:"typeOfSystemTraffic,omitempty"`
 25836  }
 25837  
 25838  func init() {
 25839  	t["DvsSystemTrafficNetworkRuleQualifier"] = reflect.TypeOf((*DvsSystemTrafficNetworkRuleQualifier)(nil)).Elem()
 25840  }
 25841  
 25842  // This class defines Traffic Filter configuration.
 25843  //
 25844  // ** Supported Qualifier and Actions **
 25845  // <table border="1"width="100%">
 25846  // <tr>
 25847  // <th>Traffic Filter Config</th>
 25848  // <th>Supported classes</th>
 25849  // </tr>
 25850  // <tr>
 25851  // <td>Qualifiers supported</td>
 25852  // <td>`SingleIp`, `IpRange`,
 25853  // `SingleMac`, `MacRange`,
 25854  // `DvsSingleIpPort`,
 25855  // `DvsSystemTrafficNetworkRuleQualifier`
 25856  // </td>
 25857  // </tr>
 25858  // <tr>
 25859  // <td>Actions Supported</td>
 25860  // <td>`DvsDropNetworkRuleAction`,
 25861  // `DvsAcceptNetworkRuleAction`,
 25862  // `DvsPuntNetworkRuleAction`,
 25863  // `DvsCopyNetworkRuleAction`,
 25864  // `DvsMacRewriteNetworkRuleAction`,
 25865  // `DvsGreEncapNetworkRuleAction`,
 25866  // `DvsLogNetworkRuleAction`,
 25867  // `DvsUpdateTagNetworkRuleAction`,
 25868  // `DvsRateLimitNetworkRuleAction`
 25869  // </td>
 25870  // </tr>
 25871  type DvsTrafficFilterConfig struct {
 25872  	DvsFilterConfig
 25873  
 25874  	// Network Traffic Ruleset
 25875  	TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty" json:"trafficRuleset,omitempty"`
 25876  }
 25877  
 25878  func init() {
 25879  	t["DvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem()
 25880  }
 25881  
 25882  // The specification to reconfigure Traffic Filter.
 25883  //
 25884  // This specification allows the user to do fine-grained updates for the
 25885  // Traffic Filter in the port settings.
 25886  // If the operation is `remove`, only the
 25887  // `DistributedVirtualPort.key` needs to be specified.
 25888  // If other fields are specified, they will be ignored. We cannot remove
 25889  // an inherited element. Only when the inherited flag is set to false and
 25890  // parent does not have an element with same key this operation succeeds.
 25891  // If the operation is `add`, then
 25892  // `DistributedVirtualPort.key` should not be specified and
 25893  // other fields need to be specified. The inherited flag should be set to
 25894  // false.
 25895  // If the operation is `edit`, then
 25896  // `DistributedVirtualPort.key` needs be specified and
 25897  // specify the other properties that need modification. If the inherited
 25898  // flag is set to true, a `DvsTrafficFilterConfig` object of same
 25899  // key must exist at the parent's level. The property values in the spec
 25900  // object will be ignored and use the values from the parent's
 25901  // `DvsTrafficFilterConfig` object instead. If inherited
 25902  // flag is set to false, then the new modifications will be applied.
 25903  type DvsTrafficFilterConfigSpec struct {
 25904  	DvsTrafficFilterConfig
 25905  
 25906  	// Operation type.
 25907  	//
 25908  	// See `ConfigSpecOperation_enum` for valid values.
 25909  	Operation string `xml:"operation" json:"operation"`
 25910  }
 25911  
 25912  func init() {
 25913  	t["DvsTrafficFilterConfigSpec"] = reflect.TypeOf((*DvsTrafficFilterConfigSpec)(nil)).Elem()
 25914  }
 25915  
 25916  // This class defines a single rule that will be applied to network traffic.
 25917  type DvsTrafficRule struct {
 25918  	DynamicData
 25919  
 25920  	// The key of the rule
 25921  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25922  	// Description of the rule
 25923  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 25924  	// Sequence of this rule.
 25925  	//
 25926  	// i.e, the order in which this rule appears
 25927  	// in the ruleset.
 25928  	Sequence int32 `xml:"sequence,omitempty" json:"sequence,omitempty"`
 25929  	// List of Network rule qualifiers.
 25930  	//
 25931  	// 'AND' of this array of
 25932  	// network rule qualifiers is applied as one network traffic rule.
 25933  	// If the TrafficRule belongs to
 25934  	// `DvsFilterPolicy` :
 25935  	// There can be a maximum of 1 `DvsIpNetworkRuleQualifier`,
 25936  	// 1 `DvsMacNetworkRuleQualifier` and
 25937  	// 1 `DvsSystemTrafficNetworkRuleQualifier` for a total of
 25938  	// 3 `DvsTrafficRule.qualifier`
 25939  	Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr" json:"qualifier,omitempty"`
 25940  	// Action to be applied for this rule.
 25941  	Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
 25942  	// Whether this rule needs to be applied to incoming packets,
 25943  	// to outgoing packets or both.
 25944  	//
 25945  	// See `DvsNetworkRuleDirectionType_enum` for valid values.
 25946  	Direction string `xml:"direction,omitempty" json:"direction,omitempty"`
 25947  }
 25948  
 25949  func init() {
 25950  	t["DvsTrafficRule"] = reflect.TypeOf((*DvsTrafficRule)(nil)).Elem()
 25951  }
 25952  
 25953  // This class defines a ruleset(set of rules) that will be
 25954  // applied to network traffic.
 25955  type DvsTrafficRuleset struct {
 25956  	DynamicData
 25957  
 25958  	// The key of the ruleset.
 25959  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 25960  	// Whether ruleset is enabled or not.
 25961  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 25962  	// Precedence of the ruleset.
 25963  	//
 25964  	// Rulesets for a port will be executed
 25965  	// in the order of their precedence.
 25966  	Precedence int32 `xml:"precedence,omitempty" json:"precedence,omitempty"`
 25967  	// List of rules belonging to this ruleset.
 25968  	Rules []DvsTrafficRule `xml:"rules,omitempty" json:"rules,omitempty"`
 25969  }
 25970  
 25971  func init() {
 25972  	t["DvsTrafficRuleset"] = reflect.TypeOf((*DvsTrafficRuleset)(nil)).Elem()
 25973  }
 25974  
 25975  // This class defines network rule action to tag packets(qos,dscp) or
 25976  // clear tags(clear qos, dscp tags) on packets.
 25977  //
 25978  // One or both of qos and dscp may be specified.
 25979  type DvsUpdateTagNetworkRuleAction struct {
 25980  	DvsNetworkRuleAction
 25981  
 25982  	// QOS tag.
 25983  	//
 25984  	// IEEE 802.1p supports 3 bit Priority Code Point (PCP).
 25985  	// The valid values are between 0-7. Please refer the IEEE 802.1p
 25986  	// documentation for more details about what each value represents.
 25987  	// If qosTag is set to 0 then the tag on the packets will be cleared.
 25988  	QosTag int32 `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 25989  	// DSCP tag.
 25990  	//
 25991  	// The valid values for DSCP tag can be found in
 25992  	// 'Differentiated Services Field Codepoints' section of IANA website.
 25993  	// The information can also be got from reading all of the below RFC:
 25994  	// RFC 2474, RFC 2597, RFC 3246, RFC 5865.
 25995  	// If the dscpTag is set to 0 then the dscp tag on packets will be cleared.
 25996  	DscpTag int32 `xml:"dscpTag,omitempty" json:"dscpTag,omitempty"`
 25997  }
 25998  
 25999  func init() {
 26000  	t["DvsUpdateTagNetworkRuleAction"] = reflect.TypeOf((*DvsUpdateTagNetworkRuleAction)(nil)).Elem()
 26001  }
 26002  
 26003  // An upgrade for the distributed virtual switch is available.
 26004  type DvsUpgradeAvailableEvent struct {
 26005  	DvsEvent
 26006  
 26007  	// The product info of the upgrade.
 26008  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26009  }
 26010  
 26011  func init() {
 26012  	t["DvsUpgradeAvailableEvent"] = reflect.TypeOf((*DvsUpgradeAvailableEvent)(nil)).Elem()
 26013  }
 26014  
 26015  // An upgrade for the distributed virtual switch is in progress.
 26016  type DvsUpgradeInProgressEvent struct {
 26017  	DvsEvent
 26018  
 26019  	// The product info of the upgrade.
 26020  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26021  }
 26022  
 26023  func init() {
 26024  	t["DvsUpgradeInProgressEvent"] = reflect.TypeOf((*DvsUpgradeInProgressEvent)(nil)).Elem()
 26025  }
 26026  
 26027  // An upgrade for the distributed virtual switch is rejected.
 26028  type DvsUpgradeRejectedEvent struct {
 26029  	DvsEvent
 26030  
 26031  	// The product info of the upgrade.
 26032  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26033  }
 26034  
 26035  func init() {
 26036  	t["DvsUpgradeRejectedEvent"] = reflect.TypeOf((*DvsUpgradeRejectedEvent)(nil)).Elem()
 26037  }
 26038  
 26039  // The distributed virtual switch was upgraded.
 26040  type DvsUpgradedEvent struct {
 26041  	DvsEvent
 26042  
 26043  	// The product info of the upgrade.
 26044  	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
 26045  }
 26046  
 26047  func init() {
 26048  	t["DvsUpgradedEvent"] = reflect.TypeOf((*DvsUpgradedEvent)(nil)).Elem()
 26049  }
 26050  
 26051  // The `DvsVNicProfile` data object is the base object
 26052  // for host and service console Virtual NIC subprofiles.
 26053  //
 26054  // If a profile plug-in defines additional policies or subprofiles, use the
 26055  // `ApplyProfile.policy` or `ApplyProfile.property`
 26056  // list to access the configuration data.
 26057  type DvsVNicProfile struct {
 26058  	ApplyProfile
 26059  
 26060  	// Linkable identifier.
 26061  	Key string `xml:"key" json:"key"`
 26062  	// IP address for the Virtual NIC belonging to a distributed virtual switch.
 26063  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 26064  }
 26065  
 26066  func init() {
 26067  	t["DvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem()
 26068  }
 26069  
 26070  // This class defines the runtime information for the
 26071  // virtual NIC network resource pool
 26072  type DvsVmVnicNetworkResourcePoolRuntimeInfo struct {
 26073  	DynamicData
 26074  
 26075  	// The key of the virtual NIC network resource pool
 26076  	Key string `xml:"key" json:"key"`
 26077  	// The name of the virtual NIC network resource pool
 26078  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26079  	// Capacity: Reservation allocated for this Network Resource Pool.
 26080  	//
 26081  	// Units in Mbits/s.
 26082  	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 26083  	// usage: Reservation taken by all `VirtualEthernetCard` for which the
 26084  	// backing is associdated with this `DVSVmVnicNetworkResourcePool`.
 26085  	//
 26086  	// Units in Mbits/s.
 26087  	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
 26088  	// Available: Current available resource for reservation (capacity - usage).
 26089  	//
 26090  	// Units in Mbits/s.
 26091  	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
 26092  	// The status of the virtual NIC network resource pool
 26093  	// See `ManagedEntityStatus_enum` for possible values
 26094  	//
 26095  	// `red` indicates that the
 26096  	// reservations used by all the virtual network adapters belonging
 26097  	// to this resource pool exceeds the total reservation quota allocated to the
 26098  	// resource pool. This can happen due to failure of one or more uplink
 26099  	// or if the user bypasses VirtualCenter and powers on VMs directly on host.
 26100  	// The reservation of one or more virtual network adapters cannot be guaranteed
 26101  	// and corrective action needs to be taken by the user.
 26102  	//
 26103  	// `green` indicates that the resource pool
 26104  	// is in good state. The reservations for all virtual network adapters can
 26105  	// be fulfilled.
 26106  	Status string `xml:"status" json:"status"`
 26107  	// The virtual network adapaters that
 26108  	// are currently associated with the resource pool
 26109  	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
 26110  }
 26111  
 26112  func init() {
 26113  	t["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*DvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem()
 26114  }
 26115  
 26116  // Resource allocation information for a virtual NIC network resource pool.
 26117  type DvsVmVnicResourceAllocation struct {
 26118  	DynamicData
 26119  
 26120  	// Quota for the total amount of virtual machine nic reservation in this pool.
 26121  	//
 26122  	// Unit in Mbits/sec.
 26123  	ReservationQuota int64 `xml:"reservationQuota,omitempty" json:"reservationQuota,omitempty"`
 26124  }
 26125  
 26126  func init() {
 26127  	t["DvsVmVnicResourceAllocation"] = reflect.TypeOf((*DvsVmVnicResourceAllocation)(nil)).Elem()
 26128  }
 26129  
 26130  // The configuration specification data object to update the resource configuration
 26131  // for a virtual NIC network resource pool.
 26132  type DvsVmVnicResourcePoolConfigSpec struct {
 26133  	DynamicData
 26134  
 26135  	// The type of operation on the virtual NIC network resource pool
 26136  	// Possible value can be of
 26137  	// `ConfigSpecOperation_enum`
 26138  	Operation string `xml:"operation" json:"operation"`
 26139  	// The key of the network resource pool.
 26140  	//
 26141  	// The property is ignored for add
 26142  	// operations.
 26143  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 26144  	// The configVersion is a unique identifier for a given version
 26145  	// of the configuration.
 26146  	//
 26147  	// Each change to the configuration will
 26148  	// update this value. This is typically implemented as a
 26149  	// non-decreasing count or a time-stamp. However, a client should
 26150  	// always treat this as an opaque string.
 26151  	//
 26152  	// If specified when updating the resource configuration, the
 26153  	// changes will only be applied if the current configVersion matches the
 26154  	// specified configVersion. This field can be used to guard against
 26155  	// updates that that may have occurred between the time when configVersion
 26156  	// was read and when it is applied.
 26157  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 26158  	// The resource allocation for the virtual NIC network resource pool.
 26159  	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
 26160  	// The name for the virtual NIC network resource pool.
 26161  	//
 26162  	// The property is required for Add operations.
 26163  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 26164  	// The description for the virtual NIC network resource pool.
 26165  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 26166  }
 26167  
 26168  func init() {
 26169  	t["DvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*DvsVmVnicResourcePoolConfigSpec)(nil)).Elem()
 26170  }
 26171  
 26172  // This class defines the allocated resource information on a virtual NIC
 26173  type DvsVnicAllocatedResource struct {
 26174  	DynamicData
 26175  
 26176  	// The virtual machine
 26177  	//
 26178  	// Refers instance of `VirtualMachine`.
 26179  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 26180  	// The virtual NIC key
 26181  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 26182  	// The reservation specification on the virtual NIC.
 26183  	//
 26184  	// Units in Mbits/s
 26185  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 26186  }
 26187  
 26188  func init() {
 26189  	t["DvsVnicAllocatedResource"] = reflect.TypeOf((*DvsVnicAllocatedResource)(nil)).Elem()
 26190  }
 26191  
 26192  // DynamicArray is a data object type that represents an array of dynamically-typed
 26193  // objects.
 26194  //
 26195  // A client should only see a DynamicArray object when the element type
 26196  // is unknown (meaning the type is newer than the client). Otherwise, a client would
 26197  // see the type as T\[\] where T is known.
 26198  type DynamicArray struct {
 26199  	// Array of dynamic values.
 26200  	Val []AnyType `xml:"val,typeattr" json:"val"`
 26201  }
 26202  
 26203  func init() {
 26204  	t["DynamicArray"] = reflect.TypeOf((*DynamicArray)(nil)).Elem()
 26205  }
 26206  
 26207  type DynamicData struct {
 26208  }
 26209  
 26210  func init() {
 26211  	t["DynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem()
 26212  }
 26213  
 26214  // The DynamicProperty data object type represents a name-value pair.
 26215  type DynamicProperty struct {
 26216  	// Path to the property.
 26217  	Name string `xml:"name" json:"name"`
 26218  	// Value of the property.
 26219  	Val AnyType `xml:"val,typeattr" json:"val"`
 26220  }
 26221  
 26222  func init() {
 26223  	t["DynamicProperty"] = reflect.TypeOf((*DynamicProperty)(nil)).Elem()
 26224  }
 26225  
 26226  // The host does not satisfy the admission requirements for the Enhanced
 26227  // VMotion Compatibility mode of the cluster.
 26228  type EVCAdmissionFailed struct {
 26229  	NotSupportedHostInCluster
 26230  
 26231  	// The faults that caused this EVC test to fail
 26232  	// (e.g.
 26233  	//
 26234  	// FeatureRequirementsNotMet faults).
 26235  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 26236  }
 26237  
 26238  func init() {
 26239  	t["EVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem()
 26240  }
 26241  
 26242  // The host's CPU hardware is a family/model that should support the
 26243  // Enhanced VMotion Compatibility mode of the cluster, but some necessary
 26244  // CPU features are not present.
 26245  type EVCAdmissionFailedCPUFeaturesForMode struct {
 26246  	EVCAdmissionFailed
 26247  
 26248  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 26249  	// the cluster.
 26250  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 26251  }
 26252  
 26253  func init() {
 26254  	t["EVCAdmissionFailedCPUFeaturesForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForMode)(nil)).Elem()
 26255  }
 26256  
 26257  type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode
 26258  
 26259  func init() {
 26260  	t["EVCAdmissionFailedCPUFeaturesForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForModeFault)(nil)).Elem()
 26261  }
 26262  
 26263  // The host's CPU hardware is a family/model that does not support any
 26264  // Enhanced VMotion Compatibility mode.
 26265  type EVCAdmissionFailedCPUModel struct {
 26266  	EVCAdmissionFailed
 26267  }
 26268  
 26269  func init() {
 26270  	t["EVCAdmissionFailedCPUModel"] = reflect.TypeOf((*EVCAdmissionFailedCPUModel)(nil)).Elem()
 26271  }
 26272  
 26273  type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel
 26274  
 26275  func init() {
 26276  	t["EVCAdmissionFailedCPUModelFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelFault)(nil)).Elem()
 26277  }
 26278  
 26279  // The host's CPU hardware is a family/model that does not support the Enhanced
 26280  // VMotion Compatibility mode of the cluster.
 26281  type EVCAdmissionFailedCPUModelForMode struct {
 26282  	EVCAdmissionFailed
 26283  
 26284  	// The Enhanced VMotion Compatibility mode that is currently in effect for
 26285  	// the cluster.
 26286  	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
 26287  }
 26288  
 26289  func init() {
 26290  	t["EVCAdmissionFailedCPUModelForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForMode)(nil)).Elem()
 26291  }
 26292  
 26293  type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode
 26294  
 26295  func init() {
 26296  	t["EVCAdmissionFailedCPUModelForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForModeFault)(nil)).Elem()
 26297  }
 26298  
 26299  // The host's CPU vendor does not match the required CPU vendor for the
 26300  // Enhanced VMotion Compatibility mode of the cluster.
 26301  type EVCAdmissionFailedCPUVendor struct {
 26302  	EVCAdmissionFailed
 26303  
 26304  	// The CPU vendor required for entering the cluster.
 26305  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 26306  	// The CPU vendor of the host.
 26307  	HostCPUVendor string `xml:"hostCPUVendor" json:"hostCPUVendor"`
 26308  }
 26309  
 26310  func init() {
 26311  	t["EVCAdmissionFailedCPUVendor"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendor)(nil)).Elem()
 26312  }
 26313  
 26314  type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor
 26315  
 26316  func init() {
 26317  	t["EVCAdmissionFailedCPUVendorFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorFault)(nil)).Elem()
 26318  }
 26319  
 26320  // The host's CPU vendor is unknown, which prevents admission into an Enhanced
 26321  // VMotion Compatibility cluster.
 26322  type EVCAdmissionFailedCPUVendorUnknown struct {
 26323  	EVCAdmissionFailed
 26324  }
 26325  
 26326  func init() {
 26327  	t["EVCAdmissionFailedCPUVendorUnknown"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknown)(nil)).Elem()
 26328  }
 26329  
 26330  type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown
 26331  
 26332  func init() {
 26333  	t["EVCAdmissionFailedCPUVendorUnknownFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknownFault)(nil)).Elem()
 26334  }
 26335  
 26336  type EVCAdmissionFailedFault BaseEVCAdmissionFailed
 26337  
 26338  func init() {
 26339  	t["EVCAdmissionFailedFault"] = reflect.TypeOf((*EVCAdmissionFailedFault)(nil)).Elem()
 26340  }
 26341  
 26342  // The host is not connected, which prevents admission into an Enhanced
 26343  // VMotion Compatibility cluster.
 26344  type EVCAdmissionFailedHostDisconnected struct {
 26345  	EVCAdmissionFailed
 26346  }
 26347  
 26348  func init() {
 26349  	t["EVCAdmissionFailedHostDisconnected"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnected)(nil)).Elem()
 26350  }
 26351  
 26352  type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected
 26353  
 26354  func init() {
 26355  	t["EVCAdmissionFailedHostDisconnectedFault"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnectedFault)(nil)).Elem()
 26356  }
 26357  
 26358  // The host's software does not support any Enhanced VMotion Compatibility mode.
 26359  type EVCAdmissionFailedHostSoftware struct {
 26360  	EVCAdmissionFailed
 26361  }
 26362  
 26363  func init() {
 26364  	t["EVCAdmissionFailedHostSoftware"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftware)(nil)).Elem()
 26365  }
 26366  
 26367  type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware
 26368  
 26369  func init() {
 26370  	t["EVCAdmissionFailedHostSoftwareFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareFault)(nil)).Elem()
 26371  }
 26372  
 26373  // The host's software does not support the Enhanced VMotion Compatibility
 26374  // mode of the cluster.
 26375  type EVCAdmissionFailedHostSoftwareForMode struct {
 26376  	EVCAdmissionFailed
 26377  }
 26378  
 26379  func init() {
 26380  	t["EVCAdmissionFailedHostSoftwareForMode"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForMode)(nil)).Elem()
 26381  }
 26382  
 26383  type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode
 26384  
 26385  func init() {
 26386  	t["EVCAdmissionFailedHostSoftwareForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForModeFault)(nil)).Elem()
 26387  }
 26388  
 26389  // An attempt to move or add a host into an Enhanced VMotion Compatibility
 26390  // cluster has failed for the following reason:
 26391  //   - The host exposes additional compatibility-relevant CPU features beyond
 26392  //     those present in the baseline mandated by the cluster's EVC mode.
 26393  //   - The host has powered-on or suspended virtual machines.
 26394  //
 26395  // Therefore the host may not be admitted into the cluster, since its virtual
 26396  // machines may be using CPU features suppressed in the cluster.
 26397  //
 26398  // Note that in rare cases, this may occur even if the host's
 26399  // `maxEVCModeKey` corresponds to the EVC
 26400  // mode of the cluster. This means that even though that EVC mode is the best
 26401  // match for the host's hardware, the host still has some features beyond
 26402  // those present in the baseline for that EVC mode.
 26403  type EVCAdmissionFailedVmActive struct {
 26404  	EVCAdmissionFailed
 26405  }
 26406  
 26407  func init() {
 26408  	t["EVCAdmissionFailedVmActive"] = reflect.TypeOf((*EVCAdmissionFailedVmActive)(nil)).Elem()
 26409  }
 26410  
 26411  type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive
 26412  
 26413  func init() {
 26414  	t["EVCAdmissionFailedVmActiveFault"] = reflect.TypeOf((*EVCAdmissionFailedVmActiveFault)(nil)).Elem()
 26415  }
 26416  
 26417  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed.
 26418  type EVCConfigFault struct {
 26419  	VimFault
 26420  
 26421  	// The faults that caused this EVC test to fail,
 26422  	// such as `FeatureRequirementsNotMet` faults.
 26423  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 26424  }
 26425  
 26426  func init() {
 26427  	t["EVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem()
 26428  }
 26429  
 26430  type EVCConfigFaultFault BaseEVCConfigFault
 26431  
 26432  func init() {
 26433  	t["EVCConfigFaultFault"] = reflect.TypeOf((*EVCConfigFaultFault)(nil)).Elem()
 26434  }
 26435  
 26436  // The `EVCMode` data object describes an Enhanced vMotion Compatibility mode.
 26437  //
 26438  // An EVC mode is associated with a set of CPU features. A vCenter Server defines
 26439  // the available EVC modes. You use them to establish a common set of features
 26440  // for compatibility between hosts in a cluster. An EVC-enabled cluster supports
 26441  // safe vMotion of virtual machines across a range of CPU generations.
 26442  // You must use the vSphere Client to configure EVC.
 26443  //
 26444  // When you add a host to an EVC-enabled cluster, the vCenter Server determines
 26445  // the CPU compatibility to preserve vMotion compatibility within the cluster.
 26446  // If the host CPU is compatible with those already in the cluster, the Server
 26447  // adds the host to the cluster and configures it for compatible operation.
 26448  // Hosts that are not compatible are not allowed to join the cluster.
 26449  //
 26450  // The inherited `ElementDescription.key` property is a string value
 26451  // that uniquely identifies an EVC mode. The vCenter Server assigns
 26452  // the key value; the vSphere API uses the key to identify modes
 26453  // in summary and information objects:
 26454  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCModeKey`
 26455  //   - `HostListSummary*.*HostListSummary.currentEVCModeKey`
 26456  //   - `HostListSummary*.*HostListSummary.maxEVCModeKey`
 26457  //   - `VirtualMachineRuntimeInfo*.*VirtualMachineRuntimeInfo.minRequiredEVCModeKey`
 26458  //
 26459  // The inherited `Description.label` and `Description.summary`
 26460  // properties are human-readable strings.
 26461  //
 26462  // You can use the `EVCMode.track` and `EVCMode.vendorTier` properties to determine
 26463  // feature-superset relationships between modes without examining the
 26464  // individual feature bits in `EVCMode.guaranteedCPUFeatures`.
 26465  // The CPU feature baseline of mode A is a superset of mode B's baseline
 26466  // if and only if:
 26467  //   - modeA.track is the same as or a superset of modeB.track
 26468  //   - modeA.vendorTier is equal to or greater than modeB.vendorTier
 26469  //
 26470  // Use the `EVCMode.track` and `EVCMode.vendorTier` properties only for the
 26471  // purpose of feature-superset calculations as described above. Do not use
 26472  // them to infer the presence or absence of specific features. The
 26473  // property values for a given mode may change across releases
 26474  // as the set of available EVC modes changes, to better represent mode
 26475  // relationships.
 26476  type EVCMode struct {
 26477  	ElementDescription
 26478  
 26479  	// Deprecated as of vSphere API 6.5 use `EVCMode.featureCapability`.
 26480  	//
 26481  	// Describes the CPU feature baseline associated with the EVC mode.
 26482  	//
 26483  	// On the cluster where a particular EVC mode is configured,
 26484  	// those CPU features are guaranteed, either because the host
 26485  	// hardware naturally matches those features or because CPU feature override
 26486  	// is used to mask out differences and enforce a match.
 26487  	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
 26488  	// Describes the feature capability baseline associated with the EVC mode.
 26489  	//
 26490  	// On the cluster where a particular EVC mode is configured,
 26491  	// these features capabilities are guaranteed, either because the host
 26492  	// hardware naturally matches those features or because feature masks
 26493  	// are used to mask out differences and enforce a match.
 26494  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 26495  	// The masks (modifications to a host's feature capabilities) that limit a
 26496  	// host's capabilities to that of the EVC mode baseline.
 26497  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 26498  	// The conditions that must be true of a host's feature capabilities in order
 26499  	// for the host to meet the minimum requirements of the EVC mode baseline.
 26500  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 26501  	// CPU hardware vendor required for this mode.
 26502  	Vendor string `xml:"vendor" json:"vendor"`
 26503  	// Identifiers for feature groups that are at least partially present in
 26504  	// the `EVCMode.guaranteedCPUFeatures` array for this mode.
 26505  	//
 26506  	// Use this property to compare track values from two modes.
 26507  	// Do not use this property to determine the presence or absence of
 26508  	// specific features.
 26509  	Track []string `xml:"track,omitempty" json:"track,omitempty"`
 26510  	// Index for ordering the set of modes that apply to a given CPU vendor.
 26511  	//
 26512  	// Use this property to compare vendor tier values from two modes.
 26513  	// Do not use this property to determine the presence or absence
 26514  	// of specific features.
 26515  	VendorTier int32 `xml:"vendorTier" json:"vendorTier"`
 26516  }
 26517  
 26518  func init() {
 26519  	t["EVCMode"] = reflect.TypeOf((*EVCMode)(nil)).Elem()
 26520  }
 26521  
 26522  // An attempt to enable Enhanced VMotion Compatibility on a cluster, or change
 26523  // the EVC configuration on an EVC-enabled cluster, has failed because the
 26524  // selected EVC mode is not legal for the CPU hardware vendor of the hosts
 26525  // currently in the cluster.
 26526  type EVCModeIllegalByVendor struct {
 26527  	EVCConfigFault
 26528  
 26529  	// The CPU vendor in use in the cluster.
 26530  	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
 26531  	// The CPU vendor for the requested EVC mode.
 26532  	ModeCPUVendor string `xml:"modeCPUVendor" json:"modeCPUVendor"`
 26533  }
 26534  
 26535  func init() {
 26536  	t["EVCModeIllegalByVendor"] = reflect.TypeOf((*EVCModeIllegalByVendor)(nil)).Elem()
 26537  }
 26538  
 26539  type EVCModeIllegalByVendorFault EVCModeIllegalByVendor
 26540  
 26541  func init() {
 26542  	t["EVCModeIllegalByVendorFault"] = reflect.TypeOf((*EVCModeIllegalByVendorFault)(nil)).Elem()
 26543  }
 26544  
 26545  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 26546  // because there are hosts in the cluster with a CPU feature baseline below the
 26547  // desired EVC mode.
 26548  type EVCModeUnsupportedByHosts struct {
 26549  	EVCConfigFault
 26550  
 26551  	// The requested EVC mode.
 26552  	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
 26553  	// The set of hosts which are blocking EVC because their CPU hardware does
 26554  	// not support the requested EVC mode.
 26555  	//
 26556  	// Refers instances of `HostSystem`.
 26557  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26558  	// The names of the hosts in the host array.
 26559  	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 26560  }
 26561  
 26562  func init() {
 26563  	t["EVCModeUnsupportedByHosts"] = reflect.TypeOf((*EVCModeUnsupportedByHosts)(nil)).Elem()
 26564  }
 26565  
 26566  type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts
 26567  
 26568  func init() {
 26569  	t["EVCModeUnsupportedByHostsFault"] = reflect.TypeOf((*EVCModeUnsupportedByHostsFault)(nil)).Elem()
 26570  }
 26571  
 26572  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 26573  // failed because one or more hosts in the cluster do not match the desired
 26574  // featureset and lack hardware support for EVC.
 26575  type EVCUnsupportedByHostHardware struct {
 26576  	EVCConfigFault
 26577  
 26578  	// The set of hosts which are blocking EVC because their CPU hardware does
 26579  	// not support CPUID override.
 26580  	//
 26581  	// Refers instances of `HostSystem`.
 26582  	Host []ManagedObjectReference `xml:"host" json:"host"`
 26583  	// The names of the hosts in the host array.
 26584  	HostName []string `xml:"hostName" json:"hostName"`
 26585  }
 26586  
 26587  func init() {
 26588  	t["EVCUnsupportedByHostHardware"] = reflect.TypeOf((*EVCUnsupportedByHostHardware)(nil)).Elem()
 26589  }
 26590  
 26591  type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware
 26592  
 26593  func init() {
 26594  	t["EVCUnsupportedByHostHardwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostHardwareFault)(nil)).Elem()
 26595  }
 26596  
 26597  // An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has
 26598  // failed because one or more hosts in the cluster lack software support for
 26599  // EVC.
 26600  type EVCUnsupportedByHostSoftware struct {
 26601  	EVCConfigFault
 26602  
 26603  	// The set of hosts which are blocking EVC because their virtualization
 26604  	// software does not support CPUID override.
 26605  	//
 26606  	// Refers instances of `HostSystem`.
 26607  	Host []ManagedObjectReference `xml:"host" json:"host"`
 26608  	// The names of the hosts in the host array.
 26609  	HostName []string `xml:"hostName" json:"hostName"`
 26610  }
 26611  
 26612  func init() {
 26613  	t["EVCUnsupportedByHostSoftware"] = reflect.TypeOf((*EVCUnsupportedByHostSoftware)(nil)).Elem()
 26614  }
 26615  
 26616  type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware
 26617  
 26618  func init() {
 26619  	t["EVCUnsupportedByHostSoftwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostSoftwareFault)(nil)).Elem()
 26620  }
 26621  
 26622  // The parameters of `VirtualDiskManager.EagerZeroVirtualDisk_Task`.
 26623  type EagerZeroVirtualDiskRequestType struct {
 26624  	This ManagedObjectReference `xml:"_this" json:"-"`
 26625  	// The name of the disk, either a datastore path or a URL
 26626  	// referring to the virtual disk that should be inflated.
 26627  	Name string `xml:"name" json:"name"`
 26628  	// If <code>name</code> is a datastore path, the datacenter for
 26629  	// that datastore path. Not needed when invoked directly on ESX.
 26630  	// If not specified on a call to VirtualCenter,
 26631  	// <code>name</code> must be a URL.
 26632  	//
 26633  	// Refers instance of `Datacenter`.
 26634  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 26635  }
 26636  
 26637  func init() {
 26638  	t["EagerZeroVirtualDiskRequestType"] = reflect.TypeOf((*EagerZeroVirtualDiskRequestType)(nil)).Elem()
 26639  }
 26640  
 26641  type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType
 26642  
 26643  func init() {
 26644  	t["EagerZeroVirtualDisk_Task"] = reflect.TypeOf((*EagerZeroVirtualDisk_Task)(nil)).Elem()
 26645  }
 26646  
 26647  type EagerZeroVirtualDisk_TaskResponse struct {
 26648  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 26649  }
 26650  
 26651  // Only virtual machines on eight different hosts can have a single
 26652  // virtual disk backing opened for read at once.
 26653  //
 26654  // This fault occurs when moving or powering on this virtual
 26655  // machine would cause a violation of the above constraint.
 26656  // This only occurs when multiple virtual machines are sharing a
 26657  // single disk backing.
 26658  //
 26659  // Note that there is no limit on the number of virtual machines
 26660  // who share a disk backings, so long as they are running on
 26661  // eight or fewer hosts.
 26662  type EightHostLimitViolated struct {
 26663  	VmConfigFault
 26664  }
 26665  
 26666  func init() {
 26667  	t["EightHostLimitViolated"] = reflect.TypeOf((*EightHostLimitViolated)(nil)).Elem()
 26668  }
 26669  
 26670  type EightHostLimitViolatedFault EightHostLimitViolated
 26671  
 26672  func init() {
 26673  	t["EightHostLimitViolatedFault"] = reflect.TypeOf((*EightHostLimitViolatedFault)(nil)).Elem()
 26674  }
 26675  
 26676  // Static strings used for describing an object model string or enumeration.
 26677  type ElementDescription struct {
 26678  	Description
 26679  
 26680  	// Enumeration or literal ID being described.
 26681  	Key string `xml:"key" json:"key"`
 26682  }
 26683  
 26684  func init() {
 26685  	t["ElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem()
 26686  }
 26687  
 26688  type EmitSyslogMark EmitSyslogMarkRequestType
 26689  
 26690  func init() {
 26691  	t["EmitSyslogMark"] = reflect.TypeOf((*EmitSyslogMark)(nil)).Elem()
 26692  }
 26693  
 26694  // The parameters of `DiagnosticManager.EmitSyslogMark`.
 26695  type EmitSyslogMarkRequestType struct {
 26696  	This ManagedObjectReference `xml:"_this" json:"-"`
 26697  	// The string to be used.
 26698  	Message string `xml:"message" json:"message"`
 26699  }
 26700  
 26701  func init() {
 26702  	t["EmitSyslogMarkRequestType"] = reflect.TypeOf((*EmitSyslogMarkRequestType)(nil)).Elem()
 26703  	minAPIVersionForType["EmitSyslogMarkRequestType"] = "8.0.0.2"
 26704  }
 26705  
 26706  type EmitSyslogMarkResponse struct {
 26707  }
 26708  
 26709  type EnableAlarm EnableAlarmRequestType
 26710  
 26711  func init() {
 26712  	t["EnableAlarm"] = reflect.TypeOf((*EnableAlarm)(nil)).Elem()
 26713  }
 26714  
 26715  type EnableAlarmActions EnableAlarmActionsRequestType
 26716  
 26717  func init() {
 26718  	t["EnableAlarmActions"] = reflect.TypeOf((*EnableAlarmActions)(nil)).Elem()
 26719  }
 26720  
 26721  // The parameters of `AlarmManager.EnableAlarmActions`.
 26722  type EnableAlarmActionsRequestType struct {
 26723  	This ManagedObjectReference `xml:"_this" json:"-"`
 26724  	// The managed entity on which to set a schedule.
 26725  	//
 26726  	// Required privileges: Alarm.DisableActions
 26727  	//
 26728  	// Refers instance of `ManagedEntity`.
 26729  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 26730  	// true, if alarms are enabled during the schedule.
 26731  	Enabled bool `xml:"enabled" json:"enabled"`
 26732  }
 26733  
 26734  func init() {
 26735  	t["EnableAlarmActionsRequestType"] = reflect.TypeOf((*EnableAlarmActionsRequestType)(nil)).Elem()
 26736  }
 26737  
 26738  type EnableAlarmActionsResponse struct {
 26739  }
 26740  
 26741  // The parameters of `AlarmManager.EnableAlarm`.
 26742  type EnableAlarmRequestType struct {
 26743  	This ManagedObjectReference `xml:"_this" json:"-"`
 26744  	// The Alarm being enabled.
 26745  	//
 26746  	// Required privileges: Alarm.ToggleEnableOnEntity
 26747  	//
 26748  	// Refers instance of `Alarm`.
 26749  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 26750  	// The ManagedEntity on which to enable the alarm.
 26751  	//
 26752  	// Required privileges: System.Read
 26753  	//
 26754  	// Refers instance of `ManagedEntity`.
 26755  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 26756  }
 26757  
 26758  func init() {
 26759  	t["EnableAlarmRequestType"] = reflect.TypeOf((*EnableAlarmRequestType)(nil)).Elem()
 26760  }
 26761  
 26762  type EnableAlarmResponse struct {
 26763  }
 26764  
 26765  type EnableClusteredVmdkSupport EnableClusteredVmdkSupportRequestType
 26766  
 26767  func init() {
 26768  	t["EnableClusteredVmdkSupport"] = reflect.TypeOf((*EnableClusteredVmdkSupport)(nil)).Elem()
 26769  }
 26770  
 26771  // The parameters of `HostDatastoreSystem.EnableClusteredVmdkSupport`.
 26772  type EnableClusteredVmdkSupportRequestType struct {
 26773  	This ManagedObjectReference `xml:"_this" json:"-"`
 26774  	// Datastore on which clustered vmdk should be
 26775  	// enabled
 26776  	//
 26777  	// Refers instance of `Datastore`.
 26778  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 26779  }
 26780  
 26781  func init() {
 26782  	t["EnableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*EnableClusteredVmdkSupportRequestType)(nil)).Elem()
 26783  }
 26784  
 26785  type EnableClusteredVmdkSupportResponse struct {
 26786  }
 26787  
 26788  type EnableCrypto EnableCryptoRequestType
 26789  
 26790  func init() {
 26791  	t["EnableCrypto"] = reflect.TypeOf((*EnableCrypto)(nil)).Elem()
 26792  }
 26793  
 26794  // The parameters of `HostSystem.EnableCrypto`.
 26795  type EnableCryptoRequestType struct {
 26796  	This ManagedObjectReference `xml:"_this" json:"-"`
 26797  	// The key to be used for coredump encryption
 26798  	KeyPlain CryptoKeyPlain `xml:"keyPlain" json:"keyPlain"`
 26799  }
 26800  
 26801  func init() {
 26802  	t["EnableCryptoRequestType"] = reflect.TypeOf((*EnableCryptoRequestType)(nil)).Elem()
 26803  }
 26804  
 26805  type EnableCryptoResponse struct {
 26806  }
 26807  
 26808  type EnableFeature EnableFeatureRequestType
 26809  
 26810  func init() {
 26811  	t["EnableFeature"] = reflect.TypeOf((*EnableFeature)(nil)).Elem()
 26812  }
 26813  
 26814  // The parameters of `LicenseManager.EnableFeature`.
 26815  type EnableFeatureRequestType struct {
 26816  	This ManagedObjectReference `xml:"_this" json:"-"`
 26817  	// Host to act on if LicenseManager is not on a host.
 26818  	//
 26819  	// Refers instance of `HostSystem`.
 26820  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26821  	// Name of the feature to enable.
 26822  	FeatureKey string `xml:"featureKey" json:"featureKey"`
 26823  }
 26824  
 26825  func init() {
 26826  	t["EnableFeatureRequestType"] = reflect.TypeOf((*EnableFeatureRequestType)(nil)).Elem()
 26827  }
 26828  
 26829  type EnableFeatureResponse struct {
 26830  	Returnval bool `xml:"returnval" json:"returnval"`
 26831  }
 26832  
 26833  type EnableHyperThreading EnableHyperThreadingRequestType
 26834  
 26835  func init() {
 26836  	t["EnableHyperThreading"] = reflect.TypeOf((*EnableHyperThreading)(nil)).Elem()
 26837  }
 26838  
 26839  type EnableHyperThreadingRequestType struct {
 26840  	This ManagedObjectReference `xml:"_this" json:"-"`
 26841  }
 26842  
 26843  func init() {
 26844  	t["EnableHyperThreadingRequestType"] = reflect.TypeOf((*EnableHyperThreadingRequestType)(nil)).Elem()
 26845  }
 26846  
 26847  type EnableHyperThreadingResponse struct {
 26848  }
 26849  
 26850  type EnableMultipathPath EnableMultipathPathRequestType
 26851  
 26852  func init() {
 26853  	t["EnableMultipathPath"] = reflect.TypeOf((*EnableMultipathPath)(nil)).Elem()
 26854  }
 26855  
 26856  // The parameters of `HostStorageSystem.EnableMultipathPath`.
 26857  type EnableMultipathPathRequestType struct {
 26858  	This ManagedObjectReference `xml:"_this" json:"-"`
 26859  	// The name of the path to enable.
 26860  	PathName string `xml:"pathName" json:"pathName"`
 26861  }
 26862  
 26863  func init() {
 26864  	t["EnableMultipathPathRequestType"] = reflect.TypeOf((*EnableMultipathPathRequestType)(nil)).Elem()
 26865  }
 26866  
 26867  type EnableMultipathPathResponse struct {
 26868  }
 26869  
 26870  type EnableNetworkResourceManagement EnableNetworkResourceManagementRequestType
 26871  
 26872  func init() {
 26873  	t["EnableNetworkResourceManagement"] = reflect.TypeOf((*EnableNetworkResourceManagement)(nil)).Elem()
 26874  }
 26875  
 26876  // The parameters of `DistributedVirtualSwitch.EnableNetworkResourceManagement`.
 26877  type EnableNetworkResourceManagementRequestType struct {
 26878  	This ManagedObjectReference `xml:"_this" json:"-"`
 26879  	// If true, enables I/O control. If false,
 26880  	// disables network I/O control.
 26881  	Enable bool `xml:"enable" json:"enable"`
 26882  }
 26883  
 26884  func init() {
 26885  	t["EnableNetworkResourceManagementRequestType"] = reflect.TypeOf((*EnableNetworkResourceManagementRequestType)(nil)).Elem()
 26886  }
 26887  
 26888  type EnableNetworkResourceManagementResponse struct {
 26889  }
 26890  
 26891  type EnableRuleset EnableRulesetRequestType
 26892  
 26893  func init() {
 26894  	t["EnableRuleset"] = reflect.TypeOf((*EnableRuleset)(nil)).Elem()
 26895  }
 26896  
 26897  // The parameters of `HostFirewallSystem.EnableRuleset`.
 26898  type EnableRulesetRequestType struct {
 26899  	This ManagedObjectReference `xml:"_this" json:"-"`
 26900  	Id   string                 `xml:"id" json:"id"`
 26901  }
 26902  
 26903  func init() {
 26904  	t["EnableRulesetRequestType"] = reflect.TypeOf((*EnableRulesetRequestType)(nil)).Elem()
 26905  }
 26906  
 26907  type EnableRulesetResponse struct {
 26908  }
 26909  
 26910  // The parameters of `VirtualMachine.EnableSecondaryVM_Task`.
 26911  type EnableSecondaryVMRequestType struct {
 26912  	This ManagedObjectReference `xml:"_this" json:"-"`
 26913  	// The secondary virtual machine specified will be enabled.
 26914  	// This field must specify a secondary virtual machine that is part of the fault
 26915  	// tolerant group that this virtual machine is currently associated with. It can
 26916  	// only be invoked from the primary virtual machine in the group.
 26917  	//
 26918  	// Refers instance of `VirtualMachine`.
 26919  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 26920  	// The host on which the secondary virtual machine is to be
 26921  	// enabled and possibly powered on. If no host is specified, a compatible host
 26922  	// will be selected by the system. If the secondary virtual machine is not
 26923  	// compatible with the specified host, the secondary will not be re-enabled
 26924  	// and a fault will be returned.
 26925  	//
 26926  	// Refers instance of `HostSystem`.
 26927  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 26928  }
 26929  
 26930  func init() {
 26931  	t["EnableSecondaryVMRequestType"] = reflect.TypeOf((*EnableSecondaryVMRequestType)(nil)).Elem()
 26932  }
 26933  
 26934  type EnableSecondaryVM_Task EnableSecondaryVMRequestType
 26935  
 26936  func init() {
 26937  	t["EnableSecondaryVM_Task"] = reflect.TypeOf((*EnableSecondaryVM_Task)(nil)).Elem()
 26938  }
 26939  
 26940  type EnableSecondaryVM_TaskResponse struct {
 26941  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 26942  }
 26943  
 26944  type EnableSmartCardAuthentication EnableSmartCardAuthenticationRequestType
 26945  
 26946  func init() {
 26947  	t["EnableSmartCardAuthentication"] = reflect.TypeOf((*EnableSmartCardAuthentication)(nil)).Elem()
 26948  }
 26949  
 26950  type EnableSmartCardAuthenticationRequestType struct {
 26951  	This ManagedObjectReference `xml:"_this" json:"-"`
 26952  }
 26953  
 26954  func init() {
 26955  	t["EnableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*EnableSmartCardAuthenticationRequestType)(nil)).Elem()
 26956  }
 26957  
 26958  type EnableSmartCardAuthenticationResponse struct {
 26959  }
 26960  
 26961  // An EncryptionKeyRequired fault occurs when an operation fails due
 26962  // to one or more required encryption keys.
 26963  type EncryptionKeyRequired struct {
 26964  	InvalidState
 26965  
 26966  	// A list of required key identifiers.
 26967  	RequiredKey []CryptoKeyId `xml:"requiredKey,omitempty" json:"requiredKey,omitempty"`
 26968  }
 26969  
 26970  func init() {
 26971  	t["EncryptionKeyRequired"] = reflect.TypeOf((*EncryptionKeyRequired)(nil)).Elem()
 26972  }
 26973  
 26974  type EncryptionKeyRequiredFault EncryptionKeyRequired
 26975  
 26976  func init() {
 26977  	t["EncryptionKeyRequiredFault"] = reflect.TypeOf((*EncryptionKeyRequiredFault)(nil)).Elem()
 26978  }
 26979  
 26980  type EnterLockdownMode EnterLockdownModeRequestType
 26981  
 26982  func init() {
 26983  	t["EnterLockdownMode"] = reflect.TypeOf((*EnterLockdownMode)(nil)).Elem()
 26984  }
 26985  
 26986  type EnterLockdownModeRequestType struct {
 26987  	This ManagedObjectReference `xml:"_this" json:"-"`
 26988  }
 26989  
 26990  func init() {
 26991  	t["EnterLockdownModeRequestType"] = reflect.TypeOf((*EnterLockdownModeRequestType)(nil)).Elem()
 26992  }
 26993  
 26994  type EnterLockdownModeResponse struct {
 26995  }
 26996  
 26997  // The parameters of `HostSystem.EnterMaintenanceMode_Task`.
 26998  type EnterMaintenanceModeRequestType struct {
 26999  	This ManagedObjectReference `xml:"_this" json:"-"`
 27000  	// The task completes when the host successfully enters maintenance
 27001  	// mode or the timeout expires, and in the latter case the task
 27002  	// contains a Timeout fault. If the timeout is less than or equal to
 27003  	// zero, there is no timeout. The timeout is specified in seconds.
 27004  	Timeout int32 `xml:"timeout" json:"timeout"`
 27005  	// This is a parameter only supported by VirtualCenter.
 27006  	// If set to true, for a DRS disabled cluster, the task will not
 27007  	// succeed unless all powered-off virtual machines have been manually
 27008  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 27009  	// automatically reregister powered-off virtual machines and a
 27010  	// powered-off virtual machine may remain at the host only for two
 27011  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 27012  	// is disabled for the virtual machine. If set to false, powered-off
 27013  	// virtual machines do not need to be moved.
 27014  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
 27015  	// Any additional actions to be taken by the host upon
 27016  	// entering maintenance mode. If omitted, default actions will
 27017  	// be taken as documented in the `HostMaintenanceSpec`.
 27018  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 27019  }
 27020  
 27021  func init() {
 27022  	t["EnterMaintenanceModeRequestType"] = reflect.TypeOf((*EnterMaintenanceModeRequestType)(nil)).Elem()
 27023  }
 27024  
 27025  type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType
 27026  
 27027  func init() {
 27028  	t["EnterMaintenanceMode_Task"] = reflect.TypeOf((*EnterMaintenanceMode_Task)(nil)).Elem()
 27029  }
 27030  
 27031  type EnterMaintenanceMode_TaskResponse struct {
 27032  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27033  }
 27034  
 27035  // This event records that the host has completely entered
 27036  // maintenance mode.
 27037  //
 27038  // A host in this mode has no running virtual machines and no
 27039  // provisioning operations are occurring.
 27040  type EnteredMaintenanceModeEvent struct {
 27041  	HostEvent
 27042  }
 27043  
 27044  func init() {
 27045  	t["EnteredMaintenanceModeEvent"] = reflect.TypeOf((*EnteredMaintenanceModeEvent)(nil)).Elem()
 27046  }
 27047  
 27048  // This event records that the host has successfully entered
 27049  // standby mode.
 27050  //
 27051  // A host in this mode has no running virtual machines and no
 27052  // provisioning operations are occurring.
 27053  type EnteredStandbyModeEvent struct {
 27054  	HostEvent
 27055  }
 27056  
 27057  func init() {
 27058  	t["EnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem()
 27059  }
 27060  
 27061  // This event records that a host has begun the process of entering
 27062  // maintenance mode.
 27063  //
 27064  // All virtual machine operations
 27065  // are blocked, except the following:
 27066  //   - MigrateVM
 27067  //   - PowerOffVM
 27068  //   - SuspendVM
 27069  //   - ShutdownGuest
 27070  //   - StandbyGuest
 27071  type EnteringMaintenanceModeEvent struct {
 27072  	HostEvent
 27073  }
 27074  
 27075  func init() {
 27076  	t["EnteringMaintenanceModeEvent"] = reflect.TypeOf((*EnteringMaintenanceModeEvent)(nil)).Elem()
 27077  }
 27078  
 27079  // This event records that a host has begun the process of entering
 27080  // standby mode.
 27081  //
 27082  // All virtual machine operations
 27083  // are blocked, except the following:
 27084  //   - MigrateVM
 27085  //   - PowerOffVM
 27086  //   - SuspendVM
 27087  //   - ShutdownGuest
 27088  //   - StandbyGuest
 27089  type EnteringStandbyModeEvent struct {
 27090  	HostEvent
 27091  }
 27092  
 27093  func init() {
 27094  	t["EnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem()
 27095  }
 27096  
 27097  // `EntityBackup` is an abstract data object that contains
 27098  // the related entity backup and restore elements for virtual distributed
 27099  // switches and virtual distributed portgroups.
 27100  //
 27101  // See the following elements:
 27102  //   - `EntityBackupConfig`
 27103  //   - `EntityImportType_enum`
 27104  //   - `EntityType_enum`
 27105  type EntityBackup struct {
 27106  	DynamicData
 27107  }
 27108  
 27109  func init() {
 27110  	t["EntityBackup"] = reflect.TypeOf((*EntityBackup)(nil)).Elem()
 27111  }
 27112  
 27113  // The `EntityBackupConfig` data object
 27114  // contains `VmwareDistributedVirtualSwitch`
 27115  // or `DistributedVirtualPortgroup` backup
 27116  // configuration data produced by the
 27117  // `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
 27118  // method.
 27119  //
 27120  // It also contains properties that support
 27121  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
 27122  // operations.
 27123  //
 27124  // A `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` operation
 27125  // sets properties that identify the entity instance
 27126  // (`EntityBackupConfig.entityType`,
 27127  // `EntityBackupConfig.key`, and
 27128  // `EntityBackupConfig.name`) and
 27129  // inventory location (`EntityBackupConfig.container`).
 27130  // When you import a backup configuration, you can set
 27131  // the <code>key</code>, <code>name</code>, and <code>container</code>
 27132  // properties in accordance with the <code>importType</code>
 27133  // specified in the call to
 27134  // `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
 27135  // See `EntityImportType_enum`.
 27136  type EntityBackupConfig struct {
 27137  	DynamicData
 27138  
 27139  	// Type of the exported entity
 27140  	// (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
 27141  	//
 27142  	// See `EntityType_enum`
 27143  	// for valid values.
 27144  	EntityType string `xml:"entityType" json:"entityType"`
 27145  	// Opaque blob that contains the configuration of the entity.
 27146  	ConfigBlob []byte `xml:"configBlob" json:"configBlob"`
 27147  	// Unique identifier of the exported entity or the entity to be restored
 27148  	// through an import operation.
 27149  	//   - If you are importing a virtual distributed switch and the import type is
 27150  	//     `applyToEntitySpecified`,
 27151  	//     set the <code>key</code> to
 27152  	//     `DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`.
 27153  	//   - If you are importing a virtual distributed portgroup and the import type is
 27154  	//     `applyToEntitySpecified`,
 27155  	//     set the <code>key</code> to
 27156  	//     `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.key`.
 27157  	//
 27158  	// The Server ignores the key value when the import operation creates a new entity.
 27159  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 27160  	// Name of the exported entity or the entity to be restored with the backup configuration.
 27161  	//
 27162  	// If you are importing an entity and the import type is
 27163  	// `applyToEntitySpecified`,
 27164  	// the Server will use this value to rename the existing entity.
 27165  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 27166  	// Container for this entity.
 27167  	//
 27168  	// If `EntityBackupConfig.entityType` is "distributedVirtualSwitch",
 27169  	// the container type is `Folder`. If `EntityBackupConfig.entityType`
 27170  	// is "distributedVirtualPortgroup", the container type is
 27171  	// `DistributedVirtualSwitch`.
 27172  	//
 27173  	// Refers instance of `ManagedEntity`.
 27174  	Container *ManagedObjectReference `xml:"container,omitempty" json:"container,omitempty"`
 27175  	// Configuration version.
 27176  	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 27177  }
 27178  
 27179  func init() {
 27180  	t["EntityBackupConfig"] = reflect.TypeOf((*EntityBackupConfig)(nil)).Elem()
 27181  }
 27182  
 27183  // The event argument is a managed entity object.
 27184  //
 27185  // Subclasses of this type distinguish the different managed entities
 27186  // referenced in event objects.
 27187  type EntityEventArgument struct {
 27188  	EventArgument
 27189  
 27190  	// Name of the entity, including its full path from the root of the inventory.
 27191  	Name string `xml:"name" json:"name"`
 27192  }
 27193  
 27194  func init() {
 27195  	t["EntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem()
 27196  }
 27197  
 27198  // This class defines whether a set of privileges are granted for a managed entity.
 27199  type EntityPrivilege struct {
 27200  	DynamicData
 27201  
 27202  	// The entity on which the privileges are checked.
 27203  	//
 27204  	// Refers instance of `ManagedEntity`.
 27205  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27206  	// whether a set of privileges are granted for the managed entity.
 27207  	PrivAvailability []PrivilegeAvailability `xml:"privAvailability" json:"privAvailability"`
 27208  }
 27209  
 27210  func init() {
 27211  	t["EntityPrivilege"] = reflect.TypeOf((*EntityPrivilege)(nil)).Elem()
 27212  }
 27213  
 27214  // Static strings used for describing an enumerated type.
 27215  type EnumDescription struct {
 27216  	DynamicData
 27217  
 27218  	// Type of enumeration being described.
 27219  	Key string `xml:"key" json:"key"`
 27220  	// Element descriptions of all the tags for that enumerated type.
 27221  	Tags []BaseElementDescription `xml:"tags,typeattr" json:"tags"`
 27222  }
 27223  
 27224  func init() {
 27225  	t["EnumDescription"] = reflect.TypeOf((*EnumDescription)(nil)).Elem()
 27226  }
 27227  
 27228  // Represent search criteria and filters on a `VirtualMachineConfigOption`
 27229  // object.
 27230  type EnvironmentBrowserConfigOptionQuerySpec struct {
 27231  	DynamicData
 27232  
 27233  	// The key found in the VirtualMachineConfigOptionDescriptor,
 27234  	// obtained by invoking the
 27235  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 27236  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 27237  	// The host whose ConfigOption is requested.
 27238  	//
 27239  	// Refers instance of `HostSystem`.
 27240  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 27241  	// The Guest OS IDs whose `VirtualMachineConfigOption` is requested
 27242  	// `GuestOsIdentifier`
 27243  	GuestId []string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 27244  }
 27245  
 27246  func init() {
 27247  	t["EnvironmentBrowserConfigOptionQuerySpec"] = reflect.TypeOf((*EnvironmentBrowserConfigOptionQuerySpec)(nil)).Elem()
 27248  }
 27249  
 27250  // This event is a general error event from upgrade.
 27251  type ErrorUpgradeEvent struct {
 27252  	UpgradeEvent
 27253  }
 27254  
 27255  func init() {
 27256  	t["ErrorUpgradeEvent"] = reflect.TypeOf((*ErrorUpgradeEvent)(nil)).Elem()
 27257  }
 27258  
 27259  type EstimateDatabaseSize EstimateDatabaseSizeRequestType
 27260  
 27261  func init() {
 27262  	t["EstimateDatabaseSize"] = reflect.TypeOf((*EstimateDatabaseSize)(nil)).Elem()
 27263  }
 27264  
 27265  // The parameters of `ResourcePlanningManager.EstimateDatabaseSize`.
 27266  type EstimateDatabaseSizeRequestType struct {
 27267  	This ManagedObjectReference `xml:"_this" json:"-"`
 27268  	// `DatabaseSizeParam`
 27269  	// Contains the summary of an inventory for which the database size
 27270  	// requirements are to be computed. It also contains
 27271  	// the historic interval setting for which the database
 27272  	// computations are to be done. This is an optional parameter and
 27273  	// the current virtual center historical settings are used by default.
 27274  	// There are many other optional fields in the dbSizeParam structure
 27275  	// that are appropriately filled up based on some heuristics.
 27276  	DbSizeParam DatabaseSizeParam `xml:"dbSizeParam" json:"dbSizeParam"`
 27277  }
 27278  
 27279  func init() {
 27280  	t["EstimateDatabaseSizeRequestType"] = reflect.TypeOf((*EstimateDatabaseSizeRequestType)(nil)).Elem()
 27281  }
 27282  
 27283  type EstimateDatabaseSizeResponse struct {
 27284  	Returnval DatabaseSizeEstimate `xml:"returnval" json:"returnval"`
 27285  }
 27286  
 27287  type EstimateStorageForConsolidateSnapshotsRequestType struct {
 27288  	This ManagedObjectReference `xml:"_this" json:"-"`
 27289  }
 27290  
 27291  func init() {
 27292  	t["EstimateStorageForConsolidateSnapshotsRequestType"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshotsRequestType)(nil)).Elem()
 27293  }
 27294  
 27295  type EstimateStorageForConsolidateSnapshots_Task EstimateStorageForConsolidateSnapshotsRequestType
 27296  
 27297  func init() {
 27298  	t["EstimateStorageForConsolidateSnapshots_Task"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshots_Task)(nil)).Elem()
 27299  }
 27300  
 27301  type EstimateStorageForConsolidateSnapshots_TaskResponse struct {
 27302  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27303  }
 27304  
 27305  type EsxAgentHostManagerUpdateConfig EsxAgentHostManagerUpdateConfigRequestType
 27306  
 27307  func init() {
 27308  	t["EsxAgentHostManagerUpdateConfig"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfig)(nil)).Elem()
 27309  }
 27310  
 27311  // The parameters of `HostEsxAgentHostManager.EsxAgentHostManagerUpdateConfig`.
 27312  type EsxAgentHostManagerUpdateConfigRequestType struct {
 27313  	This ManagedObjectReference `xml:"_this" json:"-"`
 27314  	// configuration of agent virtual machine resources
 27315  	ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo" json:"configInfo"`
 27316  }
 27317  
 27318  func init() {
 27319  	t["EsxAgentHostManagerUpdateConfigRequestType"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfigRequestType)(nil)).Elem()
 27320  }
 27321  
 27322  type EsxAgentHostManagerUpdateConfigResponse struct {
 27323  }
 27324  
 27325  // The parameters of `HostVsanSystem.EvacuateVsanNode_Task`.
 27326  type EvacuateVsanNodeRequestType struct {
 27327  	This ManagedObjectReference `xml:"_this" json:"-"`
 27328  	// Specifies the data evacuation mode. See `HostMaintenanceSpec`.
 27329  	// If unspecified, the default mode chosen will be
 27330  	// `ensureObjectAccessibility`.
 27331  	MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec" json:"maintenanceSpec"`
 27332  	// Time to wait for the task to complete in seconds.
 27333  	// If the value is less than or equal to zero, there
 27334  	// is no timeout. The operation fails with a Timedout
 27335  	// exception if it timed out.
 27336  	Timeout int32 `xml:"timeout" json:"timeout"`
 27337  }
 27338  
 27339  func init() {
 27340  	t["EvacuateVsanNodeRequestType"] = reflect.TypeOf((*EvacuateVsanNodeRequestType)(nil)).Elem()
 27341  }
 27342  
 27343  type EvacuateVsanNode_Task EvacuateVsanNodeRequestType
 27344  
 27345  func init() {
 27346  	t["EvacuateVsanNode_Task"] = reflect.TypeOf((*EvacuateVsanNode_Task)(nil)).Elem()
 27347  }
 27348  
 27349  type EvacuateVsanNode_TaskResponse struct {
 27350  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27351  }
 27352  
 27353  // Deprecated as of vSphere API 4.0, this is not used by the system.
 27354  //
 27355  // Specify an evaluation license source.
 27356  //
 27357  // Feature licensing is not required while the remaining hours is greater than zero.
 27358  type EvaluationLicenseSource struct {
 27359  	LicenseSource
 27360  
 27361  	// The number of remaining hours before product evaluation expires
 27362  	RemainingHours int64 `xml:"remainingHours,omitempty" json:"remainingHours,omitempty"`
 27363  }
 27364  
 27365  func init() {
 27366  	t["EvaluationLicenseSource"] = reflect.TypeOf((*EvaluationLicenseSource)(nil)).Elem()
 27367  }
 27368  
 27369  type EvcManager EvcManagerRequestType
 27370  
 27371  func init() {
 27372  	t["EvcManager"] = reflect.TypeOf((*EvcManager)(nil)).Elem()
 27373  }
 27374  
 27375  type EvcManagerRequestType struct {
 27376  	This ManagedObjectReference `xml:"_this" json:"-"`
 27377  }
 27378  
 27379  func init() {
 27380  	t["EvcManagerRequestType"] = reflect.TypeOf((*EvcManagerRequestType)(nil)).Elem()
 27381  }
 27382  
 27383  type EvcManagerResponse struct {
 27384  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 27385  }
 27386  
 27387  // This event is the base data object type from which all events inherit.
 27388  //
 27389  // All event
 27390  // objects are data structures that describe events. While event data objects are data
 27391  // structures that describe events, event data type documentation may describe what the
 27392  // event records, rather than the data structure, itself.
 27393  type Event struct {
 27394  	DynamicData
 27395  
 27396  	// The event ID.
 27397  	Key int32 `xml:"key" json:"key"`
 27398  	// The parent or group ID.
 27399  	ChainId int32 `xml:"chainId" json:"chainId"`
 27400  	// The time the event was created.
 27401  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 27402  	// The user who caused the event.
 27403  	UserName string `xml:"userName" json:"userName"`
 27404  	// The Datacenter object of the event.
 27405  	Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 27406  	// The ComputeResource object of the event.
 27407  	ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty" json:"computeResource,omitempty"`
 27408  	// The Host object of the event.
 27409  	Host *HostEventArgument `xml:"host,omitempty" json:"host,omitempty"`
 27410  	// The VirtualMachine object of the event.
 27411  	Vm *VmEventArgument `xml:"vm,omitempty" json:"vm,omitempty"`
 27412  	// The Datastore object of the event.
 27413  	Ds *DatastoreEventArgument `xml:"ds,omitempty" json:"ds,omitempty"`
 27414  	// The Network object of the event.
 27415  	Net *NetworkEventArgument `xml:"net,omitempty" json:"net,omitempty"`
 27416  	// The DistributedVirtualSwitch object of the event.
 27417  	Dvs *DvsEventArgument `xml:"dvs,omitempty" json:"dvs,omitempty"`
 27418  	// A formatted text message describing the event.
 27419  	//
 27420  	// The message may be localized.
 27421  	FullFormattedMessage string `xml:"fullFormattedMessage,omitempty" json:"fullFormattedMessage,omitempty"`
 27422  	// The user entered tag to identify the operations and their side effects
 27423  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty"`
 27424  }
 27425  
 27426  func init() {
 27427  	t["Event"] = reflect.TypeOf((*Event)(nil)).Elem()
 27428  }
 27429  
 27430  // An alarm expression that uses the event stream to trigger the alarm.
 27431  //
 27432  // This alarm is triggered when an event matching this expression gets logged.
 27433  type EventAlarmExpression struct {
 27434  	AlarmExpression
 27435  
 27436  	// The attributes/values to compare.
 27437  	Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty" json:"comparisons,omitempty"`
 27438  	// Deprecated use <code>eventTypeId</code> instead.
 27439  	//
 27440  	// The type of the event to trigger the alarm on.
 27441  	EventType string `xml:"eventType" json:"eventType"`
 27442  	// The eventTypeId of the event to match.
 27443  	//
 27444  	// The semantics of how eventTypeId matching is done is as follows:
 27445  	//   - If the event being matched is of type `EventEx`
 27446  	//     or `ExtendedEvent`, then we match this value
 27447  	//     against the <code>eventTypeId</code> (for <code>EventEx</code>) or
 27448  	//     <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
 27449  	//   - Otherwise, we match it against the type of the Event itself.
 27450  	//
 27451  	// Either <code>eventType</code> or <code>eventTypeId</code> _must_
 27452  	// be set.
 27453  	EventTypeId string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
 27454  	// Name of the type of managed object on which the event is logged.
 27455  	//
 27456  	// An event alarm defined on a `ManagedEntity`
 27457  	// is propagated to child entities in the VirtualCenter inventory depending
 27458  	// on the value of this attribute. If objectType is any of the following,
 27459  	// the alarm is propagated down to all children of that type:
 27460  	//   - A datacenter: `Datacenter`.
 27461  	//   - A cluster of host systems: `ClusterComputeResource`.
 27462  	//   - A single host system: `HostSystem`.
 27463  	//   - A resource pool representing a set of physical resources on a single host:
 27464  	//     `ResourcePool`.
 27465  	//   - A virtual machine: `VirtualMachine`.
 27466  	//   - A datastore: `Datastore`.
 27467  	//   - A network: `Network`.
 27468  	//   - A distributed virtual switch: `DistributedVirtualSwitch`.
 27469  	//
 27470  	// If objectType is unspecified or not contained in the above list,
 27471  	// the event alarm is not propagated down to child entities in the
 27472  	// VirtualCenter inventory.
 27473  	//
 27474  	// It is possible to specify an event alarm containing two (or more) different
 27475  	// EventAlarmExpression's which contain different objectTypes. In such a case,
 27476  	// the event is propagated to all child entities with specified type(s).
 27477  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
 27478  	// The alarm's new state when this condition is evaluated and satisfied.
 27479  	//
 27480  	// If not specified then there is no change to alarm status, and all
 27481  	// actions are fired (rather than those for the transition).
 27482  	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
 27483  }
 27484  
 27485  func init() {
 27486  	t["EventAlarmExpression"] = reflect.TypeOf((*EventAlarmExpression)(nil)).Elem()
 27487  }
 27488  
 27489  // Encapsulates Comparison of an event's attribute to a value.
 27490  type EventAlarmExpressionComparison struct {
 27491  	DynamicData
 27492  
 27493  	// The attribute of the event to compare
 27494  	AttributeName string `xml:"attributeName" json:"attributeName"`
 27495  	// An operator from the list above
 27496  	Operator string `xml:"operator" json:"operator"`
 27497  	// The value to compare against
 27498  	Value string `xml:"value" json:"value"`
 27499  }
 27500  
 27501  func init() {
 27502  	t["EventAlarmExpressionComparison"] = reflect.TypeOf((*EventAlarmExpressionComparison)(nil)).Elem()
 27503  }
 27504  
 27505  // Describes an available event argument name for an Event type, which
 27506  // can be used in `EventAlarmExpression`.
 27507  type EventArgDesc struct {
 27508  	DynamicData
 27509  
 27510  	// The name of the argument
 27511  	Name string `xml:"name" json:"name"`
 27512  	// The type of the argument.
 27513  	Type string `xml:"type" json:"type"`
 27514  	// The localized description of the event argument.
 27515  	//
 27516  	// The key holds
 27517  	// the localization prefix for the argument, which is decided by
 27518  	// the Event type that it is actually declared in, which may be a
 27519  	// base type of this event type.
 27520  	Description BaseElementDescription `xml:"description,omitempty,typeattr" json:"description,omitempty"`
 27521  }
 27522  
 27523  func init() {
 27524  	t["EventArgDesc"] = reflect.TypeOf((*EventArgDesc)(nil)).Elem()
 27525  }
 27526  
 27527  // This is the base type for event argument types.
 27528  //
 27529  // Event argument objects, which inherit from a common subtype,
 27530  // are used to manage supplementary properties of different kinds
 27531  // of event objects.
 27532  type EventArgument struct {
 27533  	DynamicData
 27534  }
 27535  
 27536  func init() {
 27537  	t["EventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem()
 27538  }
 27539  
 27540  // This data object provides static, locale-specific strings for event objects.
 27541  type EventDescription struct {
 27542  	DynamicData
 27543  
 27544  	// *Event Category enum*
 27545  	Category []BaseElementDescription `xml:"category,typeattr" json:"category"`
 27546  	// The event class description details.
 27547  	EventInfo []EventDescriptionEventDetail `xml:"eventInfo" json:"eventInfo"`
 27548  	// Localized descriptions of all enumerated types that are used for
 27549  	// member declarations in event classes.
 27550  	EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty" json:"enumeratedTypes,omitempty"`
 27551  }
 27552  
 27553  func init() {
 27554  	t["EventDescription"] = reflect.TypeOf((*EventDescription)(nil)).Elem()
 27555  }
 27556  
 27557  // Each Event object provides an automatic event message string through
 27558  // its `fullFormattedMessage`
 27559  // property.
 27560  //
 27561  // However, you can use the EventDetail object's properties to
 27562  // format an event message string that is appropriate when viewed from
 27563  // a specific context. The variable information (vm.name, and so on) is
 27564  // derived from the Event object's event arguments
 27565  // (`VmEventArgument`, and so on).
 27566  type EventDescriptionEventDetail struct {
 27567  	DynamicData
 27568  
 27569  	// Type of event being described.
 27570  	Key string `xml:"key" json:"key"`
 27571  	// A string that is a short human-parseable description of the event.
 27572  	//
 27573  	// This is not the full message string (which may contain details
 27574  	// of the arguments, etc.), but merely a more understandable, and
 27575  	// localized, description of what the event stands for. It is meant
 27576  	// for contexts where the _name_ of the event has to be displayed
 27577  	// to end-users, e.g. when creating Event-based Alarms.
 27578  	// \` \*
 27579  	//
 27580  	// E.g., for `VmPoweredOnEvent`, the eventDescription
 27581  	// in English might say "VM Powered On".
 27582  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 27583  	// A category of events.
 27584  	Category string `xml:"category" json:"category"`
 27585  	// A string that is appropriate in the context of a specific
 27586  	// Datacenter.
 27587  	//
 27588  	// For example, a renaming event in this context produces
 27589  	// the following string:
 27590  	//
 27591  	// "Renamed {vm.name} from {oldName} to {newName}"
 27592  	//
 27593  	// where `oldName` and
 27594  	// `newName` are properties of the
 27595  	// VmRenamedEvent object.
 27596  	FormatOnDatacenter string `xml:"formatOnDatacenter" json:"formatOnDatacenter"`
 27597  	// A string that is appropriate in the context of a specific cluster.
 27598  	//
 27599  	// For example, a powering on event in this context produces the
 27600  	// following string:
 27601  	//
 27602  	// "{vm.name} on {host.name} is powered on".
 27603  	FormatOnComputeResource string `xml:"formatOnComputeResource" json:"formatOnComputeResource"`
 27604  	// A string that is appropriate in the context
 27605  	// of a specific Host.
 27606  	//
 27607  	// For example, a powering on event in this
 27608  	// context produces the following string:
 27609  	//
 27610  	// "{vm.name} is powered on"
 27611  	FormatOnHost string `xml:"formatOnHost" json:"formatOnHost"`
 27612  	// A string that is appropriate for the context of a specific
 27613  	// virtual machine.
 27614  	//
 27615  	// For example, a powering on event in this context
 27616  	// produces the following string:
 27617  	//
 27618  	// "Virtual machine on {host.name} is powered on"
 27619  	FormatOnVm string `xml:"formatOnVm" json:"formatOnVm"`
 27620  	// A string whose context is not entity-specific.
 27621  	//
 27622  	// For example, a
 27623  	// powering on event produces the following string:
 27624  	//
 27625  	// "{vm.name} on {host.name} in {datacenter.name} is powered on"
 27626  	FullFormat string `xml:"fullFormat" json:"fullFormat"`
 27627  	// A detailed description of the event.
 27628  	//
 27629  	// It includes common causes
 27630  	// and actions to remediate them. It may also include links to kb
 27631  	// articles and other diagnostic information.
 27632  	// For example, the BadUserNameSessionEvent may produce the
 27633  	// following string:
 27634  	//
 27635  	//	<EventLongDescription id="vim.event.BadUserNameSessionEvent">
 27636  	//	   <description>
 27637  	//	      The user could not be logged in because of an unknown or invalid
 27638  	//	      user name.
 27639  	//	   </description>
 27640  	//	   <cause>
 27641  	//	      <description>The user name was unknown to the system</description>
 27642  	//	      <action>Use a user name known to the system user directory</action>
 27643  	//	      <action>(On Linux) Check if the user directory is correctly
 27644  	//	              configured.</action>
 27645  	//	      <action>Check the health of the domain controller (if you are using
 27646  	//	              Active Directory)</action>
 27647  	//	   </cause>
 27648  	//	   <cause>
 27649  	//	      <description>The user provided an invalid password</description>
 27650  	//	      <action>Supply the correct password</action>
 27651  	//	   </cause>
 27652  	//	</EventLongDescription>
 27653  	LongDescription string `xml:"longDescription,omitempty" json:"longDescription,omitempty"`
 27654  }
 27655  
 27656  func init() {
 27657  	t["EventDescriptionEventDetail"] = reflect.TypeOf((*EventDescriptionEventDetail)(nil)).Elem()
 27658  }
 27659  
 27660  // EventEx is a dynamically typed Event class, whose type is indicated by its
 27661  // eventTypeId property.
 27662  //
 27663  // A collection of eventTypeIds is registered by Extensions, which can now
 27664  // pass in optional type information for each eventTypeId which indicates the
 27665  // applicable argument names and types, among other properties.
 27666  //
 27667  // EventEx allows event arguments of any type, though today, the system
 27668  // only supports "string" and "moid" (a string which can be interpreted as an
 27669  // object ID in the system) as argument types. In the future, the system
 27670  // may optionally strongly check the types of the arguments in the event
 27671  // against the declared type information, based on how the event type is
 27672  // declared.
 27673  //
 27674  // EventEx also allows arbitrary "event object"s - the object which the
 27675  // event refers to. You can put in any object identifier as the objectId,
 27676  // but objectType should be filled in only if the object is actually present
 27677  // in the VC Server's ManagedEntity inventory.
 27678  type EventEx struct {
 27679  	Event
 27680  
 27681  	// The type of the event.
 27682  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 27683  	// The severity level of the message: null=&gt;info.
 27684  	//
 27685  	// See also `EventEventSeverity_enum`.
 27686  	Severity string `xml:"severity,omitempty" json:"severity,omitempty"`
 27687  	// An arbitrary message string, not localized.
 27688  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 27689  	// The event arguments associated with the event
 27690  	Arguments []KeyAnyValue `xml:"arguments,omitempty" json:"arguments,omitempty"`
 27691  	// The ID of the object (VM, Host, Folder..) which the event pertains to.
 27692  	//
 27693  	// Federated or local inventory path.
 27694  	ObjectId string `xml:"objectId,omitempty" json:"objectId,omitempty"`
 27695  	// the type of the object, if known to the VirtualCenter inventory
 27696  	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
 27697  	// The name of the object
 27698  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
 27699  	// The fault that triggered the event, if any
 27700  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 27701  }
 27702  
 27703  func init() {
 27704  	t["EventEx"] = reflect.TypeOf((*EventEx)(nil)).Elem()
 27705  }
 27706  
 27707  // Event filter used to query events in the history collector database.
 27708  //
 27709  // The client creates an event history collector with a filter specification,
 27710  // then retrieves the events from the event history collector.
 27711  type EventFilterSpec struct {
 27712  	DynamicData
 27713  
 27714  	// The filter specification for retrieving events by managed entity.
 27715  	//
 27716  	// If the property is not set, then events attached to all managed entities
 27717  	// are collected.
 27718  	Entity *EventFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
 27719  	// The filter specification for retrieving tasks by time.
 27720  	//
 27721  	// If the property is not set, then events with any time stamp are collected.
 27722  	Time *EventFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
 27723  	// The filter specification for retrieving events by username.
 27724  	//
 27725  	// If the property is not set, then events belonging to any user are collected.
 27726  	UserName *EventFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
 27727  	// The filter specification for retrieving events by chain ID.
 27728  	//
 27729  	// If the property is not set, events with any chain ID are collected.
 27730  	EventChainId int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty"`
 27731  	// This property, if set, limits the set of collected events to those
 27732  	// associated with the specified alarm.
 27733  	//
 27734  	// If the property is not set, events are collected regardless of their
 27735  	// association with alarms.
 27736  	//
 27737  	// Refers instance of `Alarm`.
 27738  	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
 27739  	// This property, if set, limits the set of collected events to those
 27740  	// associated with the specified scheduled task.
 27741  	//
 27742  	// If the property is not set, events are collected regardless of their
 27743  	// association with any scheduled task.
 27744  	//
 27745  	// Refers instance of `ScheduledTask`.
 27746  	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
 27747  	// Flag to specify whether or not to prepare the full formatted message
 27748  	// for each event.
 27749  	//
 27750  	// If the property is not set, the collected events do not include
 27751  	// the full formatted message.
 27752  	DisableFullMessage *bool `xml:"disableFullMessage" json:"disableFullMessage,omitempty"`
 27753  	// This property, if set, limits the set of collected events to those
 27754  	// associated with the specified category.
 27755  	//
 27756  	// If the property is not set, events are collected regardless of their
 27757  	// association with any category.
 27758  	// "category" here is the same as Event.severity.
 27759  	Category []string `xml:"category,omitempty" json:"category,omitempty"`
 27760  	// Deprecated as of vSphere API 4.0, use `EventFilterSpec.eventTypeId` instead.
 27761  	//
 27762  	// This property, if set, limits the set of collected events to those
 27763  	// specified types.
 27764  	//
 27765  	// If the property is not set, events are collected regardless of their
 27766  	// types.
 27767  	Type []string `xml:"type,omitempty" json:"type,omitempty"`
 27768  	// This property, if set, limits the set of filtered events to those that
 27769  	// have it.
 27770  	//
 27771  	// If not set, or the size of it 0, the tag of an event is
 27772  	// disregarded. A blank string indicates events without tags.
 27773  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 27774  	// This property, if set, limits the set of collected events to those
 27775  	// specified types.
 27776  	//
 27777  	// Note: if both `EventFilterSpec.eventTypeId` and `EventFilterSpec.type` are specified, an
 27778  	// exception may be thrown by `EventManager.CreateCollectorForEvents`.
 27779  	//
 27780  	// The semantics of how eventTypeId matching is done is as follows:
 27781  	//   - If the event being collected is of type `EventEx`
 27782  	//     or `ExtendedEvent`, then we match against the
 27783  	//     <code>eventTypeId</code> (for <code>EventEx</code>) or
 27784  	//     <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
 27785  	//   - Otherwise, we match against the type of the Event itself.
 27786  	//
 27787  	// If neither this property, nor <code>type</code>, is set, events are
 27788  	// collected regardless of their types.
 27789  	EventTypeId []string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
 27790  	// This property, if set, specifies the maximum number of returned events.
 27791  	//
 27792  	// If unset, the default maximum number will be used.
 27793  	// Using this property with `EventManager.CreateCollectorForEvents` is more
 27794  	// efficient than a call to `HistoryCollector.SetCollectorPageSize`.
 27795  	MaxCount int32 `xml:"maxCount,omitempty" json:"maxCount,omitempty"`
 27796  	// This property, if set, specifies whether latest page should be populated on Collector creation.
 27797  	//
 27798  	// True for delayed population and false for immediate.
 27799  	// If unset, the latest page is populated immediately.
 27800  	DelayedInit *bool `xml:"delayedInit" json:"delayedInit,omitempty" vim:"8.0.3.0"`
 27801  }
 27802  
 27803  func init() {
 27804  	t["EventFilterSpec"] = reflect.TypeOf((*EventFilterSpec)(nil)).Elem()
 27805  }
 27806  
 27807  // This option specifies a managed entity used to filter event history.
 27808  //
 27809  // If the specified managed entity is a Folder or a ResourcePool, the query
 27810  // will actually be performed on the entities contained within that Folder
 27811  // or ResourcePool, so you cannot query for events on Folders and
 27812  // ResourcePools themselves this way.
 27813  type EventFilterSpecByEntity struct {
 27814  	DynamicData
 27815  
 27816  	// The managed entity to which the event pertains.
 27817  	//
 27818  	// Refers instance of `ManagedEntity`.
 27819  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 27820  	// Specification of related managed entities in the inventory hierarchy.
 27821  	Recursion EventFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 27822  }
 27823  
 27824  func init() {
 27825  	t["EventFilterSpecByEntity"] = reflect.TypeOf((*EventFilterSpecByEntity)(nil)).Elem()
 27826  }
 27827  
 27828  // This option specifies a time range used to filter event history.
 27829  type EventFilterSpecByTime struct {
 27830  	DynamicData
 27831  
 27832  	// The beginning of the time range.
 27833  	//
 27834  	// If this property is not set, then events are collected from
 27835  	// the earliest time in the database.
 27836  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 27837  	// The end of the time range.
 27838  	//
 27839  	// If this property is not specified, then events are collected up to
 27840  	// the latest time in the database.
 27841  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 27842  }
 27843  
 27844  func init() {
 27845  	t["EventFilterSpecByTime"] = reflect.TypeOf((*EventFilterSpecByTime)(nil)).Elem()
 27846  }
 27847  
 27848  // This option specifies users used to filter event history.
 27849  type EventFilterSpecByUsername struct {
 27850  	DynamicData
 27851  
 27852  	// filter by system user
 27853  	// true for system user event
 27854  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 27855  	// all interested username list
 27856  	// If this property is not set, then all regular user events are
 27857  	// collected
 27858  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 27859  }
 27860  
 27861  func init() {
 27862  	t["EventFilterSpecByUsername"] = reflect.TypeOf((*EventFilterSpecByUsername)(nil)).Elem()
 27863  }
 27864  
 27865  type ExecuteHostProfile ExecuteHostProfileRequestType
 27866  
 27867  func init() {
 27868  	t["ExecuteHostProfile"] = reflect.TypeOf((*ExecuteHostProfile)(nil)).Elem()
 27869  }
 27870  
 27871  // The parameters of `HostProfile.ExecuteHostProfile`.
 27872  type ExecuteHostProfileRequestType struct {
 27873  	This ManagedObjectReference `xml:"_this" json:"-"`
 27874  	// Host on which to execute the profile.
 27875  	// The host does not have to be associated with the profile.
 27876  	//
 27877  	// Refers instance of `HostSystem`.
 27878  	Host ManagedObjectReference `xml:"host" json:"host"`
 27879  	// Additional configuration data to be applied to the host.
 27880  	// This should contain all of the host-specific data, including data from from
 27881  	// previous calls to the method.
 27882  	DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty" json:"deferredParam,omitempty"`
 27883  }
 27884  
 27885  func init() {
 27886  	t["ExecuteHostProfileRequestType"] = reflect.TypeOf((*ExecuteHostProfileRequestType)(nil)).Elem()
 27887  }
 27888  
 27889  type ExecuteHostProfileResponse struct {
 27890  	Returnval BaseProfileExecuteResult `xml:"returnval,typeattr" json:"returnval"`
 27891  }
 27892  
 27893  type ExecuteSimpleCommand ExecuteSimpleCommandRequestType
 27894  
 27895  func init() {
 27896  	t["ExecuteSimpleCommand"] = reflect.TypeOf((*ExecuteSimpleCommand)(nil)).Elem()
 27897  }
 27898  
 27899  // The parameters of `SimpleCommand.ExecuteSimpleCommand`.
 27900  type ExecuteSimpleCommandRequestType struct {
 27901  	This ManagedObjectReference `xml:"_this" json:"-"`
 27902  	// An arbitrary collection of arguments.
 27903  	Arguments []string `xml:"arguments,omitempty" json:"arguments,omitempty"`
 27904  }
 27905  
 27906  func init() {
 27907  	t["ExecuteSimpleCommandRequestType"] = reflect.TypeOf((*ExecuteSimpleCommandRequestType)(nil)).Elem()
 27908  }
 27909  
 27910  type ExecuteSimpleCommandResponse struct {
 27911  	Returnval string `xml:"returnval" json:"returnval"`
 27912  }
 27913  
 27914  type ExitLockdownMode ExitLockdownModeRequestType
 27915  
 27916  func init() {
 27917  	t["ExitLockdownMode"] = reflect.TypeOf((*ExitLockdownMode)(nil)).Elem()
 27918  }
 27919  
 27920  type ExitLockdownModeRequestType struct {
 27921  	This ManagedObjectReference `xml:"_this" json:"-"`
 27922  }
 27923  
 27924  func init() {
 27925  	t["ExitLockdownModeRequestType"] = reflect.TypeOf((*ExitLockdownModeRequestType)(nil)).Elem()
 27926  }
 27927  
 27928  type ExitLockdownModeResponse struct {
 27929  }
 27930  
 27931  // This event records that the host is no longer in
 27932  // maintenance mode.
 27933  type ExitMaintenanceModeEvent struct {
 27934  	HostEvent
 27935  }
 27936  
 27937  func init() {
 27938  	t["ExitMaintenanceModeEvent"] = reflect.TypeOf((*ExitMaintenanceModeEvent)(nil)).Elem()
 27939  }
 27940  
 27941  // The parameters of `HostSystem.ExitMaintenanceMode_Task`.
 27942  type ExitMaintenanceModeRequestType struct {
 27943  	This ManagedObjectReference `xml:"_this" json:"-"`
 27944  	// Number of seconds to wait for the exit maintenance mode to
 27945  	// succeed. If the timeout is less than or equal to zero, there
 27946  	// is no timeout.
 27947  	Timeout int32 `xml:"timeout" json:"timeout"`
 27948  }
 27949  
 27950  func init() {
 27951  	t["ExitMaintenanceModeRequestType"] = reflect.TypeOf((*ExitMaintenanceModeRequestType)(nil)).Elem()
 27952  }
 27953  
 27954  type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType
 27955  
 27956  func init() {
 27957  	t["ExitMaintenanceMode_Task"] = reflect.TypeOf((*ExitMaintenanceMode_Task)(nil)).Elem()
 27958  }
 27959  
 27960  type ExitMaintenanceMode_TaskResponse struct {
 27961  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 27962  }
 27963  
 27964  // This event records that the host failed to exit standby mode.
 27965  type ExitStandbyModeFailedEvent struct {
 27966  	HostEvent
 27967  }
 27968  
 27969  func init() {
 27970  	t["ExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem()
 27971  }
 27972  
 27973  // This event records that the host is no longer in
 27974  // standby mode.
 27975  type ExitedStandbyModeEvent struct {
 27976  	HostEvent
 27977  }
 27978  
 27979  func init() {
 27980  	t["ExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem()
 27981  }
 27982  
 27983  // This event records that a host has begun the process of
 27984  // exiting standby mode.
 27985  type ExitingStandbyModeEvent struct {
 27986  	HostEvent
 27987  }
 27988  
 27989  func init() {
 27990  	t["ExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem()
 27991  }
 27992  
 27993  type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType
 27994  
 27995  func init() {
 27996  	t["ExpandVmfsDatastore"] = reflect.TypeOf((*ExpandVmfsDatastore)(nil)).Elem()
 27997  }
 27998  
 27999  // The parameters of `HostDatastoreSystem.ExpandVmfsDatastore`.
 28000  type ExpandVmfsDatastoreRequestType struct {
 28001  	This ManagedObjectReference `xml:"_this" json:"-"`
 28002  	// The datastore whose capacity should be increased.
 28003  	//
 28004  	// Refers instance of `Datastore`.
 28005  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28006  	// The specification describing which extent of the VMFS
 28007  	// datastore to expand.
 28008  	Spec VmfsDatastoreExpandSpec `xml:"spec" json:"spec"`
 28009  }
 28010  
 28011  func init() {
 28012  	t["ExpandVmfsDatastoreRequestType"] = reflect.TypeOf((*ExpandVmfsDatastoreRequestType)(nil)).Elem()
 28013  }
 28014  
 28015  type ExpandVmfsDatastoreResponse struct {
 28016  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28017  }
 28018  
 28019  type ExpandVmfsExtent ExpandVmfsExtentRequestType
 28020  
 28021  func init() {
 28022  	t["ExpandVmfsExtent"] = reflect.TypeOf((*ExpandVmfsExtent)(nil)).Elem()
 28023  }
 28024  
 28025  // The parameters of `HostStorageSystem.ExpandVmfsExtent`.
 28026  type ExpandVmfsExtentRequestType struct {
 28027  	This ManagedObjectReference `xml:"_this" json:"-"`
 28028  	// The path of the VMFS to expand. See `FileSystemMountInfo`.
 28029  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 28030  	// The disk partition corresponding to the extent to be
 28031  	// expanded.
 28032  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 28033  }
 28034  
 28035  func init() {
 28036  	t["ExpandVmfsExtentRequestType"] = reflect.TypeOf((*ExpandVmfsExtentRequestType)(nil)).Elem()
 28037  }
 28038  
 28039  type ExpandVmfsExtentResponse struct {
 28040  }
 28041  
 28042  // An ExpiredAddonLicense fault is thrown if an attempt to acquire an Addon license
 28043  // 'feature failed for count 'count'.
 28044  type ExpiredAddonLicense struct {
 28045  	ExpiredFeatureLicense
 28046  }
 28047  
 28048  func init() {
 28049  	t["ExpiredAddonLicense"] = reflect.TypeOf((*ExpiredAddonLicense)(nil)).Elem()
 28050  }
 28051  
 28052  type ExpiredAddonLicenseFault ExpiredAddonLicense
 28053  
 28054  func init() {
 28055  	t["ExpiredAddonLicenseFault"] = reflect.TypeOf((*ExpiredAddonLicenseFault)(nil)).Elem()
 28056  }
 28057  
 28058  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 28059  // 'feature failed for count 'count'.
 28060  type ExpiredEditionLicense struct {
 28061  	ExpiredFeatureLicense
 28062  }
 28063  
 28064  func init() {
 28065  	t["ExpiredEditionLicense"] = reflect.TypeOf((*ExpiredEditionLicense)(nil)).Elem()
 28066  }
 28067  
 28068  type ExpiredEditionLicenseFault ExpiredEditionLicense
 28069  
 28070  func init() {
 28071  	t["ExpiredEditionLicenseFault"] = reflect.TypeOf((*ExpiredEditionLicenseFault)(nil)).Elem()
 28072  }
 28073  
 28074  // An ExpiredFeatureLicense fault is thrown if an attempt to acquire an Addon license
 28075  // 'feature failed for count 'count'.
 28076  type ExpiredFeatureLicense struct {
 28077  	NotEnoughLicenses
 28078  
 28079  	Feature        string    `xml:"feature" json:"feature"`
 28080  	Count          int32     `xml:"count" json:"count"`
 28081  	ExpirationDate time.Time `xml:"expirationDate" json:"expirationDate"`
 28082  }
 28083  
 28084  func init() {
 28085  	t["ExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem()
 28086  }
 28087  
 28088  type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense
 28089  
 28090  func init() {
 28091  	t["ExpiredFeatureLicenseFault"] = reflect.TypeOf((*ExpiredFeatureLicenseFault)(nil)).Elem()
 28092  }
 28093  
 28094  // The parameters of `HostProfileManager.ExportAnswerFile_Task`.
 28095  type ExportAnswerFileRequestType struct {
 28096  	This ManagedObjectReference `xml:"_this" json:"-"`
 28097  	// Host with which the answer file is associated.
 28098  	//
 28099  	// Refers instance of `HostSystem`.
 28100  	Host ManagedObjectReference `xml:"host" json:"host"`
 28101  }
 28102  
 28103  func init() {
 28104  	t["ExportAnswerFileRequestType"] = reflect.TypeOf((*ExportAnswerFileRequestType)(nil)).Elem()
 28105  }
 28106  
 28107  type ExportAnswerFile_Task ExportAnswerFileRequestType
 28108  
 28109  func init() {
 28110  	t["ExportAnswerFile_Task"] = reflect.TypeOf((*ExportAnswerFile_Task)(nil)).Elem()
 28111  }
 28112  
 28113  type ExportAnswerFile_TaskResponse struct {
 28114  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28115  }
 28116  
 28117  type ExportProfile ExportProfileRequestType
 28118  
 28119  func init() {
 28120  	t["ExportProfile"] = reflect.TypeOf((*ExportProfile)(nil)).Elem()
 28121  }
 28122  
 28123  type ExportProfileRequestType struct {
 28124  	This ManagedObjectReference `xml:"_this" json:"-"`
 28125  }
 28126  
 28127  func init() {
 28128  	t["ExportProfileRequestType"] = reflect.TypeOf((*ExportProfileRequestType)(nil)).Elem()
 28129  }
 28130  
 28131  type ExportProfileResponse struct {
 28132  	Returnval string `xml:"returnval" json:"returnval"`
 28133  }
 28134  
 28135  type ExportSnapshot ExportSnapshotRequestType
 28136  
 28137  func init() {
 28138  	t["ExportSnapshot"] = reflect.TypeOf((*ExportSnapshot)(nil)).Elem()
 28139  }
 28140  
 28141  type ExportSnapshotRequestType struct {
 28142  	This ManagedObjectReference `xml:"_this" json:"-"`
 28143  }
 28144  
 28145  func init() {
 28146  	t["ExportSnapshotRequestType"] = reflect.TypeOf((*ExportSnapshotRequestType)(nil)).Elem()
 28147  }
 28148  
 28149  type ExportSnapshotResponse struct {
 28150  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28151  }
 28152  
 28153  type ExportVApp ExportVAppRequestType
 28154  
 28155  func init() {
 28156  	t["ExportVApp"] = reflect.TypeOf((*ExportVApp)(nil)).Elem()
 28157  }
 28158  
 28159  type ExportVAppRequestType struct {
 28160  	This ManagedObjectReference `xml:"_this" json:"-"`
 28161  }
 28162  
 28163  func init() {
 28164  	t["ExportVAppRequestType"] = reflect.TypeOf((*ExportVAppRequestType)(nil)).Elem()
 28165  }
 28166  
 28167  type ExportVAppResponse struct {
 28168  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28169  }
 28170  
 28171  type ExportVm ExportVmRequestType
 28172  
 28173  func init() {
 28174  	t["ExportVm"] = reflect.TypeOf((*ExportVm)(nil)).Elem()
 28175  }
 28176  
 28177  type ExportVmRequestType struct {
 28178  	This ManagedObjectReference `xml:"_this" json:"-"`
 28179  }
 28180  
 28181  func init() {
 28182  	t["ExportVmRequestType"] = reflect.TypeOf((*ExportVmRequestType)(nil)).Elem()
 28183  }
 28184  
 28185  type ExportVmResponse struct {
 28186  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28187  }
 28188  
 28189  // This data object encapsulates extended product information for an extension.
 28190  type ExtExtendedProductInfo struct {
 28191  	DynamicData
 28192  
 28193  	// URL to extension vendor.
 28194  	CompanyUrl string `xml:"companyUrl,omitempty" json:"companyUrl,omitempty"`
 28195  	// URL to vendor's description of this extension.
 28196  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 28197  	// URL to management UI for this extension.
 28198  	ManagementUrl string `xml:"managementUrl,omitempty" json:"managementUrl,omitempty"`
 28199  	// The VirtualMachine or VirtualApp that is running this extension.
 28200  	//
 28201  	// Refers instance of `ManagedEntity`.
 28202  	Self *ManagedObjectReference `xml:"self,omitempty" json:"self,omitempty"`
 28203  }
 28204  
 28205  func init() {
 28206  	t["ExtExtendedProductInfo"] = reflect.TypeOf((*ExtExtendedProductInfo)(nil)).Elem()
 28207  }
 28208  
 28209  // This data object contains information about entities managed by this
 28210  // extension.
 28211  //
 28212  // The data can be used by clients to show extra information
 28213  // about managed virtual machines or vApps, such as a custom icon and a
 28214  // description of the entity.
 28215  type ExtManagedEntityInfo struct {
 28216  	DynamicData
 28217  
 28218  	// Managed entity type, as defined by the extension.
 28219  	//
 28220  	// This matches the
 28221  	// `type` field in the configuration
 28222  	// about a virtual machine or vApp.
 28223  	Type string `xml:"type" json:"type"`
 28224  	// The URL to a 16x16 pixel icon in PNG format for entities of this
 28225  	// type managed by this extension.
 28226  	//
 28227  	// The design of the icon should
 28228  	// allow for the possibility of it being badged with the power state
 28229  	// of the entity by the vSphere client. If you do not provide this
 28230  	// icon, the icon at
 28231  	// `iconUrl`, if found, is
 28232  	// scaled down to 16x16 pixels.
 28233  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 28234  	// The URL to an icon in PNG format that is no larger than 256x256
 28235  	// pixels.
 28236  	//
 28237  	// This icon will be scaled to 16x16, 32x32, 64x64, and
 28238  	// 128x128 if needed. The icon is shown for all entities of this type
 28239  	// managed by this extension.
 28240  	IconUrl string `xml:"iconUrl,omitempty" json:"iconUrl,omitempty"`
 28241  	// Description of this managed entity type.
 28242  	//
 28243  	// This is typically displayed
 28244  	// by clients, and should provide users with information about the
 28245  	// function of entities of this type.
 28246  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 28247  }
 28248  
 28249  func init() {
 28250  	t["ExtManagedEntityInfo"] = reflect.TypeOf((*ExtManagedEntityInfo)(nil)).Elem()
 28251  }
 28252  
 28253  // This data object encapsulates the Solution Manager configuration for
 28254  // this extension.
 28255  type ExtSolutionManagerInfo struct {
 28256  	DynamicData
 28257  
 28258  	// Deprecated as of vSphere API 5.1, see client documentation for the
 28259  	// preferred way to integrate custom user interfaces.
 28260  	//
 28261  	// List of tabs that must be shown in the Solution Manager for this extension.
 28262  	//
 28263  	// Tabs are shown ordered by their position in this array.
 28264  	Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty" json:"tab,omitempty"`
 28265  	// URL for an icon for this extension.
 28266  	//
 28267  	// The icon will be shown in the Solution
 28268  	// Manager for this extension. The icon must be 16x16, and should be in PNG
 28269  	// format.
 28270  	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
 28271  }
 28272  
 28273  func init() {
 28274  	t["ExtSolutionManagerInfo"] = reflect.TypeOf((*ExtSolutionManagerInfo)(nil)).Elem()
 28275  }
 28276  
 28277  // Deprecated as of vSphere API 5.1.
 28278  //
 28279  // This data object contains information about a tab to show in the
 28280  // Solution Manager for this extension.
 28281  type ExtSolutionManagerInfoTabInfo struct {
 28282  	DynamicData
 28283  
 28284  	// The name of the tab.
 28285  	Label string `xml:"label" json:"label"`
 28286  	// The URL for the webpage to show in the tab.
 28287  	//
 28288  	// Extra parameters will be added
 28289  	// to this URL when vSphere Client loads it. See the "Customizing the vSphere
 28290  	// Client" technical note for more information.
 28291  	Url string `xml:"url" json:"url"`
 28292  }
 28293  
 28294  func init() {
 28295  	t["ExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ExtSolutionManagerInfoTabInfo)(nil)).Elem()
 28296  }
 28297  
 28298  // The parameters of `VcenterVStorageObjectManager.ExtendDisk_Task`.
 28299  type ExtendDiskRequestType struct {
 28300  	This ManagedObjectReference `xml:"_this" json:"-"`
 28301  	// The ID of the virtual disk to be extended.
 28302  	Id ID `xml:"id" json:"id"`
 28303  	// The datastore where the virtual disk is located.
 28304  	//
 28305  	// Refers instance of `Datastore`.
 28306  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28307  	// The new capacity of the virtual disk in MB.
 28308  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 28309  }
 28310  
 28311  func init() {
 28312  	t["ExtendDiskRequestType"] = reflect.TypeOf((*ExtendDiskRequestType)(nil)).Elem()
 28313  }
 28314  
 28315  type ExtendDisk_Task ExtendDiskRequestType
 28316  
 28317  func init() {
 28318  	t["ExtendDisk_Task"] = reflect.TypeOf((*ExtendDisk_Task)(nil)).Elem()
 28319  }
 28320  
 28321  type ExtendDisk_TaskResponse struct {
 28322  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28323  }
 28324  
 28325  // The parameters of `ClusterComputeResource.ExtendHCI_Task`.
 28326  type ExtendHCIRequestType struct {
 28327  	This ManagedObjectReference `xml:"_this" json:"-"`
 28328  	// Inputs to configure specified set of hosts in the
 28329  	// cluster. See
 28330  	// `ClusterComputeResourceHostConfigurationInput`
 28331  	// for details. Hosts in this list should be part of the cluster and
 28332  	// should be in maintenance mode for them to be configured per
 28333  	// specification. Hosts which were not configured due to not
 28334  	// being in maintenance mode will be returned in
 28335  	// `ClusterComputeResourceClusterConfigResult.failedHosts`. Specify
 28336  	// `ClusterComputeResourceHostConfigurationInput.hostVmkNics` only if `dvsSetting`
 28337  	// is set.
 28338  	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
 28339  	// Specification to configure vSAN on specified set of
 28340  	// hosts. See vim.vsan.ReconfigSpec for details. This parameter
 28341  	// should be specified only when vSan is enabled on the cluster.
 28342  	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
 28343  }
 28344  
 28345  func init() {
 28346  	t["ExtendHCIRequestType"] = reflect.TypeOf((*ExtendHCIRequestType)(nil)).Elem()
 28347  }
 28348  
 28349  type ExtendHCI_Task ExtendHCIRequestType
 28350  
 28351  func init() {
 28352  	t["ExtendHCI_Task"] = reflect.TypeOf((*ExtendHCI_Task)(nil)).Elem()
 28353  }
 28354  
 28355  type ExtendHCI_TaskResponse struct {
 28356  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28357  }
 28358  
 28359  type ExtendVffs ExtendVffsRequestType
 28360  
 28361  func init() {
 28362  	t["ExtendVffs"] = reflect.TypeOf((*ExtendVffs)(nil)).Elem()
 28363  }
 28364  
 28365  // The parameters of `HostStorageSystem.ExtendVffs`.
 28366  type ExtendVffsRequestType struct {
 28367  	This ManagedObjectReference `xml:"_this" json:"-"`
 28368  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 28369  	VffsPath string `xml:"vffsPath" json:"vffsPath"`
 28370  	// Device path of the SSD disk.
 28371  	DevicePath string `xml:"devicePath" json:"devicePath"`
 28372  	// A data object that describes the SSD disk partition
 28373  	// information. If this property is not provided, partition
 28374  	// information will be computed and generated.
 28375  	Spec *HostDiskPartitionSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 28376  }
 28377  
 28378  func init() {
 28379  	t["ExtendVffsRequestType"] = reflect.TypeOf((*ExtendVffsRequestType)(nil)).Elem()
 28380  }
 28381  
 28382  type ExtendVffsResponse struct {
 28383  }
 28384  
 28385  // The parameters of `VirtualDiskManager.ExtendVirtualDisk_Task`.
 28386  type ExtendVirtualDiskRequestType struct {
 28387  	This ManagedObjectReference `xml:"_this" json:"-"`
 28388  	// The name of the disk, either a datastore path or a URL
 28389  	// referring to the virtual disk whose capacity should be expanded.
 28390  	Name string `xml:"name" json:"name"`
 28391  	// If <code>name</code> is a datastore path, the datacenter for
 28392  	// that datastore path. Not needed when invoked directly on ESX.
 28393  	// If not specified on a call to VirtualCenter,
 28394  	// <code>name</code> must be a URL.
 28395  	//
 28396  	// Refers instance of `Datacenter`.
 28397  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 28398  	// The new capacty of the virtual disk in Kb.
 28399  	NewCapacityKb int64 `xml:"newCapacityKb" json:"newCapacityKb"`
 28400  	// If true, the extended part of the disk will be
 28401  	// explicitly filled with zeroes.
 28402  	EagerZero *bool `xml:"eagerZero" json:"eagerZero,omitempty"`
 28403  }
 28404  
 28405  func init() {
 28406  	t["ExtendVirtualDiskRequestType"] = reflect.TypeOf((*ExtendVirtualDiskRequestType)(nil)).Elem()
 28407  }
 28408  
 28409  type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType
 28410  
 28411  func init() {
 28412  	t["ExtendVirtualDisk_Task"] = reflect.TypeOf((*ExtendVirtualDisk_Task)(nil)).Elem()
 28413  }
 28414  
 28415  type ExtendVirtualDisk_TaskResponse struct {
 28416  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28417  }
 28418  
 28419  type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType
 28420  
 28421  func init() {
 28422  	t["ExtendVmfsDatastore"] = reflect.TypeOf((*ExtendVmfsDatastore)(nil)).Elem()
 28423  }
 28424  
 28425  // The parameters of `HostDatastoreSystem.ExtendVmfsDatastore`.
 28426  type ExtendVmfsDatastoreRequestType struct {
 28427  	This ManagedObjectReference `xml:"_this" json:"-"`
 28428  	// The datastore whose capacity should be increased.
 28429  	//
 28430  	// Refers instance of `Datastore`.
 28431  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 28432  	// The specification describing what extents to add to a
 28433  	// VMFS datastore.
 28434  	Spec VmfsDatastoreExtendSpec `xml:"spec" json:"spec"`
 28435  }
 28436  
 28437  func init() {
 28438  	t["ExtendVmfsDatastoreRequestType"] = reflect.TypeOf((*ExtendVmfsDatastoreRequestType)(nil)).Elem()
 28439  }
 28440  
 28441  type ExtendVmfsDatastoreResponse struct {
 28442  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 28443  }
 28444  
 28445  type ExtendedDescription struct {
 28446  	Description
 28447  
 28448  	// Key to the localized message string in the catalog.
 28449  	//
 28450  	// If the localized string contains parameters, values to the
 28451  	// parameters will be provided in #messageArg.
 28452  	// E.g: If the message in the catalog is
 28453  	// "IP address is {address}", value for "address"
 28454  	// will be provided by #messageArg.
 28455  	// Both summary and label in Description will have a corresponding
 28456  	// entry in the message catalog with the keys
 28457  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 28458  	// respectively.
 28459  	// Description.summary and Description.label will contain
 28460  	// the strings in server locale.
 28461  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 28462  	// Provides named arguments that can be used to localize the
 28463  	// message in the catalog.
 28464  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 28465  }
 28466  
 28467  func init() {
 28468  	t["ExtendedDescription"] = reflect.TypeOf((*ExtendedDescription)(nil)).Elem()
 28469  }
 28470  
 28471  type ExtendedElementDescription struct {
 28472  	ElementDescription
 28473  
 28474  	// Key to the localized message string in the catalog.
 28475  	//
 28476  	// If the localized string contains parameters, values to the
 28477  	// parameters will be provided in #messageArg.
 28478  	// E.g: If the message in the catalog is
 28479  	// "IP address is {address}", value for "address"
 28480  	// will be provided by #messageArg.
 28481  	// Both summary and label in ElementDescription will have a corresponding
 28482  	// entry in the message catalog with the keys
 28483  	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
 28484  	// respectively.
 28485  	// ElementDescription.summary and ElementDescription.label will contain
 28486  	// the strings in server locale.
 28487  	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
 28488  	// Provides named arguments that can be used to localize the
 28489  	// message in the catalog.
 28490  	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
 28491  }
 28492  
 28493  func init() {
 28494  	t["ExtendedElementDescription"] = reflect.TypeOf((*ExtendedElementDescription)(nil)).Elem()
 28495  }
 28496  
 28497  // This event is the base class for extended events.
 28498  type ExtendedEvent struct {
 28499  	GeneralEvent
 28500  
 28501  	// The id of the type of extended event.
 28502  	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
 28503  	// The object on which the event was logged.
 28504  	ManagedObject ManagedObjectReference `xml:"managedObject" json:"managedObject"`
 28505  	// Key/value pairs associated with event.
 28506  	Data []ExtendedEventPair `xml:"data,omitempty" json:"data,omitempty"`
 28507  }
 28508  
 28509  func init() {
 28510  	t["ExtendedEvent"] = reflect.TypeOf((*ExtendedEvent)(nil)).Elem()
 28511  }
 28512  
 28513  // key/value pair
 28514  type ExtendedEventPair struct {
 28515  	DynamicData
 28516  
 28517  	Key   string `xml:"key" json:"key"`
 28518  	Value string `xml:"value" json:"value"`
 28519  }
 28520  
 28521  func init() {
 28522  	t["ExtendedEventPair"] = reflect.TypeOf((*ExtendedEventPair)(nil)).Elem()
 28523  }
 28524  
 28525  // This fault is the container for faults logged by extensions.
 28526  type ExtendedFault struct {
 28527  	VimFault
 28528  
 28529  	// The id of the type of extended fault.
 28530  	FaultTypeId string `xml:"faultTypeId" json:"faultTypeId"`
 28531  	// Key/value pairs associated with fault.
 28532  	Data []KeyValue `xml:"data,omitempty" json:"data,omitempty"`
 28533  }
 28534  
 28535  func init() {
 28536  	t["ExtendedFault"] = reflect.TypeOf((*ExtendedFault)(nil)).Elem()
 28537  }
 28538  
 28539  type ExtendedFaultFault ExtendedFault
 28540  
 28541  func init() {
 28542  	t["ExtendedFaultFault"] = reflect.TypeOf((*ExtendedFaultFault)(nil)).Elem()
 28543  }
 28544  
 28545  // This data object type contains all information about an extension.
 28546  //
 28547  // An extension may contain zero or more server interfaces and zero
 28548  // or more clients.
 28549  type Extension struct {
 28550  	DynamicData
 28551  
 28552  	// Description of extension.
 28553  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28554  	// Extension key.
 28555  	//
 28556  	// Should follow java package naming conventions
 28557  	// for uniqueness (e.g. "com.example.management").
 28558  	//
 28559  	// Extension names can only contain characters belonging to the
 28560  	// lower ASCII character set (UTF-7) with the exception of the
 28561  	// following characters:
 28562  	//  1. All whitespace characters ("space" - ascii character 0x20 is allowed)
 28563  	//  2. Control characters
 28564  	//  3. Comma (ascii 0x2c), Forward slash (ascii 0x2f), Backward slash (ascii 0x5c),
 28565  	//     Hash/Pound (ascii 0x23), Plus (ascii 0x2b), Greater (ascii 0x3e), Lesser (ascii 0x3c),
 28566  	//     Equals (ascii 0x3d), Semi-colon (ascii 0x3b) and Double quote (ascii 0x22).
 28567  	Key string `xml:"key" json:"key"`
 28568  	// Company information.
 28569  	Company string `xml:"company,omitempty" json:"company,omitempty"`
 28570  	// Type of extension (example may include CP-DVS, NUOVA-DVS, etc.).
 28571  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 28572  	// Extension version number as a dot-separated string.
 28573  	//
 28574  	// For example, "1.0.0"
 28575  	Version string `xml:"version" json:"version"`
 28576  	// Subject name from client certificate.
 28577  	SubjectName string `xml:"subjectName,omitempty" json:"subjectName,omitempty"`
 28578  	// Servers for this extension.
 28579  	Server []ExtensionServerInfo `xml:"server,omitempty" json:"server,omitempty"`
 28580  	// Clients for this extension.
 28581  	Client []ExtensionClientInfo `xml:"client,omitempty" json:"client,omitempty"`
 28582  	// Definitions of tasks defined by this extension.
 28583  	TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty" json:"taskList,omitempty"`
 28584  	// Definitions of events defined by this extension.
 28585  	EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty" json:"eventList,omitempty"`
 28586  	// Definitions of faults defined by this extension.
 28587  	FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty" json:"faultList,omitempty"`
 28588  	// Definitions privileges defined by this extension.
 28589  	PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 28590  	// Resource data for all locales
 28591  	ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty" json:"resourceList,omitempty"`
 28592  	// Last extension heartbeat time.
 28593  	LastHeartbeatTime time.Time `xml:"lastHeartbeatTime" json:"lastHeartbeatTime"`
 28594  	// Health specification provided by this extension.
 28595  	HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty" json:"healthInfo,omitempty"`
 28596  	// OVF consumer specification provided by this extension.
 28597  	OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty" json:"ovfConsumerInfo,omitempty"`
 28598  	// Extended product information, such as URLs to vendor, product, etc.
 28599  	ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty" json:"extendedProductInfo,omitempty"`
 28600  	// Information about entities managed by this extension.
 28601  	//
 28602  	// An extension can
 28603  	// register virtual machines as managed by itself, by setting the
 28604  	// `managedBy` property of the virtual
 28605  	// machine.
 28606  	ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty" json:"managedEntityInfo,omitempty"`
 28607  	// Opt-in to the Solution Manager.
 28608  	//
 28609  	// If set to true, this extension will be
 28610  	// shown in the Solution Manager. If not set, or set to false, this extension
 28611  	// is not shown in the Solution Manager.
 28612  	ShownInSolutionManager *bool `xml:"shownInSolutionManager" json:"shownInSolutionManager,omitempty"`
 28613  	// Solution Manager configuration for this extension.
 28614  	SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty" json:"solutionManagerInfo,omitempty"`
 28615  }
 28616  
 28617  func init() {
 28618  	t["Extension"] = reflect.TypeOf((*Extension)(nil)).Elem()
 28619  }
 28620  
 28621  // This data object type describes a client of the extension.
 28622  type ExtensionClientInfo struct {
 28623  	DynamicData
 28624  
 28625  	// Client version number as a dot-separated string.
 28626  	//
 28627  	// For example, "1.0.0"
 28628  	Version string `xml:"version" json:"version"`
 28629  	// Description of client.
 28630  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28631  	// Company information.
 28632  	Company string `xml:"company" json:"company"`
 28633  	// Type of client (examples may include win32, .net, linux, etc.).
 28634  	Type string `xml:"type" json:"type"`
 28635  	// Plugin url.
 28636  	Url string `xml:"url" json:"url"`
 28637  }
 28638  
 28639  func init() {
 28640  	t["ExtensionClientInfo"] = reflect.TypeOf((*ExtensionClientInfo)(nil)).Elem()
 28641  }
 28642  
 28643  // This data object type describes event types defined by the extension.
 28644  type ExtensionEventTypeInfo struct {
 28645  	DynamicData
 28646  
 28647  	// The ID of the event type.
 28648  	//
 28649  	// Should follow java package
 28650  	// naming conventions for uniqueness.
 28651  	EventID string `xml:"eventID" json:"eventID"`
 28652  	// Optional XML descriptor for the EventType.
 28653  	//
 28654  	// The structure of this descriptor is:
 28655  	//
 28656  	//	<EventType>
 28657  	//	  <eventTypeID>eventID</eventTypeID>
 28658  	//	  <description>Optional description for event eventID</description>
 28659  	//	  <-- Optional arguments: -->
 28660  	//	  <arguments>
 28661  	//	     <-- Zero or more of: -->
 28662  	//	     <argument>
 28663  	//	       <name>argName</name>
 28664  	//	       <type>argtype</name>
 28665  	//	     </argument>
 28666  	//	  </arguments>
 28667  	//	</EventType>
 28668  	//
 28669  	// where _argtype_ can be one of the following:
 28670  	//   - This is an example list and should be considered as incomplete.
 28671  	//
 28672  	// <!-- -->
 28673  	//   - Primitive types:
 28674  	//   - _string_
 28675  	//   - _bool_
 28676  	//   - _int_
 28677  	//   - _long_
 28678  	//   - _float_
 28679  	//   - _moid_
 28680  	//   - Entity reference types:
 28681  	//   - _vm_
 28682  	//   - _host_
 28683  	//   - _resourcepool_
 28684  	//   - _computeresource_
 28685  	//   - _datacenter_
 28686  	//   - _datastore_
 28687  	//   - _network_
 28688  	//   - _dvs_
 28689  	EventTypeSchema string `xml:"eventTypeSchema,omitempty" json:"eventTypeSchema,omitempty"`
 28690  }
 28691  
 28692  func init() {
 28693  	t["ExtensionEventTypeInfo"] = reflect.TypeOf((*ExtensionEventTypeInfo)(nil)).Elem()
 28694  }
 28695  
 28696  // This data object type describes fault types defined by the extension.
 28697  type ExtensionFaultTypeInfo struct {
 28698  	DynamicData
 28699  
 28700  	// The ID of the fault type.
 28701  	//
 28702  	// Should follow java package
 28703  	// naming conventions for uniqueness.
 28704  	FaultID string `xml:"faultID" json:"faultID"`
 28705  }
 28706  
 28707  func init() {
 28708  	t["ExtensionFaultTypeInfo"] = reflect.TypeOf((*ExtensionFaultTypeInfo)(nil)).Elem()
 28709  }
 28710  
 28711  // This data object encapsulates the health specification for the
 28712  // extension.
 28713  type ExtensionHealthInfo struct {
 28714  	DynamicData
 28715  
 28716  	Url string `xml:"url" json:"url"`
 28717  }
 28718  
 28719  func init() {
 28720  	t["ExtensionHealthInfo"] = reflect.TypeOf((*ExtensionHealthInfo)(nil)).Elem()
 28721  }
 28722  
 28723  // This data object type contains usage information about an
 28724  // extension's IP allocation usage.
 28725  type ExtensionManagerIpAllocationUsage struct {
 28726  	DynamicData
 28727  
 28728  	// Key of the extension whose usage is being
 28729  	// reported.
 28730  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 28731  	// Number of IP addresses allocated from IP pools.
 28732  	NumAddresses int32 `xml:"numAddresses" json:"numAddresses"`
 28733  }
 28734  
 28735  func init() {
 28736  	t["ExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ExtensionManagerIpAllocationUsage)(nil)).Elem()
 28737  }
 28738  
 28739  // This data object contains configuration for extensions that also extend the OVF
 28740  // functionality of vCenter server.
 28741  //
 28742  // `*Note:*` This feature is for internal use only.
 28743  type ExtensionOvfConsumerInfo struct {
 28744  	DynamicData
 28745  
 28746  	// Callback url for the OVF consumer.
 28747  	//
 28748  	// This URL must point to a SOAP API
 28749  	// implementing the OVF consumer interface.
 28750  	//
 28751  	// Example: https://extension-host:8081/
 28752  	//
 28753  	// This callback is for internal use only.
 28754  	CallbackUrl string `xml:"callbackUrl" json:"callbackUrl"`
 28755  	// A list of fully qualified OVF section types that this consumer handles.
 28756  	//
 28757  	// Fully qualified means that each section type must be prefixed with its namespace
 28758  	// enclosed in curly braces. See the examples below.
 28759  	//
 28760  	// An InvalidArgument error is thrown if there is overlap between OVF consumers,
 28761  	// meaning that the same section type appears in the sectionType list of more than
 28762  	// one OVF consumer.
 28763  	//
 28764  	// Example: \[ "{http://www.vmware.com/schema/vServiceManager}vServiceDependency",
 28765  	// "{http://www.vmware.com/schema/vServiceManager}vServiceBinding" \]
 28766  	SectionType []string `xml:"sectionType" json:"sectionType"`
 28767  }
 28768  
 28769  func init() {
 28770  	t["ExtensionOvfConsumerInfo"] = reflect.TypeOf((*ExtensionOvfConsumerInfo)(nil)).Elem()
 28771  }
 28772  
 28773  // This data object type describes privileges defined by the extension.
 28774  type ExtensionPrivilegeInfo struct {
 28775  	DynamicData
 28776  
 28777  	// The ID of the privilege.
 28778  	//
 28779  	// The format should be
 28780  	// &quot;&lt;group name&gt;.&lt;privilege name&gt;&quot;.
 28781  	// The group name should be the same as the privGroupName
 28782  	// property.
 28783  	//
 28784  	// The privilege name should follow java package naming
 28785  	// conventions for uniqueness. The set of characters allowed
 28786  	// follow the same rules as `Extension.key`.
 28787  	PrivID string `xml:"privID" json:"privID"`
 28788  	// Hierarchical group name.
 28789  	//
 28790  	// Each level of the grouping hierarchy is
 28791  	// separated by a "." so group names may not include a ".".
 28792  	// `AuthorizationPrivilege.privGroupName`.
 28793  	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
 28794  }
 28795  
 28796  func init() {
 28797  	t["ExtensionPrivilegeInfo"] = reflect.TypeOf((*ExtensionPrivilegeInfo)(nil)).Elem()
 28798  }
 28799  
 28800  // This data object encapsulates the message resources for all locales.
 28801  type ExtensionResourceInfo struct {
 28802  	DynamicData
 28803  
 28804  	Locale string `xml:"locale" json:"locale"`
 28805  	// Module for a resource type and other message or fault resources.
 28806  	//
 28807  	// Examples: "task" for task, "event" for event and "auth" for "privilege".
 28808  	Module string     `xml:"module" json:"module"`
 28809  	Data   []KeyValue `xml:"data" json:"data"`
 28810  }
 28811  
 28812  func init() {
 28813  	t["ExtensionResourceInfo"] = reflect.TypeOf((*ExtensionResourceInfo)(nil)).Elem()
 28814  }
 28815  
 28816  // This data object type describes a server for the extension.
 28817  type ExtensionServerInfo struct {
 28818  	DynamicData
 28819  
 28820  	// Server url.
 28821  	Url string `xml:"url" json:"url"`
 28822  	// Server description.
 28823  	Description BaseDescription `xml:"description,typeattr" json:"description"`
 28824  	// Company information.
 28825  	Company string `xml:"company" json:"company"`
 28826  	// Type of server (examples may include SOAP, REST, HTTP, etc.).
 28827  	Type string `xml:"type" json:"type"`
 28828  	// Extension administrator email addresses.
 28829  	AdminEmail []string `xml:"adminEmail" json:"adminEmail"`
 28830  	// Thumbprint of the extension server certificate presented to clients
 28831  	ServerThumbprint string `xml:"serverThumbprint,omitempty" json:"serverThumbprint,omitempty"`
 28832  	// X.509 certificate of the extension server presented to clients in PEM
 28833  	// format according to RFC 7468
 28834  	ServerCertificate string `xml:"serverCertificate,omitempty" json:"serverCertificate,omitempty" vim:"8.0.2.0"`
 28835  }
 28836  
 28837  func init() {
 28838  	t["ExtensionServerInfo"] = reflect.TypeOf((*ExtensionServerInfo)(nil)).Elem()
 28839  }
 28840  
 28841  // This data object type describes task types defined by the extension.
 28842  type ExtensionTaskTypeInfo struct {
 28843  	DynamicData
 28844  
 28845  	// The ID of the task type.
 28846  	//
 28847  	// Should follow java package
 28848  	// naming conventions for uniqueness.
 28849  	TaskID string `xml:"taskID" json:"taskID"`
 28850  }
 28851  
 28852  func init() {
 28853  	t["ExtensionTaskTypeInfo"] = reflect.TypeOf((*ExtensionTaskTypeInfo)(nil)).Elem()
 28854  }
 28855  
 28856  type ExtractOvfEnvironment ExtractOvfEnvironmentRequestType
 28857  
 28858  func init() {
 28859  	t["ExtractOvfEnvironment"] = reflect.TypeOf((*ExtractOvfEnvironment)(nil)).Elem()
 28860  }
 28861  
 28862  type ExtractOvfEnvironmentRequestType struct {
 28863  	This ManagedObjectReference `xml:"_this" json:"-"`
 28864  }
 28865  
 28866  func init() {
 28867  	t["ExtractOvfEnvironmentRequestType"] = reflect.TypeOf((*ExtractOvfEnvironmentRequestType)(nil)).Elem()
 28868  }
 28869  
 28870  type ExtractOvfEnvironmentResponse struct {
 28871  	Returnval string `xml:"returnval" json:"returnval"`
 28872  }
 28873  
 28874  // Fault type that could be thrown when enabling SPBM(Storage Policy
 28875  // Based Management) feature of a compute resource.
 28876  type FailToEnableSPBM struct {
 28877  	NotEnoughLicenses
 28878  
 28879  	// The compute resource
 28880  	//
 28881  	// Refers instance of `ComputeResource`.
 28882  	Cs ManagedObjectReference `xml:"cs" json:"cs"`
 28883  	// The computer resource name
 28884  	CsName string `xml:"csName" json:"csName"`
 28885  	// Array of `ComputeResourceHostSPBMLicenseInfo` that
 28886  	// contains SPBM license information for all hosts in the compute resource
 28887  	HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates" json:"hostLicenseStates"`
 28888  }
 28889  
 28890  func init() {
 28891  	t["FailToEnableSPBM"] = reflect.TypeOf((*FailToEnableSPBM)(nil)).Elem()
 28892  }
 28893  
 28894  type FailToEnableSPBMFault FailToEnableSPBM
 28895  
 28896  func init() {
 28897  	t["FailToEnableSPBMFault"] = reflect.TypeOf((*FailToEnableSPBMFault)(nil)).Elem()
 28898  }
 28899  
 28900  // Thrown when trying to state lock a Fault Tolerance VM, and the
 28901  // other VM in the same Fault Tolerance pair is already locked.
 28902  type FailToLockFaultToleranceVMs struct {
 28903  	RuntimeFault
 28904  
 28905  	// The name of the vm to be locked.
 28906  	VmName string `xml:"vmName" json:"vmName"`
 28907  	// The vm to be locked, this can be a Fault Tolerance primary or secondary VM
 28908  	//
 28909  	// Refers instance of `VirtualMachine`.
 28910  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 28911  	// The vm that is already locked, this can be a Fault Tolerance primary or secondary VM
 28912  	//
 28913  	// Refers instance of `VirtualMachine`.
 28914  	AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm" json:"alreadyLockedVm"`
 28915  }
 28916  
 28917  func init() {
 28918  	t["FailToLockFaultToleranceVMs"] = reflect.TypeOf((*FailToLockFaultToleranceVMs)(nil)).Elem()
 28919  }
 28920  
 28921  type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs
 28922  
 28923  func init() {
 28924  	t["FailToLockFaultToleranceVMsFault"] = reflect.TypeOf((*FailToLockFaultToleranceVMsFault)(nil)).Elem()
 28925  }
 28926  
 28927  // This event records that the amount of cluster resources has increased
 28928  // and is now sufficient to satisfy the configured HA failover level.
 28929  type FailoverLevelRestored struct {
 28930  	ClusterEvent
 28931  }
 28932  
 28933  func init() {
 28934  	t["FailoverLevelRestored"] = reflect.TypeOf((*FailoverLevelRestored)(nil)).Elem()
 28935  }
 28936  
 28937  type FailoverNodeInfo struct {
 28938  	DynamicData
 28939  
 28940  	// VCHA Cluster network configuration of the node.
 28941  	//
 28942  	// All cluster communication (state replication, heartbeat,
 28943  	// cluster messages) happens over this network.
 28944  	ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings" json:"clusterIpSettings"`
 28945  	// Failover IP address that this node will assume after the failover
 28946  	// to serve client requests.
 28947  	//
 28948  	// Each failover node can have a different
 28949  	// failover IP address.
 28950  	FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty" json:"failoverIp,omitempty"`
 28951  	// BIOS UUID for the node.
 28952  	//
 28953  	// It is set only if the VCHA Cluster was
 28954  	// formed using automatic provisioning by the deploy API.
 28955  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 28956  }
 28957  
 28958  func init() {
 28959  	t["FailoverNodeInfo"] = reflect.TypeOf((*FailoverNodeInfo)(nil)).Elem()
 28960  }
 28961  
 28962  // Represents the identity of a replication fault domain.
 28963  //
 28964  // Fault domains IDs are globally
 28965  // unique.
 28966  type FaultDomainId struct {
 28967  	DynamicData
 28968  
 28969  	// ID of the fault domain.
 28970  	Id string `xml:"id" json:"id"`
 28971  }
 28972  
 28973  func init() {
 28974  	t["FaultDomainId"] = reflect.TypeOf((*FaultDomainId)(nil)).Elem()
 28975  }
 28976  
 28977  // More than one VM in the same fault tolerance group are placed on the same host
 28978  type FaultToleranceAntiAffinityViolated struct {
 28979  	MigrationFault
 28980  
 28981  	// The name of the host.
 28982  	HostName string `xml:"hostName" json:"hostName"`
 28983  	// The host.
 28984  	//
 28985  	// Refers instance of `HostSystem`.
 28986  	Host ManagedObjectReference `xml:"host" json:"host"`
 28987  }
 28988  
 28989  func init() {
 28990  	t["FaultToleranceAntiAffinityViolated"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolated)(nil)).Elem()
 28991  }
 28992  
 28993  type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated
 28994  
 28995  func init() {
 28996  	t["FaultToleranceAntiAffinityViolatedFault"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolatedFault)(nil)).Elem()
 28997  }
 28998  
 28999  // The memory size, reservation, limit or shares of a virtual machine cannot
 29000  // be edited if Fault Tolerance is turned on
 29001  type FaultToleranceCannotEditMem struct {
 29002  	VmConfigFault
 29003  
 29004  	// The name of the VM.
 29005  	VmName string `xml:"vmName" json:"vmName"`
 29006  	// The VM.
 29007  	//
 29008  	// Refers instance of `VirtualMachine`.
 29009  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29010  }
 29011  
 29012  func init() {
 29013  	t["FaultToleranceCannotEditMem"] = reflect.TypeOf((*FaultToleranceCannotEditMem)(nil)).Elem()
 29014  }
 29015  
 29016  type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem
 29017  
 29018  func init() {
 29019  	t["FaultToleranceCannotEditMemFault"] = reflect.TypeOf((*FaultToleranceCannotEditMemFault)(nil)).Elem()
 29020  }
 29021  
 29022  // FaultToleranceConfigInfo is a data object type containing Fault Tolerance
 29023  // settings for this virtual machine.
 29024  //
 29025  // role, instanceUuids and configPaths contain information about the
 29026  // whole fault tolerance group.
 29027  type FaultToleranceConfigInfo struct {
 29028  	DynamicData
 29029  
 29030  	// The index of the current VM in instanceUuids array starting from 1, so
 29031  	// 1 means that it is the primary VM.
 29032  	Role int32 `xml:"role" json:"role"`
 29033  	// The instanceUuid of all the VMs in this fault tolerance group.
 29034  	//
 29035  	// The
 29036  	// first element is the instanceUuid of the primary VM.
 29037  	InstanceUuids []string `xml:"instanceUuids" json:"instanceUuids"`
 29038  	// The configuration file path for all the VMs in this fault tolerance
 29039  	// group.
 29040  	ConfigPaths []string `xml:"configPaths" json:"configPaths"`
 29041  	// Indicates whether a secondary VM is orphaned (no longer associated with
 29042  	// the primary VM).
 29043  	Orphaned *bool `xml:"orphaned" json:"orphaned,omitempty"`
 29044  }
 29045  
 29046  func init() {
 29047  	t["FaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem()
 29048  }
 29049  
 29050  // FaultToleranceConfigSpec contains information about the metadata file
 29051  // and vmdk files for a fault tolerant VM pair.
 29052  type FaultToleranceConfigSpec struct {
 29053  	DynamicData
 29054  
 29055  	// Metadata file information
 29056  	MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty" json:"metaDataPath,omitempty"`
 29057  	// Placement information for secondary
 29058  	SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty" json:"secondaryVmSpec,omitempty"`
 29059  	// Indicates whether FT Metro Cluster is enabled/disabled.
 29060  	//
 29061  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 29062  	// Anti-HostGroup will be generated from HostGroup defined for FT
 29063  	// primary, then affine the primary with one HostGroup and affine the
 29064  	// secondary with another HostGroup.
 29065  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 29066  	// primary and secondary will be put in the same HostGroup.
 29067  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 29068  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 29069  	// Metro Cluster enabled Virtual Machine.
 29070  	//
 29071  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 29072  	// into two groups and ensure to place FT primary and FT secondary in
 29073  	// different groups.
 29074  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 29075  }
 29076  
 29077  func init() {
 29078  	t["FaultToleranceConfigSpec"] = reflect.TypeOf((*FaultToleranceConfigSpec)(nil)).Elem()
 29079  }
 29080  
 29081  // Convenience subclass for calling out some named features among the
 29082  // incompatibilities found in CPUID level 1 register ecx for FT vms.
 29083  type FaultToleranceCpuIncompatible struct {
 29084  	CpuIncompatible
 29085  
 29086  	// Flag to indicate CPU model is incompatible.
 29087  	Model bool `xml:"model" json:"model"`
 29088  	// Flag to indicate CPU family is incompatible.
 29089  	Family bool `xml:"family" json:"family"`
 29090  	// Flag to indicate CPU stepping is incompatible.
 29091  	Stepping bool `xml:"stepping" json:"stepping"`
 29092  }
 29093  
 29094  func init() {
 29095  	t["FaultToleranceCpuIncompatible"] = reflect.TypeOf((*FaultToleranceCpuIncompatible)(nil)).Elem()
 29096  }
 29097  
 29098  type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible
 29099  
 29100  func init() {
 29101  	t["FaultToleranceCpuIncompatibleFault"] = reflect.TypeOf((*FaultToleranceCpuIncompatibleFault)(nil)).Elem()
 29102  }
 29103  
 29104  // FaultToleranceDiskSpec contains disk managed object and destination
 29105  // datastore of disks associated with a VM.
 29106  type FaultToleranceDiskSpec struct {
 29107  	DynamicData
 29108  
 29109  	// Disk Managed Object
 29110  	Disk BaseVirtualDevice `xml:"disk,typeattr" json:"disk"`
 29111  	// Destination location for disk
 29112  	//
 29113  	// Refers instance of `Datastore`.
 29114  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 29115  }
 29116  
 29117  func init() {
 29118  	t["FaultToleranceDiskSpec"] = reflect.TypeOf((*FaultToleranceDiskSpec)(nil)).Elem()
 29119  }
 29120  
 29121  // This data object encapsulates the Datastore for the shared metadata file
 29122  // for a fault tolerant pair of VMs.
 29123  type FaultToleranceMetaSpec struct {
 29124  	DynamicData
 29125  
 29126  	// Datastore for the metadata file
 29127  	//
 29128  	// Refers instance of `Datastore`.
 29129  	MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore" json:"metaDataDatastore"`
 29130  }
 29131  
 29132  func init() {
 29133  	t["FaultToleranceMetaSpec"] = reflect.TypeOf((*FaultToleranceMetaSpec)(nil)).Elem()
 29134  }
 29135  
 29136  // Fault Tolerance VM requires thick disks
 29137  type FaultToleranceNeedsThickDisk struct {
 29138  	MigrationFault
 29139  
 29140  	// The name of the VM.
 29141  	VmName string `xml:"vmName" json:"vmName"`
 29142  }
 29143  
 29144  func init() {
 29145  	t["FaultToleranceNeedsThickDisk"] = reflect.TypeOf((*FaultToleranceNeedsThickDisk)(nil)).Elem()
 29146  }
 29147  
 29148  type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk
 29149  
 29150  func init() {
 29151  	t["FaultToleranceNeedsThickDiskFault"] = reflect.TypeOf((*FaultToleranceNeedsThickDiskFault)(nil)).Elem()
 29152  }
 29153  
 29154  // This fault is thrown when fault tolerance has not been licensed on the
 29155  // source or destination host.
 29156  //
 29157  // It must be licensed on both hosts.
 29158  type FaultToleranceNotLicensed struct {
 29159  	VmFaultToleranceIssue
 29160  
 29161  	// The host name
 29162  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 29163  }
 29164  
 29165  func init() {
 29166  	t["FaultToleranceNotLicensed"] = reflect.TypeOf((*FaultToleranceNotLicensed)(nil)).Elem()
 29167  }
 29168  
 29169  type FaultToleranceNotLicensedFault FaultToleranceNotLicensed
 29170  
 29171  func init() {
 29172  	t["FaultToleranceNotLicensedFault"] = reflect.TypeOf((*FaultToleranceNotLicensedFault)(nil)).Elem()
 29173  }
 29174  
 29175  // The destination host does not have the same build or Fault Tolerance
 29176  // feature version number as the source host.
 29177  type FaultToleranceNotSameBuild struct {
 29178  	MigrationFault
 29179  
 29180  	// The string.
 29181  	Build string `xml:"build" json:"build"`
 29182  }
 29183  
 29184  func init() {
 29185  	t["FaultToleranceNotSameBuild"] = reflect.TypeOf((*FaultToleranceNotSameBuild)(nil)).Elem()
 29186  }
 29187  
 29188  type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild
 29189  
 29190  func init() {
 29191  	t["FaultToleranceNotSameBuildFault"] = reflect.TypeOf((*FaultToleranceNotSameBuildFault)(nil)).Elem()
 29192  }
 29193  
 29194  // FaultTolerancePrimaryConfigInfo is a data object type containing Fault Tolerance
 29195  // settings for a primary virtual machine in a fault tolerance group
 29196  type FaultTolerancePrimaryConfigInfo struct {
 29197  	FaultToleranceConfigInfo
 29198  
 29199  	// Refers instances of `VirtualMachine`.
 29200  	Secondaries []ManagedObjectReference `xml:"secondaries" json:"secondaries"`
 29201  }
 29202  
 29203  func init() {
 29204  	t["FaultTolerancePrimaryConfigInfo"] = reflect.TypeOf((*FaultTolerancePrimaryConfigInfo)(nil)).Elem()
 29205  }
 29206  
 29207  // This fault is used to report that VirtualCenter did not attempt to power on
 29208  // a Fault Tolerance secondary virtual machine because it was unable to
 29209  // power on the corresponding Fault Tolerance primary virtual machine.
 29210  type FaultTolerancePrimaryPowerOnNotAttempted struct {
 29211  	VmFaultToleranceIssue
 29212  
 29213  	// The secondary virtual machine that was not attempted
 29214  	//
 29215  	// Refers instance of `VirtualMachine`.
 29216  	SecondaryVm ManagedObjectReference `xml:"secondaryVm" json:"secondaryVm"`
 29217  	// The corresponding primary virtual machine
 29218  	//
 29219  	// Refers instance of `VirtualMachine`.
 29220  	PrimaryVm ManagedObjectReference `xml:"primaryVm" json:"primaryVm"`
 29221  }
 29222  
 29223  func init() {
 29224  	t["FaultTolerancePrimaryPowerOnNotAttempted"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttempted)(nil)).Elem()
 29225  }
 29226  
 29227  type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted
 29228  
 29229  func init() {
 29230  	t["FaultTolerancePrimaryPowerOnNotAttemptedFault"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttemptedFault)(nil)).Elem()
 29231  }
 29232  
 29233  // FaultToleranceSecondaryConfigInfo is a data object type containing Fault Tolerance
 29234  // settings for a secondary virtual machine in a fault tolerance group
 29235  type FaultToleranceSecondaryConfigInfo struct {
 29236  	FaultToleranceConfigInfo
 29237  
 29238  	// Refers instance of `VirtualMachine`.
 29239  	PrimaryVM ManagedObjectReference `xml:"primaryVM" json:"primaryVM"`
 29240  }
 29241  
 29242  func init() {
 29243  	t["FaultToleranceSecondaryConfigInfo"] = reflect.TypeOf((*FaultToleranceSecondaryConfigInfo)(nil)).Elem()
 29244  }
 29245  
 29246  // FaultToleranceSecondaryOpResult is a data object that reports on
 29247  // the outcome of the `VirtualMachine.CreateSecondaryVM_Task` or
 29248  // `VirtualMachine.EnableSecondaryVM_Task` operation.
 29249  type FaultToleranceSecondaryOpResult struct {
 29250  	DynamicData
 29251  
 29252  	// The Secondary VirtualMachine
 29253  	//
 29254  	// Refers instance of `VirtualMachine`.
 29255  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29256  	// Whether an attempt was made to power on the secondary.
 29257  	//
 29258  	// If
 29259  	// an attempt was made, `FaultToleranceSecondaryOpResult.powerOnResult` will report the
 29260  	// status of this attempt.
 29261  	PowerOnAttempted bool `xml:"powerOnAttempted" json:"powerOnAttempted"`
 29262  	// The powerOnResult property reports the outcome of powering on the
 29263  	// Secondary VirtualMachine if a power on was required.
 29264  	//
 29265  	// A power on will
 29266  	// be attempted if the Primary Virtual Machine is powered on when the
 29267  	// operation is performed. This object is only reported if `FaultToleranceSecondaryOpResult.powerOnAttempted` is true. If the outcome of the power-on attempt
 29268  	// is not successful, the returned `ClusterPowerOnVmResult`
 29269  	// object will include an instance of `ClusterNotAttemptedVmInfo`
 29270  	// whereas if the attempt was successful, then an instance of
 29271  	// `ClusterAttemptedVmInfo` is returned. When
 29272  	// `ClusterAttemptedVmInfo` is returned, its
 29273  	// `ClusterAttemptedVmInfo.task` property is only set if the cluster
 29274  	// is a HA-only cluster.
 29275  	PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty" json:"powerOnResult,omitempty"`
 29276  }
 29277  
 29278  func init() {
 29279  	t["FaultToleranceSecondaryOpResult"] = reflect.TypeOf((*FaultToleranceSecondaryOpResult)(nil)).Elem()
 29280  }
 29281  
 29282  // FaultToleranceVMConfigSpec contains information about placement of
 29283  // fault tolerant VM.
 29284  type FaultToleranceVMConfigSpec struct {
 29285  	DynamicData
 29286  
 29287  	// Datastore for the configuration file for the virtual machine, e.g., the
 29288  	// .vmx file.
 29289  	//
 29290  	// This also implicitly defines the configuration directory.
 29291  	//
 29292  	// Refers instance of `Datastore`.
 29293  	VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 29294  	// Array of disks associated with the VM
 29295  	Disks []FaultToleranceDiskSpec `xml:"disks,omitempty" json:"disks,omitempty"`
 29296  }
 29297  
 29298  func init() {
 29299  	t["FaultToleranceVMConfigSpec"] = reflect.TypeOf((*FaultToleranceVMConfigSpec)(nil)).Elem()
 29300  }
 29301  
 29302  // A FaultToleranceVmNotDasProtected fault occurs when an Fault Tolerance VM
 29303  // is not protected by HA and the operation for terminating the primary VM
 29304  // or secondary VM is invoked.
 29305  type FaultToleranceVmNotDasProtected struct {
 29306  	VimFault
 29307  
 29308  	// The Fault Toelrance primary VM
 29309  	//
 29310  	// Refers instance of `VirtualMachine`.
 29311  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29312  	// Name of the VM
 29313  	VmName string `xml:"vmName" json:"vmName"`
 29314  }
 29315  
 29316  func init() {
 29317  	t["FaultToleranceVmNotDasProtected"] = reflect.TypeOf((*FaultToleranceVmNotDasProtected)(nil)).Elem()
 29318  }
 29319  
 29320  type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected
 29321  
 29322  func init() {
 29323  	t["FaultToleranceVmNotDasProtectedFault"] = reflect.TypeOf((*FaultToleranceVmNotDasProtectedFault)(nil)).Elem()
 29324  }
 29325  
 29326  // Group of faults associated with Host.
 29327  //
 29328  // This Class is used in e.g.
 29329  // `HostEnterMaintenanceResult`.
 29330  type FaultsByHost struct {
 29331  	DynamicData
 29332  
 29333  	// The Host in the cluster for which faults were generated.
 29334  	//
 29335  	// Refers instance of `HostSystem`.
 29336  	Host ManagedObjectReference `xml:"host" json:"host"`
 29337  	// The array of faults related to the given Host.
 29338  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 29339  }
 29340  
 29341  func init() {
 29342  	t["FaultsByHost"] = reflect.TypeOf((*FaultsByHost)(nil)).Elem()
 29343  }
 29344  
 29345  // VM specific faults.
 29346  //
 29347  // This Class is used in e.g.
 29348  // `HostEnterMaintenanceResult`.
 29349  type FaultsByVM struct {
 29350  	DynamicData
 29351  
 29352  	// The VM for which faults were generated.
 29353  	//
 29354  	// Refers instance of `VirtualMachine`.
 29355  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 29356  	// The array of faults related to the given VM.
 29357  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 29358  }
 29359  
 29360  func init() {
 29361  	t["FaultsByVM"] = reflect.TypeOf((*FaultsByVM)(nil)).Elem()
 29362  }
 29363  
 29364  // This data object type describes an FCoE configuration as it pertains
 29365  // to an underlying physical NIC.
 29366  //
 29367  // Terminology is borrowed from T11's working draft of the Fibre Channel
 29368  // Backbone 5 standard (FC-BB-5). The draft can be found at
 29369  // http://www.t11.org.
 29370  type FcoeConfig struct {
 29371  	DynamicData
 29372  
 29373  	// 802.1p priority class used for FCoE traffic.
 29374  	PriorityClass int32 `xml:"priorityClass" json:"priorityClass"`
 29375  	// Source MAC address used for FCoE traffic.
 29376  	//
 29377  	// This MAC address is associated with the logical construct that is a
 29378  	// physical NIC's associated underlying FCoE Controller, as defined in the
 29379  	// FC-BB-5 standard.
 29380  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x' is
 29381  	// a hexadecimal digit. Valid MAC addresses are unicast addresses.
 29382  	SourceMac string `xml:"sourceMac" json:"sourceMac"`
 29383  	// VLAN ranges associated with this FcoeConfig.
 29384  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange" json:"vlanRange"`
 29385  	// Settable capabilities for this FcoeConfig.
 29386  	Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities" json:"capabilities"`
 29387  	// Indicates whether this FcoeConfig is "active" (has been used in
 29388  	// conjunction with a parent physical network adapter for FCoE
 29389  	// discovery).
 29390  	FcoeActive bool `xml:"fcoeActive" json:"fcoeActive"`
 29391  }
 29392  
 29393  func init() {
 29394  	t["FcoeConfig"] = reflect.TypeOf((*FcoeConfig)(nil)).Elem()
 29395  }
 29396  
 29397  // Flags which indicate what parameters are settable for this FcoeConfig.
 29398  type FcoeConfigFcoeCapabilities struct {
 29399  	DynamicData
 29400  
 29401  	PriorityClass    bool `xml:"priorityClass" json:"priorityClass"`
 29402  	SourceMacAddress bool `xml:"sourceMacAddress" json:"sourceMacAddress"`
 29403  	VlanRange        bool `xml:"vlanRange" json:"vlanRange"`
 29404  }
 29405  
 29406  func init() {
 29407  	t["FcoeConfigFcoeCapabilities"] = reflect.TypeOf((*FcoeConfigFcoeCapabilities)(nil)).Elem()
 29408  }
 29409  
 29410  // An FcoeSpecification contains values relevant to issuing FCoE discovery.
 29411  //
 29412  // Non-mandatory values are denoted '@optional'.
 29413  type FcoeConfigFcoeSpecification struct {
 29414  	DynamicData
 29415  
 29416  	// The name of this FcoeSpecification's underlying PhysicalNic
 29417  	UnderlyingPnic string `xml:"underlyingPnic" json:"underlyingPnic"`
 29418  	// 802.1p priority class to use for FCoE traffic.
 29419  	PriorityClass int32 `xml:"priorityClass,omitempty" json:"priorityClass,omitempty"`
 29420  	// Source MAC address to use for FCoE traffic.
 29421  	//
 29422  	// This MAC address is associated with the logical construct that is a
 29423  	// physical NIC's associated underlying FCoE Controller, as defined in
 29424  	// the FC-BB-5 standard.
 29425  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x'
 29426  	// is a hexadecimal digit. Valid MAC addresses are unicast addresses.
 29427  	SourceMac string `xml:"sourceMac,omitempty" json:"sourceMac,omitempty"`
 29428  	// VLAN ranges to use for FCoE traffic.
 29429  	VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty" json:"vlanRange,omitempty"`
 29430  }
 29431  
 29432  func init() {
 29433  	t["FcoeConfigFcoeSpecification"] = reflect.TypeOf((*FcoeConfigFcoeSpecification)(nil)).Elem()
 29434  }
 29435  
 29436  // Used to represent inclusive intervals of VLAN IDs.
 29437  //
 29438  // Valid VLAN IDs fall within the range \[0,4094\], and the low value of a
 29439  // VlanRange must be less than or equal to the high value.
 29440  type FcoeConfigVlanRange struct {
 29441  	DynamicData
 29442  
 29443  	VlanLow  int32 `xml:"vlanLow" json:"vlanLow"`
 29444  	VlanHigh int32 `xml:"vlanHigh" json:"vlanHigh"`
 29445  }
 29446  
 29447  func init() {
 29448  	t["FcoeConfigVlanRange"] = reflect.TypeOf((*FcoeConfigVlanRange)(nil)).Elem()
 29449  }
 29450  
 29451  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 29452  //
 29453  // Base class for faults that can be thrown while invoking FCoE management operations.
 29454  type FcoeFault struct {
 29455  	VimFault
 29456  }
 29457  
 29458  func init() {
 29459  	t["FcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem()
 29460  }
 29461  
 29462  type FcoeFaultFault BaseFcoeFault
 29463  
 29464  func init() {
 29465  	t["FcoeFaultFault"] = reflect.TypeOf((*FcoeFaultFault)(nil)).Elem()
 29466  }
 29467  
 29468  // Deprecated as of vSphere API 8.0. Software FCoE not supported.
 29469  //
 29470  // This fault indicates the given Software Fcoe NIC has no uplink ports
 29471  // that is required for initiating a discovery.
 29472  type FcoeFaultPnicHasNoPortSet struct {
 29473  	FcoeFault
 29474  
 29475  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 29476  }
 29477  
 29478  func init() {
 29479  	t["FcoeFaultPnicHasNoPortSet"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSet)(nil)).Elem()
 29480  }
 29481  
 29482  type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet
 29483  
 29484  func init() {
 29485  	t["FcoeFaultPnicHasNoPortSetFault"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSetFault)(nil)).Elem()
 29486  }
 29487  
 29488  // The `FeatureEVCMode` data object describes an Enhanced vMotion
 29489  // Compatibility mode for VMFeature.
 29490  //
 29491  // An Feature EVC mode is associated with a set of features. This object
 29492  // is modeled after EVCMode, which is more CPU-centric. Members that
 29493  // are specific to CPU are removed in favor of VMFeature EVC properties.
 29494  // For more information about EVC interaction, see `EVCMode`.
 29495  //
 29496  // The inherited `ElementDescription.key` property is a string value
 29497  // that uniquely identifies an EVC mode. The vCenter Server assigns
 29498  // the key value; the vSphere API uses the key to identify modes
 29499  // in summary and information objects, for example:
 29500  //   - `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCGraphicsModeKey`
 29501  //   - `HostListSummary*.*HostListSummary.currentEVCGraphicsModeKey`
 29502  //
 29503  // The inherited `Description.label` and `Description.summary`
 29504  // properties are human-readable strings.
 29505  type FeatureEVCMode struct {
 29506  	ElementDescription
 29507  
 29508  	// The masks (modifications to a host's feature capabilities) that limit a
 29509  	// host's capabilities to that of the EVC mode baseline.
 29510  	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
 29511  	// Describes the feature capability baseline associated with the EVC mode.
 29512  	//
 29513  	// On the cluster where a particular EVC mode is configured,
 29514  	// these features capabilities are guaranteed, either because the host
 29515  	// hardware naturally matches those features or because feature masks
 29516  	// are used to mask out differences and enforce a match.
 29517  	Capability []HostFeatureCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 29518  	// The conditions that must be true of a host's feature capabilities in order
 29519  	// for the host to meet the minimum requirements of the EVC mode baseline.
 29520  	Requirement []VirtualMachineFeatureRequirement `xml:"requirement,omitempty" json:"requirement,omitempty"`
 29521  }
 29522  
 29523  func init() {
 29524  	t["FeatureEVCMode"] = reflect.TypeOf((*FeatureEVCMode)(nil)).Elem()
 29525  	minAPIVersionForType["FeatureEVCMode"] = "7.0.1.0"
 29526  }
 29527  
 29528  // The host does not meet feature requirements of the virtual machine.
 29529  type FeatureRequirementsNotMet struct {
 29530  	VirtualHardwareCompatibilityIssue
 29531  
 29532  	// The feature requirements that were not met.
 29533  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 29534  	// The virtual machine whose feature requirements were not met.
 29535  	//
 29536  	// Refers instance of `VirtualMachine`.
 29537  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 29538  	// The host whose capabilities did not meet the virtual machine's feature requirements.
 29539  	//
 29540  	// Refers instance of `HostSystem`.
 29541  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 29542  }
 29543  
 29544  func init() {
 29545  	t["FeatureRequirementsNotMet"] = reflect.TypeOf((*FeatureRequirementsNotMet)(nil)).Elem()
 29546  }
 29547  
 29548  type FeatureRequirementsNotMetFault FeatureRequirementsNotMet
 29549  
 29550  func init() {
 29551  	t["FeatureRequirementsNotMetFault"] = reflect.TypeOf((*FeatureRequirementsNotMetFault)(nil)).Elem()
 29552  }
 29553  
 29554  type FetchAuditRecords FetchAuditRecordsRequestType
 29555  
 29556  func init() {
 29557  	t["FetchAuditRecords"] = reflect.TypeOf((*FetchAuditRecords)(nil)).Elem()
 29558  }
 29559  
 29560  // The parameters of `DiagnosticManager.FetchAuditRecords`.
 29561  type FetchAuditRecordsRequestType struct {
 29562  	This ManagedObjectReference `xml:"_this" json:"-"`
 29563  	// The token to be used for the operation. The first call must
 29564  	// be made without a token. All subsequent calls use the token
 29565  	// returned in AuditRecordStatus.
 29566  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 29567  }
 29568  
 29569  func init() {
 29570  	t["FetchAuditRecordsRequestType"] = reflect.TypeOf((*FetchAuditRecordsRequestType)(nil)).Elem()
 29571  	minAPIVersionForType["FetchAuditRecordsRequestType"] = "7.0.3.0"
 29572  }
 29573  
 29574  type FetchAuditRecordsResponse struct {
 29575  	Returnval DiagnosticManagerAuditRecordResult `xml:"returnval" json:"returnval"`
 29576  }
 29577  
 29578  type FetchDVPortKeys FetchDVPortKeysRequestType
 29579  
 29580  func init() {
 29581  	t["FetchDVPortKeys"] = reflect.TypeOf((*FetchDVPortKeys)(nil)).Elem()
 29582  }
 29583  
 29584  // The parameters of `DistributedVirtualSwitch.FetchDVPortKeys`.
 29585  type FetchDVPortKeysRequestType struct {
 29586  	This ManagedObjectReference `xml:"_this" json:"-"`
 29587  	// The port selection criteria. If unset, the operation
 29588  	// returns the keys of all the ports in the switch.
 29589  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 29590  }
 29591  
 29592  func init() {
 29593  	t["FetchDVPortKeysRequestType"] = reflect.TypeOf((*FetchDVPortKeysRequestType)(nil)).Elem()
 29594  }
 29595  
 29596  type FetchDVPortKeysResponse struct {
 29597  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29598  }
 29599  
 29600  type FetchDVPorts FetchDVPortsRequestType
 29601  
 29602  func init() {
 29603  	t["FetchDVPorts"] = reflect.TypeOf((*FetchDVPorts)(nil)).Elem()
 29604  }
 29605  
 29606  // The parameters of `DistributedVirtualSwitch.FetchDVPorts`.
 29607  type FetchDVPortsRequestType struct {
 29608  	This ManagedObjectReference `xml:"_this" json:"-"`
 29609  	// The port selection criteria. If unset, the operation
 29610  	// returns the keys of all the ports in the portgroup.
 29611  	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
 29612  }
 29613  
 29614  func init() {
 29615  	t["FetchDVPortsRequestType"] = reflect.TypeOf((*FetchDVPortsRequestType)(nil)).Elem()
 29616  }
 29617  
 29618  type FetchDVPortsResponse struct {
 29619  	Returnval []DistributedVirtualPort `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29620  }
 29621  
 29622  type FetchSystemEventLog FetchSystemEventLogRequestType
 29623  
 29624  func init() {
 29625  	t["FetchSystemEventLog"] = reflect.TypeOf((*FetchSystemEventLog)(nil)).Elem()
 29626  }
 29627  
 29628  type FetchSystemEventLogRequestType struct {
 29629  	This ManagedObjectReference `xml:"_this" json:"-"`
 29630  }
 29631  
 29632  func init() {
 29633  	t["FetchSystemEventLogRequestType"] = reflect.TypeOf((*FetchSystemEventLogRequestType)(nil)).Elem()
 29634  }
 29635  
 29636  type FetchSystemEventLogResponse struct {
 29637  	Returnval []SystemEventInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29638  }
 29639  
 29640  type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType
 29641  
 29642  func init() {
 29643  	t["FetchUserPrivilegeOnEntities"] = reflect.TypeOf((*FetchUserPrivilegeOnEntities)(nil)).Elem()
 29644  }
 29645  
 29646  // The parameters of `AuthorizationManager.FetchUserPrivilegeOnEntities`.
 29647  type FetchUserPrivilegeOnEntitiesRequestType struct {
 29648  	This ManagedObjectReference `xml:"_this" json:"-"`
 29649  	// are the entities to retrieve privileges on
 29650  	//
 29651  	// Required privileges: System.View
 29652  	//
 29653  	// Refers instances of `ManagedEntity`.
 29654  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 29655  	// is the user to retrieve privileges for
 29656  	UserName string `xml:"userName" json:"userName"`
 29657  }
 29658  
 29659  func init() {
 29660  	t["FetchUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*FetchUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 29661  }
 29662  
 29663  type FetchUserPrivilegeOnEntitiesResponse struct {
 29664  	Returnval []UserPrivilegeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 29665  }
 29666  
 29667  // This fault is thrown when an operation attempts to create a file using the name of
 29668  // an existing file.
 29669  type FileAlreadyExists struct {
 29670  	FileFault
 29671  }
 29672  
 29673  func init() {
 29674  	t["FileAlreadyExists"] = reflect.TypeOf((*FileAlreadyExists)(nil)).Elem()
 29675  }
 29676  
 29677  type FileAlreadyExistsFault FileAlreadyExists
 29678  
 29679  func init() {
 29680  	t["FileAlreadyExistsFault"] = reflect.TypeOf((*FileAlreadyExistsFault)(nil)).Elem()
 29681  }
 29682  
 29683  // The virtual machine has a port (either a SerialPort or a ParallelPort) which is
 29684  // backed by a file.
 29685  //
 29686  // This is an error when migrating a virtual machine with the device
 29687  // connected, and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 29688  type FileBackedPortNotSupported struct {
 29689  	DeviceNotSupported
 29690  }
 29691  
 29692  func init() {
 29693  	t["FileBackedPortNotSupported"] = reflect.TypeOf((*FileBackedPortNotSupported)(nil)).Elem()
 29694  }
 29695  
 29696  type FileBackedPortNotSupportedFault FileBackedPortNotSupported
 29697  
 29698  func init() {
 29699  	t["FileBackedPortNotSupportedFault"] = reflect.TypeOf((*FileBackedPortNotSupportedFault)(nil)).Elem()
 29700  }
 29701  
 29702  // Specification used to create a file based virtual disk
 29703  type FileBackedVirtualDiskSpec struct {
 29704  	VirtualDiskSpec
 29705  
 29706  	// Specify the capacity of the virtual disk in Kb.
 29707  	CapacityKb int64 `xml:"capacityKb" json:"capacityKb"`
 29708  	// Virtual Disk Profile requirement.
 29709  	//
 29710  	// Profiles are solution specifics.
 29711  	// Profile Based Storage Management is a vSphere server extension.
 29712  	// The API users who want to provision VMs using Storage Profiles, need to
 29713  	// interact with it.
 29714  	// This is an optional parameter and if user doesn't specify profile,
 29715  	// the default behavior will apply.
 29716  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 29717  	// Encryption options for the new virtual disk.
 29718  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 29719  }
 29720  
 29721  func init() {
 29722  	t["FileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem()
 29723  }
 29724  
 29725  // The common base type for all file-related exceptions.
 29726  type FileFault struct {
 29727  	VimFault
 29728  
 29729  	// The file in question.
 29730  	File string `xml:"file" json:"file"`
 29731  }
 29732  
 29733  func init() {
 29734  	t["FileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem()
 29735  }
 29736  
 29737  type FileFaultFault BaseFileFault
 29738  
 29739  func init() {
 29740  	t["FileFaultFault"] = reflect.TypeOf((*FileFaultFault)(nil)).Elem()
 29741  }
 29742  
 29743  // This data object type contains rudimentary information about a file in a
 29744  // datastore.
 29745  //
 29746  // The information here is not meant to cover all information in
 29747  // traditional file systems, but rather to provide sufficient information for files
 29748  // that are associated with virtual machines. Derived types describe the known file
 29749  // types for a datastore.
 29750  type FileInfo struct {
 29751  	DynamicData
 29752  
 29753  	// The path relative to the folder path in the search results.
 29754  	Path string `xml:"path" json:"path"`
 29755  	// User friendly name.
 29756  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 29757  	// The size of the file in bytes.
 29758  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
 29759  	// The last date and time the file was modified.
 29760  	Modification *time.Time `xml:"modification" json:"modification,omitempty"`
 29761  	// The user name of the owner of the file.
 29762  	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
 29763  }
 29764  
 29765  func init() {
 29766  	t["FileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem()
 29767  }
 29768  
 29769  // The File information available on a particular file on the host that
 29770  // can be fetched.
 29771  //
 29772  // Attempt is made to query and fetch as much information
 29773  // as possible depending on the file system the file is residing on.
 29774  type FileLockInfo struct {
 29775  	DynamicData
 29776  
 29777  	FilePath  string `xml:"filePath" json:"filePath"`
 29778  	Host      string `xml:"host" json:"host"`
 29779  	Mac       string `xml:"mac" json:"mac"`
 29780  	Id        string `xml:"id" json:"id"`
 29781  	WorldName string `xml:"worldName" json:"worldName"`
 29782  	OwnerId   string `xml:"ownerId,omitempty" json:"ownerId,omitempty"`
 29783  	LockMode  string `xml:"lockMode" json:"lockMode"`
 29784  	// Optional future - will be fetched if available.
 29785  	Acquired  *time.Time `xml:"acquired" json:"acquired,omitempty"`
 29786  	Heartbeat *time.Time `xml:"heartbeat" json:"heartbeat,omitempty"`
 29787  	RefCount  int32      `xml:"refCount,omitempty" json:"refCount,omitempty"`
 29788  }
 29789  
 29790  func init() {
 29791  	t["FileLockInfo"] = reflect.TypeOf((*FileLockInfo)(nil)).Elem()
 29792  	minAPIVersionForType["FileLockInfo"] = "8.0.2.0"
 29793  }
 29794  
 29795  type FileLockInfoResult struct {
 29796  	DynamicData
 29797  
 29798  	// FileLockInfo entries populated based on results fetched from host.
 29799  	//
 29800  	// If a single path is provided result should contain a single entry.
 29801  	// For a generic VM name potentially multiple entries could be fetched
 29802  	// and populated. Refer to `FileManager.QueryFileLockInfo` for
 29803  	// more details.
 29804  	LockInfo []FileLockInfo        `xml:"lockInfo,omitempty" json:"lockInfo,omitempty"`
 29805  	Fault    *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 29806  }
 29807  
 29808  func init() {
 29809  	t["FileLockInfoResult"] = reflect.TypeOf((*FileLockInfoResult)(nil)).Elem()
 29810  	minAPIVersionForType["FileLockInfoResult"] = "8.0.2.0"
 29811  }
 29812  
 29813  // Thrown if an attempt is made to lock a file that is already in use.
 29814  type FileLocked struct {
 29815  	FileFault
 29816  }
 29817  
 29818  func init() {
 29819  	t["FileLocked"] = reflect.TypeOf((*FileLocked)(nil)).Elem()
 29820  }
 29821  
 29822  type FileLockedFault FileLocked
 29823  
 29824  func init() {
 29825  	t["FileLockedFault"] = reflect.TypeOf((*FileLockedFault)(nil)).Elem()
 29826  }
 29827  
 29828  // This fault is thrown when an operation fails because the name of the
 29829  // specified file is too long.
 29830  type FileNameTooLong struct {
 29831  	FileFault
 29832  }
 29833  
 29834  func init() {
 29835  	t["FileNameTooLong"] = reflect.TypeOf((*FileNameTooLong)(nil)).Elem()
 29836  }
 29837  
 29838  type FileNameTooLongFault FileNameTooLong
 29839  
 29840  func init() {
 29841  	t["FileNameTooLongFault"] = reflect.TypeOf((*FileNameTooLongFault)(nil)).Elem()
 29842  }
 29843  
 29844  // This fault is thrown when an operation fails because the specified file
 29845  // does not exist.
 29846  type FileNotFound struct {
 29847  	FileFault
 29848  }
 29849  
 29850  func init() {
 29851  	t["FileNotFound"] = reflect.TypeOf((*FileNotFound)(nil)).Elem()
 29852  }
 29853  
 29854  type FileNotFoundFault FileNotFound
 29855  
 29856  func init() {
 29857  	t["FileNotFoundFault"] = reflect.TypeOf((*FileNotFoundFault)(nil)).Elem()
 29858  }
 29859  
 29860  // Thrown if an attempt is made to write to a read-only file.
 29861  type FileNotWritable struct {
 29862  	FileFault
 29863  }
 29864  
 29865  func init() {
 29866  	t["FileNotWritable"] = reflect.TypeOf((*FileNotWritable)(nil)).Elem()
 29867  }
 29868  
 29869  type FileNotWritableFault FileNotWritable
 29870  
 29871  func init() {
 29872  	t["FileNotWritableFault"] = reflect.TypeOf((*FileNotWritableFault)(nil)).Elem()
 29873  }
 29874  
 29875  // The data object type that describes the base query specification.
 29876  //
 29877  // Contains query
 29878  // filters and details that apply to every file. Querying only file details generally
 29879  // does not require opening files and so is an efficient query. Derived types add
 29880  // query parameters specific to the type of file.
 29881  type FileQuery struct {
 29882  	DynamicData
 29883  }
 29884  
 29885  func init() {
 29886  	t["FileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem()
 29887  }
 29888  
 29889  // The FileInfo.Details data object type is a set of flags for a search request.
 29890  //
 29891  // This search request specifies which details to return for each matching file.
 29892  // This data object type is here to ensure that there is one flag corresponding to
 29893  // each FileInfo property other than the path name, which a search always returns.
 29894  type FileQueryFlags struct {
 29895  	DynamicData
 29896  
 29897  	// The flag to indicate whether or not the files that match this query
 29898  	// specification are returned along with file type information.
 29899  	//
 29900  	// This field must
 29901  	// be set to return specific details about the file type.
 29902  	FileType bool `xml:"fileType" json:"fileType"`
 29903  	// The flag to indicate whether or not the size of the file is returned.
 29904  	FileSize bool `xml:"fileSize" json:"fileSize"`
 29905  	// The flag to indicate whether or not to return the date and time the file was
 29906  	// last modified.
 29907  	Modification bool `xml:"modification" json:"modification"`
 29908  	// The flag to indicate whether or not to return the file owner.
 29909  	FileOwner *bool `xml:"fileOwner" json:"fileOwner,omitempty"`
 29910  }
 29911  
 29912  func init() {
 29913  	t["FileQueryFlags"] = reflect.TypeOf((*FileQueryFlags)(nil)).Elem()
 29914  }
 29915  
 29916  // This fault is thrown when an operation fails because the file is larger
 29917  // than the maximum file size supported by the datastore.
 29918  type FileTooLarge struct {
 29919  	FileFault
 29920  
 29921  	// The name of the datastore that does not support the file's size.
 29922  	Datastore string `xml:"datastore" json:"datastore"`
 29923  	// The size (in bytes) of the file.
 29924  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 29925  	// The max file size (in bytes) supported on the datastore.
 29926  	MaxFileSize int64 `xml:"maxFileSize,omitempty" json:"maxFileSize,omitempty"`
 29927  }
 29928  
 29929  func init() {
 29930  	t["FileTooLarge"] = reflect.TypeOf((*FileTooLarge)(nil)).Elem()
 29931  }
 29932  
 29933  type FileTooLargeFault FileTooLarge
 29934  
 29935  func init() {
 29936  	t["FileTooLargeFault"] = reflect.TypeOf((*FileTooLargeFault)(nil)).Elem()
 29937  }
 29938  
 29939  // Represents the information about a
 29940  // `GuestFileManager.InitiateFileTransferFromGuest` operation
 29941  // of `GuestFileManager` object.
 29942  //
 29943  // The user can use the URL provided in url property to transfer
 29944  // the file from the guest. The user should send a HTTP GET request to the
 29945  // URL. Entire file content will be returned in the body of the response
 29946  // message.
 29947  type FileTransferInformation struct {
 29948  	DynamicData
 29949  
 29950  	// File attributes of the file that is being transferred from the guest.
 29951  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 29952  	// Total size of the file in bytes.
 29953  	Size int64 `xml:"size" json:"size"`
 29954  	// Specifies the URL to which the user has to send HTTP GET request.
 29955  	//
 29956  	// Multiple GET requests cannot be sent to the URL simultaneously. URL
 29957  	// will become invalid once a successful GET request is sent.
 29958  	//
 29959  	// The host part of the URL is returned as '\*' if the hostname to be used
 29960  	// is the name of the server to which the call was made. For example, if
 29961  	// the call is made to esx-svr-1.domain1.com, and the file is available for
 29962  	// download from
 29963  	// `https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,
 29964  	// the URL returned may be
 29965  	// `https://&#42;/guestFile?id=1&token=1234`.
 29966  	// The client replaces the asterisk with the server name on which it
 29967  	// invoked the call.
 29968  	//
 29969  	// The URL is valid only for 10 minutes from the time it is generated.
 29970  	// Also, the URL becomes invalid whenever the virtual machine is powered
 29971  	// off, suspended or unregistered.
 29972  	Url string `xml:"url" json:"url"`
 29973  }
 29974  
 29975  func init() {
 29976  	t["FileTransferInformation"] = reflect.TypeOf((*FileTransferInformation)(nil)).Elem()
 29977  }
 29978  
 29979  // This fault is thrown when creating a quiesced snapshot failed
 29980  // because the create snapshot operation exceeded the time limit
 29981  // for holding off I/O in the frozen VM.
 29982  //
 29983  // This indicates that when we attempted to thaw the VM after
 29984  // creating the snapshot, we got an error back indicating that
 29985  // the VM was not frozen anymore. In this case, we roll back
 29986  // the entire snapshot create operation and throw this exception.
 29987  type FilesystemQuiesceFault struct {
 29988  	SnapshotFault
 29989  }
 29990  
 29991  func init() {
 29992  	t["FilesystemQuiesceFault"] = reflect.TypeOf((*FilesystemQuiesceFault)(nil)).Elem()
 29993  }
 29994  
 29995  type FilesystemQuiesceFaultFault FilesystemQuiesceFault
 29996  
 29997  func init() {
 29998  	t["FilesystemQuiesceFaultFault"] = reflect.TypeOf((*FilesystemQuiesceFaultFault)(nil)).Elem()
 29999  }
 30000  
 30001  // A FilterInUse fault indicates that some error has occurred because an
 30002  // IO filter was in use.
 30003  type FilterInUse struct {
 30004  	ResourceInUse
 30005  
 30006  	// Virtual disks that use the filter.
 30007  	Disk []VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
 30008  }
 30009  
 30010  func init() {
 30011  	t["FilterInUse"] = reflect.TypeOf((*FilterInUse)(nil)).Elem()
 30012  }
 30013  
 30014  type FilterInUseFault FilterInUse
 30015  
 30016  func init() {
 30017  	t["FilterInUseFault"] = reflect.TypeOf((*FilterInUseFault)(nil)).Elem()
 30018  }
 30019  
 30020  type FindAllByDnsName FindAllByDnsNameRequestType
 30021  
 30022  func init() {
 30023  	t["FindAllByDnsName"] = reflect.TypeOf((*FindAllByDnsName)(nil)).Elem()
 30024  }
 30025  
 30026  // The parameters of `SearchIndex.FindAllByDnsName`.
 30027  type FindAllByDnsNameRequestType struct {
 30028  	This ManagedObjectReference `xml:"_this" json:"-"`
 30029  	// If specified, restricts the query to entities in
 30030  	// a particular datacenter. If not specified, the entire inventory is
 30031  	// searched.
 30032  	//
 30033  	// Refers instance of `Datacenter`.
 30034  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30035  	// The fully qualified domain name to find.
 30036  	DnsName string `xml:"dnsName" json:"dnsName"`
 30037  	// If true, search for virtual machines, otherwise search for
 30038  	// hosts.
 30039  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30040  }
 30041  
 30042  func init() {
 30043  	t["FindAllByDnsNameRequestType"] = reflect.TypeOf((*FindAllByDnsNameRequestType)(nil)).Elem()
 30044  }
 30045  
 30046  type FindAllByDnsNameResponse struct {
 30047  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30048  }
 30049  
 30050  type FindAllByIp FindAllByIpRequestType
 30051  
 30052  func init() {
 30053  	t["FindAllByIp"] = reflect.TypeOf((*FindAllByIp)(nil)).Elem()
 30054  }
 30055  
 30056  // The parameters of `SearchIndex.FindAllByIp`.
 30057  type FindAllByIpRequestType struct {
 30058  	This ManagedObjectReference `xml:"_this" json:"-"`
 30059  	// If specified, restricts the query to entities in
 30060  	// a particular datacenter. If not specified, the entire inventory is
 30061  	// searched.
 30062  	//
 30063  	// Refers instance of `Datacenter`.
 30064  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30065  	// The dot-decimal notation formatted IP address to find.
 30066  	Ip string `xml:"ip" json:"ip"`
 30067  	// If true, search for virtual machines, otherwise search for
 30068  	// hosts.
 30069  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30070  }
 30071  
 30072  func init() {
 30073  	t["FindAllByIpRequestType"] = reflect.TypeOf((*FindAllByIpRequestType)(nil)).Elem()
 30074  }
 30075  
 30076  type FindAllByIpResponse struct {
 30077  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30078  }
 30079  
 30080  type FindAllByUuid FindAllByUuidRequestType
 30081  
 30082  func init() {
 30083  	t["FindAllByUuid"] = reflect.TypeOf((*FindAllByUuid)(nil)).Elem()
 30084  }
 30085  
 30086  // The parameters of `SearchIndex.FindAllByUuid`.
 30087  type FindAllByUuidRequestType struct {
 30088  	This ManagedObjectReference `xml:"_this" json:"-"`
 30089  	// If specified, restricts the query to entities in
 30090  	// a particular datacenter. If not specified, the entire inventory is
 30091  	// searched.
 30092  	//
 30093  	// Refers instance of `Datacenter`.
 30094  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30095  	// The UUID to find. If vmSearch is true, the UUID can be either BIOS
 30096  	// or instance UUID.
 30097  	Uuid string `xml:"uuid" json:"uuid"`
 30098  	// If true, search for virtual machines, otherwise search for
 30099  	// hosts.
 30100  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30101  	// Should only be set when vmSearch is true. If specified, search
 30102  	// for virtual machines whose instance UUID matches the given uuid.
 30103  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 30104  	// uuid.
 30105  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
 30106  }
 30107  
 30108  func init() {
 30109  	t["FindAllByUuidRequestType"] = reflect.TypeOf((*FindAllByUuidRequestType)(nil)).Elem()
 30110  }
 30111  
 30112  type FindAllByUuidResponse struct {
 30113  	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
 30114  }
 30115  
 30116  type FindAssociatedProfile FindAssociatedProfileRequestType
 30117  
 30118  func init() {
 30119  	t["FindAssociatedProfile"] = reflect.TypeOf((*FindAssociatedProfile)(nil)).Elem()
 30120  }
 30121  
 30122  // The parameters of `ProfileManager.FindAssociatedProfile`.
 30123  type FindAssociatedProfileRequestType struct {
 30124  	This ManagedObjectReference `xml:"_this" json:"-"`
 30125  	// Entity for which profile is being looked up.
 30126  	//
 30127  	// Refers instance of `ManagedEntity`.
 30128  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 30129  }
 30130  
 30131  func init() {
 30132  	t["FindAssociatedProfileRequestType"] = reflect.TypeOf((*FindAssociatedProfileRequestType)(nil)).Elem()
 30133  }
 30134  
 30135  type FindAssociatedProfileResponse struct {
 30136  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30137  }
 30138  
 30139  type FindByDatastorePath FindByDatastorePathRequestType
 30140  
 30141  func init() {
 30142  	t["FindByDatastorePath"] = reflect.TypeOf((*FindByDatastorePath)(nil)).Elem()
 30143  }
 30144  
 30145  // The parameters of `SearchIndex.FindByDatastorePath`.
 30146  type FindByDatastorePathRequestType struct {
 30147  	This ManagedObjectReference `xml:"_this" json:"-"`
 30148  	// Specifies the datacenter to which the datastore path belongs.
 30149  	//
 30150  	// Refers instance of `Datacenter`.
 30151  	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
 30152  	// A datastore path to the .vmx file for the virtual machine.
 30153  	Path string `xml:"path" json:"path"`
 30154  }
 30155  
 30156  func init() {
 30157  	t["FindByDatastorePathRequestType"] = reflect.TypeOf((*FindByDatastorePathRequestType)(nil)).Elem()
 30158  }
 30159  
 30160  type FindByDatastorePathResponse struct {
 30161  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30162  }
 30163  
 30164  type FindByDnsName FindByDnsNameRequestType
 30165  
 30166  func init() {
 30167  	t["FindByDnsName"] = reflect.TypeOf((*FindByDnsName)(nil)).Elem()
 30168  }
 30169  
 30170  // The parameters of `SearchIndex.FindByDnsName`.
 30171  type FindByDnsNameRequestType struct {
 30172  	This ManagedObjectReference `xml:"_this" json:"-"`
 30173  	// If specified, restricts the query to entities in
 30174  	// a particular datacenter. If not specified, the entire inventory is
 30175  	// searched.
 30176  	//
 30177  	// Refers instance of `Datacenter`.
 30178  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30179  	// The fully qualified domain name to find.
 30180  	DnsName string `xml:"dnsName" json:"dnsName"`
 30181  	// if true, search for virtual machines, otherwise search for
 30182  	// hosts.
 30183  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30184  }
 30185  
 30186  func init() {
 30187  	t["FindByDnsNameRequestType"] = reflect.TypeOf((*FindByDnsNameRequestType)(nil)).Elem()
 30188  }
 30189  
 30190  type FindByDnsNameResponse struct {
 30191  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30192  }
 30193  
 30194  type FindByInventoryPath FindByInventoryPathRequestType
 30195  
 30196  func init() {
 30197  	t["FindByInventoryPath"] = reflect.TypeOf((*FindByInventoryPath)(nil)).Elem()
 30198  }
 30199  
 30200  // The parameters of `SearchIndex.FindByInventoryPath`.
 30201  type FindByInventoryPathRequestType struct {
 30202  	This ManagedObjectReference `xml:"_this" json:"-"`
 30203  	// The path to the entity.
 30204  	InventoryPath string `xml:"inventoryPath" json:"inventoryPath"`
 30205  }
 30206  
 30207  func init() {
 30208  	t["FindByInventoryPathRequestType"] = reflect.TypeOf((*FindByInventoryPathRequestType)(nil)).Elem()
 30209  }
 30210  
 30211  type FindByInventoryPathResponse struct {
 30212  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30213  }
 30214  
 30215  type FindByIp FindByIpRequestType
 30216  
 30217  func init() {
 30218  	t["FindByIp"] = reflect.TypeOf((*FindByIp)(nil)).Elem()
 30219  }
 30220  
 30221  // The parameters of `SearchIndex.FindByIp`.
 30222  type FindByIpRequestType struct {
 30223  	This ManagedObjectReference `xml:"_this" json:"-"`
 30224  	// If specified, restricts the query to entities in
 30225  	// a particular datacenter. If not specified, the entire inventory is
 30226  	// searched.
 30227  	//
 30228  	// Refers instance of `Datacenter`.
 30229  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30230  	// The dot-decimal notation formatted IP address to find.
 30231  	Ip string `xml:"ip" json:"ip"`
 30232  	// if true, search for virtual machines, otherwise search for
 30233  	// hosts.
 30234  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30235  }
 30236  
 30237  func init() {
 30238  	t["FindByIpRequestType"] = reflect.TypeOf((*FindByIpRequestType)(nil)).Elem()
 30239  }
 30240  
 30241  type FindByIpResponse struct {
 30242  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30243  }
 30244  
 30245  type FindByUuid FindByUuidRequestType
 30246  
 30247  func init() {
 30248  	t["FindByUuid"] = reflect.TypeOf((*FindByUuid)(nil)).Elem()
 30249  }
 30250  
 30251  // The parameters of `SearchIndex.FindByUuid`.
 30252  type FindByUuidRequestType struct {
 30253  	This ManagedObjectReference `xml:"_this" json:"-"`
 30254  	// If specified, restricts the query to entities in
 30255  	// a particular datacenter. If not specified, the entire inventory is
 30256  	// searched.
 30257  	//
 30258  	// Refers instance of `Datacenter`.
 30259  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 30260  	// The UUID to find. If vmSearch is true, the uuid can be either BIOS
 30261  	// or instance UUID.
 30262  	Uuid string `xml:"uuid" json:"uuid"`
 30263  	// If true, search for virtual machines, otherwise search for
 30264  	// hosts.
 30265  	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
 30266  	// Should only be set when vmSearch is true. If specified, search
 30267  	// for virtual machines whose instance UUID matches the given uuid.
 30268  	// Otherwise, search for virtual machines whose BIOS UUID matches the given
 30269  	// uuid.
 30270  	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
 30271  }
 30272  
 30273  func init() {
 30274  	t["FindByUuidRequestType"] = reflect.TypeOf((*FindByUuidRequestType)(nil)).Elem()
 30275  }
 30276  
 30277  type FindByUuidResponse struct {
 30278  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30279  }
 30280  
 30281  type FindChild FindChildRequestType
 30282  
 30283  func init() {
 30284  	t["FindChild"] = reflect.TypeOf((*FindChild)(nil)).Elem()
 30285  }
 30286  
 30287  // The parameters of `SearchIndex.FindChild`.
 30288  type FindChildRequestType struct {
 30289  	This ManagedObjectReference `xml:"_this" json:"-"`
 30290  	// A reference to a managed entity.
 30291  	//
 30292  	// Refers instance of `ManagedEntity`.
 30293  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 30294  	// The name of the child object.
 30295  	Name string `xml:"name" json:"name"`
 30296  }
 30297  
 30298  func init() {
 30299  	t["FindChildRequestType"] = reflect.TypeOf((*FindChildRequestType)(nil)).Elem()
 30300  }
 30301  
 30302  type FindChildResponse struct {
 30303  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30304  }
 30305  
 30306  type FindExtension FindExtensionRequestType
 30307  
 30308  func init() {
 30309  	t["FindExtension"] = reflect.TypeOf((*FindExtension)(nil)).Elem()
 30310  }
 30311  
 30312  // The parameters of `ExtensionManager.FindExtension`.
 30313  type FindExtensionRequestType struct {
 30314  	This ManagedObjectReference `xml:"_this" json:"-"`
 30315  	// Key to search for.
 30316  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 30317  }
 30318  
 30319  func init() {
 30320  	t["FindExtensionRequestType"] = reflect.TypeOf((*FindExtensionRequestType)(nil)).Elem()
 30321  }
 30322  
 30323  type FindExtensionResponse struct {
 30324  	Returnval *Extension `xml:"returnval,omitempty" json:"returnval,omitempty"`
 30325  }
 30326  
 30327  type FindRulesForVm FindRulesForVmRequestType
 30328  
 30329  func init() {
 30330  	t["FindRulesForVm"] = reflect.TypeOf((*FindRulesForVm)(nil)).Elem()
 30331  }
 30332  
 30333  // The parameters of `ClusterComputeResource.FindRulesForVm`.
 30334  type FindRulesForVmRequestType struct {
 30335  	This ManagedObjectReference `xml:"_this" json:"-"`
 30336  	// The vm whose rules need to be looked up.
 30337  	//
 30338  	// Refers instance of `VirtualMachine`.
 30339  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 30340  }
 30341  
 30342  func init() {
 30343  	t["FindRulesForVmRequestType"] = reflect.TypeOf((*FindRulesForVmRequestType)(nil)).Elem()
 30344  }
 30345  
 30346  type FindRulesForVmResponse struct {
 30347  	Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 30348  }
 30349  
 30350  // The `FirewallProfile` data object represents a host firewall configuration.
 30351  //
 30352  // If a profile plug-in defines policies or subprofiles, use the
 30353  // `ApplyProfile.policy` or `ApplyProfile.property`
 30354  // list to access the additional configuration data.
 30355  type FirewallProfile struct {
 30356  	ApplyProfile
 30357  
 30358  	// List of Rulesets that will be configured for the firewall subprofile.
 30359  	//
 30360  	// The rulesets can be enabled or disabled from the profile.
 30361  	Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 30362  }
 30363  
 30364  func init() {
 30365  	t["FirewallProfile"] = reflect.TypeOf((*FirewallProfile)(nil)).Elem()
 30366  }
 30367  
 30368  type FirewallProfileRulesetProfile struct {
 30369  	ApplyProfile
 30370  
 30371  	// Linkable identifier.
 30372  	Key string `xml:"key" json:"key"`
 30373  }
 30374  
 30375  func init() {
 30376  	t["FirewallProfileRulesetProfile"] = reflect.TypeOf((*FirewallProfileRulesetProfile)(nil)).Elem()
 30377  }
 30378  
 30379  // The FloatOption data object type defines the minimum, maximum,
 30380  // and default values for a float option.
 30381  type FloatOption struct {
 30382  	OptionType
 30383  
 30384  	// The minimum value.
 30385  	Min float32 `xml:"min" json:"min"`
 30386  	// The maximum value.
 30387  	Max float32 `xml:"max" json:"max"`
 30388  	// The default value.
 30389  	DefaultValue float32 `xml:"defaultValue" json:"defaultValue"`
 30390  }
 30391  
 30392  func init() {
 30393  	t["FloatOption"] = reflect.TypeOf((*FloatOption)(nil)).Elem()
 30394  }
 30395  
 30396  // This data object type describes a file that is a floppy disk image.
 30397  type FloppyImageFileInfo struct {
 30398  	FileInfo
 30399  }
 30400  
 30401  func init() {
 30402  	t["FloppyImageFileInfo"] = reflect.TypeOf((*FloppyImageFileInfo)(nil)).Elem()
 30403  }
 30404  
 30405  // This data object type describes the query specification for a floppy disk image.
 30406  type FloppyImageFileQuery struct {
 30407  	FileQuery
 30408  }
 30409  
 30410  func init() {
 30411  	t["FloppyImageFileQuery"] = reflect.TypeOf((*FloppyImageFileQuery)(nil)).Elem()
 30412  }
 30413  
 30414  type FolderBatchAddHostsToClusterResult struct {
 30415  	DynamicData
 30416  
 30417  	// List of hosts that were successfully added to the cluster
 30418  	// in the desired state.
 30419  	//
 30420  	// Refers instances of `HostSystem`.
 30421  	HostsAddedToCluster []ManagedObjectReference `xml:"hostsAddedToCluster,omitempty" json:"hostsAddedToCluster,omitempty"`
 30422  	// Contains a fault for each host that failed addition to the inventory.
 30423  	//
 30424  	// A failed host will not be part of hostsAddedToCluster list.
 30425  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 30426  	// List of hosts that are part of inventory but failed to move to the
 30427  	// cluster in the desired state.
 30428  	//
 30429  	// A failed host will not be part of hostsAddedToCluster list however,
 30430  	// a failed host will be part of inventory as it might have been added
 30431  	// as a standalone host but failed to move to cluster in the desired
 30432  	// state.
 30433  	HostsFailedMoveToCluster []FolderFailedHostResult `xml:"hostsFailedMoveToCluster,omitempty" json:"hostsFailedMoveToCluster,omitempty"`
 30434  }
 30435  
 30436  func init() {
 30437  	t["FolderBatchAddHostsToClusterResult"] = reflect.TypeOf((*FolderBatchAddHostsToClusterResult)(nil)).Elem()
 30438  }
 30439  
 30440  type FolderBatchAddStandaloneHostsResult struct {
 30441  	DynamicData
 30442  
 30443  	// List of hosts that were successfully added as standalone hosts
 30444  	// to the inventory.
 30445  	//
 30446  	// Refers instances of `HostSystem`.
 30447  	AddedHosts []ManagedObjectReference `xml:"addedHosts,omitempty" json:"addedHosts,omitempty"`
 30448  	// Contains a fault for each host that failed to add.
 30449  	//
 30450  	// A failed host
 30451  	// will not be part of addedHosts list.
 30452  	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
 30453  }
 30454  
 30455  func init() {
 30456  	t["FolderBatchAddStandaloneHostsResult"] = reflect.TypeOf((*FolderBatchAddStandaloneHostsResult)(nil)).Elem()
 30457  }
 30458  
 30459  // The event argument is a Folder object.
 30460  type FolderEventArgument struct {
 30461  	EntityEventArgument
 30462  
 30463  	// The Folder object.
 30464  	//
 30465  	// Refers instance of `Folder`.
 30466  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 30467  }
 30468  
 30469  func init() {
 30470  	t["FolderEventArgument"] = reflect.TypeOf((*FolderEventArgument)(nil)).Elem()
 30471  }
 30472  
 30473  type FolderFailedHostResult struct {
 30474  	DynamicData
 30475  
 30476  	// Host name for which fault belongs to.
 30477  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 30478  	// Host for which fault belongs to.
 30479  	//
 30480  	// Only set when the HostSystem
 30481  	// reference is avaibale as a result of Host being part of inventory.
 30482  	//
 30483  	// Refers instance of `HostSystem`.
 30484  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 30485  	// Message describing context where the failure happened.
 30486  	Context LocalizableMessage `xml:"context" json:"context"`
 30487  	// Exception encountered while operating on this host.
 30488  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 30489  }
 30490  
 30491  func init() {
 30492  	t["FolderFailedHostResult"] = reflect.TypeOf((*FolderFailedHostResult)(nil)).Elem()
 30493  }
 30494  
 30495  // This data object type describes a file that is a folder (directory).
 30496  type FolderFileInfo struct {
 30497  	FileInfo
 30498  }
 30499  
 30500  func init() {
 30501  	t["FolderFileInfo"] = reflect.TypeOf((*FolderFileInfo)(nil)).Elem()
 30502  }
 30503  
 30504  // This data object type describes the query specification for a folder (directory).
 30505  type FolderFileQuery struct {
 30506  	FileQuery
 30507  }
 30508  
 30509  func init() {
 30510  	t["FolderFileQuery"] = reflect.TypeOf((*FolderFileQuery)(nil)).Elem()
 30511  }
 30512  
 30513  type FolderNewHostSpec struct {
 30514  	DynamicData
 30515  
 30516  	// Connection Spec for new host that needs to be added to the inventory.
 30517  	HostCnxSpec HostConnectSpec `xml:"hostCnxSpec" json:"hostCnxSpec"`
 30518  	// LicenseKey.
 30519  	//
 30520  	// See `LicenseManager`. If supplied, new
 30521  	// host will be updated with the license.
 30522  	EsxLicense string `xml:"esxLicense,omitempty" json:"esxLicense,omitempty"`
 30523  }
 30524  
 30525  func init() {
 30526  	t["FolderNewHostSpec"] = reflect.TypeOf((*FolderNewHostSpec)(nil)).Elem()
 30527  }
 30528  
 30529  type FormatVffs FormatVffsRequestType
 30530  
 30531  func init() {
 30532  	t["FormatVffs"] = reflect.TypeOf((*FormatVffs)(nil)).Elem()
 30533  }
 30534  
 30535  // The parameters of `HostStorageSystem.FormatVffs`.
 30536  type FormatVffsRequestType struct {
 30537  	This ManagedObjectReference `xml:"_this" json:"-"`
 30538  	// A data object that describes the VFFS volume
 30539  	// creation specification.
 30540  	CreateSpec HostVffsSpec `xml:"createSpec" json:"createSpec"`
 30541  }
 30542  
 30543  func init() {
 30544  	t["FormatVffsRequestType"] = reflect.TypeOf((*FormatVffsRequestType)(nil)).Elem()
 30545  }
 30546  
 30547  type FormatVffsResponse struct {
 30548  	Returnval HostVffsVolume `xml:"returnval" json:"returnval"`
 30549  }
 30550  
 30551  type FormatVmfs FormatVmfsRequestType
 30552  
 30553  func init() {
 30554  	t["FormatVmfs"] = reflect.TypeOf((*FormatVmfs)(nil)).Elem()
 30555  }
 30556  
 30557  // The parameters of `HostStorageSystem.FormatVmfs`.
 30558  type FormatVmfsRequestType struct {
 30559  	This ManagedObjectReference `xml:"_this" json:"-"`
 30560  	// A data object that describes the VMware File System
 30561  	// (VMFS) creation specification.
 30562  	CreateSpec HostVmfsSpec `xml:"createSpec" json:"createSpec"`
 30563  }
 30564  
 30565  func init() {
 30566  	t["FormatVmfsRequestType"] = reflect.TypeOf((*FormatVmfsRequestType)(nil)).Elem()
 30567  }
 30568  
 30569  type FormatVmfsResponse struct {
 30570  	Returnval HostVmfsVolume `xml:"returnval" json:"returnval"`
 30571  }
 30572  
 30573  // The FtIssuesOnHost fault reports issues that prevent a particular
 30574  // host from being used as the register or power on host for a Fault
 30575  // Tolerance secondary virtual machine
 30576  type FtIssuesOnHost struct {
 30577  	VmFaultToleranceIssue
 30578  
 30579  	// The host which has Fault Tolerance issues.
 30580  	//
 30581  	// Refers instance of `HostSystem`.
 30582  	Host ManagedObjectReference `xml:"host" json:"host"`
 30583  	// Name for the host which has Fault Tolerance issues.
 30584  	HostName string `xml:"hostName" json:"hostName"`
 30585  	// Information on the details of the Fault Tolerance issues
 30586  	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 30587  }
 30588  
 30589  func init() {
 30590  	t["FtIssuesOnHost"] = reflect.TypeOf((*FtIssuesOnHost)(nil)).Elem()
 30591  }
 30592  
 30593  type FtIssuesOnHostFault FtIssuesOnHost
 30594  
 30595  func init() {
 30596  	t["FtIssuesOnHostFault"] = reflect.TypeOf((*FtIssuesOnHostFault)(nil)).Elem()
 30597  }
 30598  
 30599  // The virtual machine if powered on or VMotioned, would violate an
 30600  // FT VM-Host rule.
 30601  type FtVmHostRuleViolation struct {
 30602  	VmConfigFault
 30603  
 30604  	// The vm that can not be powered on or VMotioned without violating FT Metro
 30605  	// Cluster placement rule.
 30606  	VmName string `xml:"vmName" json:"vmName"`
 30607  	// The host that the virtual machine can not be powered on without violating
 30608  	// FT Metro Cluster placement rule.
 30609  	HostName string `xml:"hostName" json:"hostName"`
 30610  	// Indicate the Host Group for FT Metro Cluster enabled Virtual Machine.
 30611  	HostGroup string `xml:"hostGroup" json:"hostGroup"`
 30612  }
 30613  
 30614  func init() {
 30615  	t["FtVmHostRuleViolation"] = reflect.TypeOf((*FtVmHostRuleViolation)(nil)).Elem()
 30616  	minAPIVersionForType["FtVmHostRuleViolation"] = "8.0.3.0"
 30617  }
 30618  
 30619  type FtVmHostRuleViolationFault FtVmHostRuleViolation
 30620  
 30621  func init() {
 30622  	t["FtVmHostRuleViolationFault"] = reflect.TypeOf((*FtVmHostRuleViolationFault)(nil)).Elem()
 30623  }
 30624  
 30625  // An operation on a powered-on virtual machine requests a simultaneous change
 30626  // of storage location and execution host, but the host does not have that
 30627  // capability.
 30628  type FullStorageVMotionNotSupported struct {
 30629  	MigrationFeatureNotSupported
 30630  }
 30631  
 30632  func init() {
 30633  	t["FullStorageVMotionNotSupported"] = reflect.TypeOf((*FullStorageVMotionNotSupported)(nil)).Elem()
 30634  }
 30635  
 30636  type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported
 30637  
 30638  func init() {
 30639  	t["FullStorageVMotionNotSupportedFault"] = reflect.TypeOf((*FullStorageVMotionNotSupportedFault)(nil)).Elem()
 30640  }
 30641  
 30642  // Deprecated not used since vSphere 6.5.
 30643  //
 30644  // GatewayConnectFault is a base fault type for the faults thrown by a gateway
 30645  // server used to connect to a host.
 30646  type GatewayConnectFault struct {
 30647  	HostConnectFault
 30648  
 30649  	// The type of the gateway used for the connection to the host.
 30650  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 30651  	// Identifier of the gateway that is used for the connection to the host.
 30652  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 30653  	// Human-readable information about the host gateway server.
 30654  	GatewayInfo string `xml:"gatewayInfo" json:"gatewayInfo"`
 30655  	// Details of the cause for this fault.
 30656  	//
 30657  	// This is the way in which Host
 30658  	// Gateway servers propagate opaque error messages through vCenter Server.
 30659  	Details *LocalizableMessage `xml:"details,omitempty" json:"details,omitempty"`
 30660  }
 30661  
 30662  func init() {
 30663  	t["GatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem()
 30664  }
 30665  
 30666  type GatewayConnectFaultFault BaseGatewayConnectFault
 30667  
 30668  func init() {
 30669  	t["GatewayConnectFaultFault"] = reflect.TypeOf((*GatewayConnectFaultFault)(nil)).Elem()
 30670  }
 30671  
 30672  // Deprecated not used since vSphere 6.5.
 30673  //
 30674  // GatewayHostNotReachable is thrown by the gateway used to connect to a host,
 30675  // if an error occurs while establishing a connection to that host.
 30676  //
 30677  // The fault may provide a more detailed message of what caused the problem.
 30678  type GatewayHostNotReachable struct {
 30679  	GatewayToHostConnectFault
 30680  }
 30681  
 30682  func init() {
 30683  	t["GatewayHostNotReachable"] = reflect.TypeOf((*GatewayHostNotReachable)(nil)).Elem()
 30684  }
 30685  
 30686  type GatewayHostNotReachableFault GatewayHostNotReachable
 30687  
 30688  func init() {
 30689  	t["GatewayHostNotReachableFault"] = reflect.TypeOf((*GatewayHostNotReachableFault)(nil)).Elem()
 30690  }
 30691  
 30692  // Deprecated not used since vSphere 6.5.
 30693  //
 30694  // GatewayNotFound is thrown by vCenter Server, if no host gateway with the
 30695  // specified type/id and available resources is known to the vCenter Server.
 30696  type GatewayNotFound struct {
 30697  	GatewayConnectFault
 30698  }
 30699  
 30700  func init() {
 30701  	t["GatewayNotFound"] = reflect.TypeOf((*GatewayNotFound)(nil)).Elem()
 30702  }
 30703  
 30704  type GatewayNotFoundFault GatewayNotFound
 30705  
 30706  func init() {
 30707  	t["GatewayNotFoundFault"] = reflect.TypeOf((*GatewayNotFoundFault)(nil)).Elem()
 30708  }
 30709  
 30710  // Deprecated not used since vSphere 6.5.
 30711  //
 30712  // GatewayNotReachable is thrown by vCenter Server when it fails to establish
 30713  // a connection to the host gateway server.
 30714  //
 30715  // This fault may occur due to
 30716  // network connectivity problems or inability to establish secure connection
 30717  // between the gateway server and vCenter Server.
 30718  type GatewayNotReachable struct {
 30719  	GatewayConnectFault
 30720  }
 30721  
 30722  func init() {
 30723  	t["GatewayNotReachable"] = reflect.TypeOf((*GatewayNotReachable)(nil)).Elem()
 30724  }
 30725  
 30726  type GatewayNotReachableFault GatewayNotReachable
 30727  
 30728  func init() {
 30729  	t["GatewayNotReachableFault"] = reflect.TypeOf((*GatewayNotReachableFault)(nil)).Elem()
 30730  }
 30731  
 30732  // Deprecated not used sine vSphere 6.5.
 30733  //
 30734  // GatewayOperationRefused is thrown by vCenter Server when a gateway server denies to
 30735  // accept more connection due to resource limitation.
 30736  //
 30737  // The fault may occur due
 30738  // to specific configuration of the Gateway server to work with limited
 30739  // resources or due to physical limitation to handle more host connections.
 30740  type GatewayOperationRefused struct {
 30741  	GatewayConnectFault
 30742  }
 30743  
 30744  func init() {
 30745  	t["GatewayOperationRefused"] = reflect.TypeOf((*GatewayOperationRefused)(nil)).Elem()
 30746  }
 30747  
 30748  type GatewayOperationRefusedFault GatewayOperationRefused
 30749  
 30750  func init() {
 30751  	t["GatewayOperationRefusedFault"] = reflect.TypeOf((*GatewayOperationRefusedFault)(nil)).Elem()
 30752  }
 30753  
 30754  // Deprecated not used since vSphere 6.5.
 30755  //
 30756  // GatewayToHostAuthFault is thrown by the gateway used to communicate with a
 30757  // host, if the gateway cannot authenticate to the host with the provided
 30758  // authentication data.
 30759  //
 30760  // The fault provides information, which of the properties given in the
 30761  // authentication data are invalid or if more properties are required.
 30762  //
 30763  // See also `HostGatewaySpec.hostAuthParams`.
 30764  type GatewayToHostAuthFault struct {
 30765  	GatewayToHostConnectFault
 30766  
 30767  	// List of properties that have been provided in the authentication data
 30768  	// but have wrong values.
 30769  	InvalidProperties []string `xml:"invalidProperties" json:"invalidProperties"`
 30770  	// List of properties that do not have their values specified in the
 30771  	// provided authentication data but are required.
 30772  	MissingProperties []string `xml:"missingProperties" json:"missingProperties"`
 30773  }
 30774  
 30775  func init() {
 30776  	t["GatewayToHostAuthFault"] = reflect.TypeOf((*GatewayToHostAuthFault)(nil)).Elem()
 30777  }
 30778  
 30779  type GatewayToHostAuthFaultFault GatewayToHostAuthFault
 30780  
 30781  func init() {
 30782  	t["GatewayToHostAuthFaultFault"] = reflect.TypeOf((*GatewayToHostAuthFaultFault)(nil)).Elem()
 30783  }
 30784  
 30785  // Deprecated not used since vSphere 6.5.
 30786  //
 30787  // GatewayToHostConnectFault is thrown by the gateway used to communicate
 30788  // with a host, if an error occurs in the communication between the gateway and
 30789  // the host.
 30790  //
 30791  // More details may be provided by a subfault.
 30792  type GatewayToHostConnectFault struct {
 30793  	GatewayConnectFault
 30794  
 30795  	// Hostname of the host that the gateway is communicating with.
 30796  	Hostname string `xml:"hostname" json:"hostname"`
 30797  	// Port specified for the connection between the gateway and the host.
 30798  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 30799  }
 30800  
 30801  func init() {
 30802  	t["GatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem()
 30803  }
 30804  
 30805  type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault
 30806  
 30807  func init() {
 30808  	t["GatewayToHostConnectFaultFault"] = reflect.TypeOf((*GatewayToHostConnectFaultFault)(nil)).Elem()
 30809  }
 30810  
 30811  // Deprecated not used since vSphere 6.5.
 30812  //
 30813  // GatewayToHostTrustVerifyFault is thrown by the gateway used to communicate
 30814  // with a host, if it cannot establish a trusted connection to the host with
 30815  // the provided host verification token parameter.
 30816  //
 30817  // The fault provides a list of opaque &lt;key,value&gt; properties, which the end
 30818  // user has to verify in order to trust the host and a verification token,
 30819  // which can be used to state that those exact properties are valid.
 30820  //
 30821  // See also `HostGatewaySpec.trustVerificationToken`.
 30822  type GatewayToHostTrustVerifyFault struct {
 30823  	GatewayToHostConnectFault
 30824  
 30825  	// A unique verification token, that can be used to state the the listed
 30826  	// properties are valid.
 30827  	VerificationToken string `xml:"verificationToken" json:"verificationToken"`
 30828  	// A key/value list of properties that need user verification in order
 30829  	// for the gateway to trust the host to succeed.
 30830  	//
 30831  	// For instance the user may
 30832  	// need to verify an SSL thumbprint or a whole certificate.
 30833  	PropertiesToVerify []KeyValue `xml:"propertiesToVerify" json:"propertiesToVerify"`
 30834  }
 30835  
 30836  func init() {
 30837  	t["GatewayToHostTrustVerifyFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFault)(nil)).Elem()
 30838  }
 30839  
 30840  type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault
 30841  
 30842  func init() {
 30843  	t["GatewayToHostTrustVerifyFaultFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFaultFault)(nil)).Elem()
 30844  }
 30845  
 30846  // These are general events.
 30847  type GeneralEvent struct {
 30848  	Event
 30849  
 30850  	// A short form of the message string, not localized.
 30851  	Message string `xml:"message" json:"message"`
 30852  }
 30853  
 30854  func init() {
 30855  	t["GeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem()
 30856  }
 30857  
 30858  // This event is the general error event for a host.
 30859  type GeneralHostErrorEvent struct {
 30860  	GeneralEvent
 30861  }
 30862  
 30863  func init() {
 30864  	t["GeneralHostErrorEvent"] = reflect.TypeOf((*GeneralHostErrorEvent)(nil)).Elem()
 30865  }
 30866  
 30867  // This event is the general information event for a host.
 30868  type GeneralHostInfoEvent struct {
 30869  	GeneralEvent
 30870  }
 30871  
 30872  func init() {
 30873  	t["GeneralHostInfoEvent"] = reflect.TypeOf((*GeneralHostInfoEvent)(nil)).Elem()
 30874  }
 30875  
 30876  // This event is the general warning event for a host.
 30877  type GeneralHostWarningEvent struct {
 30878  	GeneralEvent
 30879  }
 30880  
 30881  func init() {
 30882  	t["GeneralHostWarningEvent"] = reflect.TypeOf((*GeneralHostWarningEvent)(nil)).Elem()
 30883  }
 30884  
 30885  // This event is the general user event type.
 30886  type GeneralUserEvent struct {
 30887  	GeneralEvent
 30888  
 30889  	// The entity on which the event was logged.
 30890  	Entity *ManagedEntityEventArgument `xml:"entity,omitempty" json:"entity,omitempty"`
 30891  }
 30892  
 30893  func init() {
 30894  	t["GeneralUserEvent"] = reflect.TypeOf((*GeneralUserEvent)(nil)).Elem()
 30895  }
 30896  
 30897  // This event is the general error event for a virtual machine.
 30898  type GeneralVmErrorEvent struct {
 30899  	GeneralEvent
 30900  }
 30901  
 30902  func init() {
 30903  	t["GeneralVmErrorEvent"] = reflect.TypeOf((*GeneralVmErrorEvent)(nil)).Elem()
 30904  }
 30905  
 30906  // This event is the general information event for a virtual machine.
 30907  type GeneralVmInfoEvent struct {
 30908  	GeneralEvent
 30909  }
 30910  
 30911  func init() {
 30912  	t["GeneralVmInfoEvent"] = reflect.TypeOf((*GeneralVmInfoEvent)(nil)).Elem()
 30913  }
 30914  
 30915  // This event is the general warning event for a virtual machine.
 30916  type GeneralVmWarningEvent struct {
 30917  	GeneralEvent
 30918  }
 30919  
 30920  func init() {
 30921  	t["GeneralVmWarningEvent"] = reflect.TypeOf((*GeneralVmWarningEvent)(nil)).Elem()
 30922  }
 30923  
 30924  type GenerateCertificateSigningRequest GenerateCertificateSigningRequestRequestType
 30925  
 30926  func init() {
 30927  	t["GenerateCertificateSigningRequest"] = reflect.TypeOf((*GenerateCertificateSigningRequest)(nil)).Elem()
 30928  }
 30929  
 30930  type GenerateCertificateSigningRequestByDn GenerateCertificateSigningRequestByDnRequestType
 30931  
 30932  func init() {
 30933  	t["GenerateCertificateSigningRequestByDn"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDn)(nil)).Elem()
 30934  }
 30935  
 30936  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequestByDn`.
 30937  type GenerateCertificateSigningRequestByDnRequestType struct {
 30938  	This ManagedObjectReference `xml:"_this" json:"-"`
 30939  	// DN to be used as subject in CSR.
 30940  	DistinguishedName string `xml:"distinguishedName" json:"distinguishedName"`
 30941  	// is used to generate CSR for selected certificate kind
 30942  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 30943  }
 30944  
 30945  func init() {
 30946  	t["GenerateCertificateSigningRequestByDnRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDnRequestType)(nil)).Elem()
 30947  }
 30948  
 30949  type GenerateCertificateSigningRequestByDnResponse struct {
 30950  	Returnval string `xml:"returnval" json:"returnval"`
 30951  }
 30952  
 30953  // The parameters of `HostCertificateManager.GenerateCertificateSigningRequest`.
 30954  type GenerateCertificateSigningRequestRequestType struct {
 30955  	This ManagedObjectReference `xml:"_this" json:"-"`
 30956  	// if true, use host's
 30957  	// management IP address as CN in the CSR;
 30958  	// otherwise use host's FQDN.
 30959  	UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName" json:"useIpAddressAsCommonName"`
 30960  	// is used to generate CSR for selected
 30961  	// certificate kind.
 30962  	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 30963  }
 30964  
 30965  func init() {
 30966  	t["GenerateCertificateSigningRequestRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestRequestType)(nil)).Elem()
 30967  }
 30968  
 30969  type GenerateCertificateSigningRequestResponse struct {
 30970  	Returnval string `xml:"returnval" json:"returnval"`
 30971  }
 30972  
 30973  type GenerateClientCsr GenerateClientCsrRequestType
 30974  
 30975  func init() {
 30976  	t["GenerateClientCsr"] = reflect.TypeOf((*GenerateClientCsr)(nil)).Elem()
 30977  }
 30978  
 30979  // The parameters of `CryptoManagerKmip.GenerateClientCsr`.
 30980  type GenerateClientCsrRequestType struct {
 30981  	This ManagedObjectReference `xml:"_this" json:"-"`
 30982  	// \[in\] KMIP cluster.
 30983  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 30984  	// \[in\] Certificate sign request.
 30985  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 30986  }
 30987  
 30988  func init() {
 30989  	t["GenerateClientCsrRequestType"] = reflect.TypeOf((*GenerateClientCsrRequestType)(nil)).Elem()
 30990  }
 30991  
 30992  type GenerateClientCsrResponse struct {
 30993  	Returnval string `xml:"returnval" json:"returnval"`
 30994  }
 30995  
 30996  type GenerateConfigTaskList GenerateConfigTaskListRequestType
 30997  
 30998  func init() {
 30999  	t["GenerateConfigTaskList"] = reflect.TypeOf((*GenerateConfigTaskList)(nil)).Elem()
 31000  }
 31001  
 31002  // The parameters of `HostProfileManager.GenerateConfigTaskList`.
 31003  type GenerateConfigTaskListRequestType struct {
 31004  	This ManagedObjectReference `xml:"_this" json:"-"`
 31005  	// ConfigSpec which was proposed by
 31006  	// `HostProfile.ExecuteHostProfile` method.
 31007  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31008  	// Host on which the HostProfile application needs to be
 31009  	// carried out.
 31010  	//
 31011  	// Refers instance of `HostSystem`.
 31012  	Host ManagedObjectReference `xml:"host" json:"host"`
 31013  }
 31014  
 31015  func init() {
 31016  	t["GenerateConfigTaskListRequestType"] = reflect.TypeOf((*GenerateConfigTaskListRequestType)(nil)).Elem()
 31017  }
 31018  
 31019  type GenerateConfigTaskListResponse struct {
 31020  	Returnval HostProfileManagerConfigTaskList `xml:"returnval" json:"returnval"`
 31021  }
 31022  
 31023  // The parameters of `HostProfileManager.GenerateHostConfigTaskSpec_Task`.
 31024  type GenerateHostConfigTaskSpecRequestType struct {
 31025  	This ManagedObjectReference `xml:"_this" json:"-"`
 31026  	// List of host data for which configuration task list
 31027  	// needs to be generated. The
 31028  	// `StructuredCustomizations.customizations` value should be
 31029  	// provided only if the host customization data for that host is
 31030  	// invalid. If this property is not provided, the API will use the
 31031  	// host customization data stored in VC and generate task list.
 31032  	HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty" json:"hostsInfo,omitempty"`
 31033  }
 31034  
 31035  func init() {
 31036  	t["GenerateHostConfigTaskSpecRequestType"] = reflect.TypeOf((*GenerateHostConfigTaskSpecRequestType)(nil)).Elem()
 31037  }
 31038  
 31039  type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType
 31040  
 31041  func init() {
 31042  	t["GenerateHostConfigTaskSpec_Task"] = reflect.TypeOf((*GenerateHostConfigTaskSpec_Task)(nil)).Elem()
 31043  }
 31044  
 31045  type GenerateHostConfigTaskSpec_TaskResponse struct {
 31046  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31047  }
 31048  
 31049  // The parameters of `HostProfileManager.GenerateHostProfileTaskList_Task`.
 31050  type GenerateHostProfileTaskListRequestType struct {
 31051  	This ManagedObjectReference `xml:"_this" json:"-"`
 31052  	// ConfigSpec which was proposed by
 31053  	// `HostProfile.ExecuteHostProfile` method.
 31054  	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
 31055  	// Host on which the HostProfile application needs to be
 31056  	// carried out.
 31057  	//
 31058  	// Refers instance of `HostSystem`.
 31059  	Host ManagedObjectReference `xml:"host" json:"host"`
 31060  }
 31061  
 31062  func init() {
 31063  	t["GenerateHostProfileTaskListRequestType"] = reflect.TypeOf((*GenerateHostProfileTaskListRequestType)(nil)).Elem()
 31064  }
 31065  
 31066  type GenerateHostProfileTaskList_Task GenerateHostProfileTaskListRequestType
 31067  
 31068  func init() {
 31069  	t["GenerateHostProfileTaskList_Task"] = reflect.TypeOf((*GenerateHostProfileTaskList_Task)(nil)).Elem()
 31070  }
 31071  
 31072  type GenerateHostProfileTaskList_TaskResponse struct {
 31073  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31074  }
 31075  
 31076  type GenerateKey GenerateKeyRequestType
 31077  
 31078  func init() {
 31079  	t["GenerateKey"] = reflect.TypeOf((*GenerateKey)(nil)).Elem()
 31080  }
 31081  
 31082  // The parameters of `CryptoManagerKmip.GenerateKey`.
 31083  type GenerateKeyRequestType struct {
 31084  	This ManagedObjectReference `xml:"_this" json:"-"`
 31085  	// \[in\] Which provider will generate the key.
 31086  	// If omitted, will use the default key provider.
 31087  	KeyProvider *KeyProviderId `xml:"keyProvider,omitempty" json:"keyProvider,omitempty"`
 31088  	// \[in\] The spec that contains custom attributes key/value pairs.
 31089  	Spec *CryptoManagerKmipCustomAttributeSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
 31090  }
 31091  
 31092  func init() {
 31093  	t["GenerateKeyRequestType"] = reflect.TypeOf((*GenerateKeyRequestType)(nil)).Elem()
 31094  }
 31095  
 31096  type GenerateKeyResponse struct {
 31097  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 31098  }
 31099  
 31100  // The parameters of `DiagnosticManager.GenerateLogBundles_Task`.
 31101  type GenerateLogBundlesRequestType struct {
 31102  	This ManagedObjectReference `xml:"_this" json:"-"`
 31103  	// Specifies if the bundle should include the
 31104  	// default server. If called on a VirtualCenter
 31105  	// server, then this means the VirtualCenter
 31106  	// diagnostic files. If called directly on a host,
 31107  	// then includeDefault must be set to true.
 31108  	IncludeDefault bool `xml:"includeDefault" json:"includeDefault"`
 31109  	// Lists hosts that are included. This is only used
 31110  	// when called on VirtualCenter. If called directly
 31111  	// on a host, then this parameter must be empty.
 31112  	//
 31113  	// Refers instances of `HostSystem`.
 31114  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 31115  }
 31116  
 31117  func init() {
 31118  	t["GenerateLogBundlesRequestType"] = reflect.TypeOf((*GenerateLogBundlesRequestType)(nil)).Elem()
 31119  }
 31120  
 31121  type GenerateLogBundles_Task GenerateLogBundlesRequestType
 31122  
 31123  func init() {
 31124  	t["GenerateLogBundles_Task"] = reflect.TypeOf((*GenerateLogBundles_Task)(nil)).Elem()
 31125  }
 31126  
 31127  type GenerateLogBundles_TaskResponse struct {
 31128  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 31129  }
 31130  
 31131  type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType
 31132  
 31133  func init() {
 31134  	t["GenerateSelfSignedClientCert"] = reflect.TypeOf((*GenerateSelfSignedClientCert)(nil)).Elem()
 31135  }
 31136  
 31137  // The parameters of `CryptoManagerKmip.GenerateSelfSignedClientCert`.
 31138  type GenerateSelfSignedClientCertRequestType struct {
 31139  	This ManagedObjectReference `xml:"_this" json:"-"`
 31140  	// \[in\] KMIP cluster.
 31141  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 31142  	// \[in\] Certificate sign request.
 31143  	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
 31144  }
 31145  
 31146  func init() {
 31147  	t["GenerateSelfSignedClientCertRequestType"] = reflect.TypeOf((*GenerateSelfSignedClientCertRequestType)(nil)).Elem()
 31148  }
 31149  
 31150  type GenerateSelfSignedClientCertResponse struct {
 31151  	Returnval string `xml:"returnval" json:"returnval"`
 31152  }
 31153  
 31154  // DRS returns more than one faults for each virtual machine, or DRS returns
 31155  // `VimFault` because of some internal errors.
 31156  type GenericDrsFault struct {
 31157  	VimFault
 31158  
 31159  	// This is an optional field to return the detailed information back to
 31160  	// the client.
 31161  	//
 31162  	// This optional array may consist of the exact fault for
 31163  	// some hosts in the cluster.
 31164  	HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 31165  }
 31166  
 31167  func init() {
 31168  	t["GenericDrsFault"] = reflect.TypeOf((*GenericDrsFault)(nil)).Elem()
 31169  }
 31170  
 31171  type GenericDrsFaultFault GenericDrsFault
 31172  
 31173  func init() {
 31174  	t["GenericDrsFaultFault"] = reflect.TypeOf((*GenericDrsFaultFault)(nil)).Elem()
 31175  }
 31176  
 31177  // Thrown when a running virtual machine reports an error.
 31178  type GenericVmConfigFault struct {
 31179  	VmConfigFault
 31180  
 31181  	// Message from the virtual machine
 31182  	Reason string `xml:"reason" json:"reason"`
 31183  }
 31184  
 31185  func init() {
 31186  	t["GenericVmConfigFault"] = reflect.TypeOf((*GenericVmConfigFault)(nil)).Elem()
 31187  }
 31188  
 31189  type GenericVmConfigFaultFault GenericVmConfigFault
 31190  
 31191  func init() {
 31192  	t["GenericVmConfigFaultFault"] = reflect.TypeOf((*GenericVmConfigFaultFault)(nil)).Elem()
 31193  }
 31194  
 31195  type GetAlarm GetAlarmRequestType
 31196  
 31197  func init() {
 31198  	t["GetAlarm"] = reflect.TypeOf((*GetAlarm)(nil)).Elem()
 31199  }
 31200  
 31201  // The parameters of `AlarmManager.GetAlarm`.
 31202  type GetAlarmRequestType struct {
 31203  	This ManagedObjectReference `xml:"_this" json:"-"`
 31204  	// The entity. If not set, alarms are returned for
 31205  	// all visible entities.
 31206  	//
 31207  	// Refers instance of `ManagedEntity`.
 31208  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 31209  }
 31210  
 31211  func init() {
 31212  	t["GetAlarmRequestType"] = reflect.TypeOf((*GetAlarmRequestType)(nil)).Elem()
 31213  }
 31214  
 31215  type GetAlarmResponse struct {
 31216  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31217  }
 31218  
 31219  type GetAlarmState GetAlarmStateRequestType
 31220  
 31221  func init() {
 31222  	t["GetAlarmState"] = reflect.TypeOf((*GetAlarmState)(nil)).Elem()
 31223  }
 31224  
 31225  // The parameters of `AlarmManager.GetAlarmState`.
 31226  type GetAlarmStateRequestType struct {
 31227  	This ManagedObjectReference `xml:"_this" json:"-"`
 31228  	// The entity.
 31229  	//
 31230  	// Required privileges: System.Read
 31231  	//
 31232  	// Refers instance of `ManagedEntity`.
 31233  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 31234  }
 31235  
 31236  func init() {
 31237  	t["GetAlarmStateRequestType"] = reflect.TypeOf((*GetAlarmStateRequestType)(nil)).Elem()
 31238  }
 31239  
 31240  type GetAlarmStateResponse struct {
 31241  	Returnval []AlarmState `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31242  }
 31243  
 31244  type GetCryptoKeyStatus GetCryptoKeyStatusRequestType
 31245  
 31246  func init() {
 31247  	t["GetCryptoKeyStatus"] = reflect.TypeOf((*GetCryptoKeyStatus)(nil)).Elem()
 31248  }
 31249  
 31250  // The parameters of `CryptoManagerHost.GetCryptoKeyStatus`.
 31251  type GetCryptoKeyStatusRequestType struct {
 31252  	This ManagedObjectReference `xml:"_this" json:"-"`
 31253  	// \[in\] Cryptographic keys to query status.
 31254  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 31255  }
 31256  
 31257  func init() {
 31258  	t["GetCryptoKeyStatusRequestType"] = reflect.TypeOf((*GetCryptoKeyStatusRequestType)(nil)).Elem()
 31259  	minAPIVersionForType["GetCryptoKeyStatusRequestType"] = "8.0.1.0"
 31260  }
 31261  
 31262  type GetCryptoKeyStatusResponse struct {
 31263  	Returnval []CryptoManagerHostKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31264  }
 31265  
 31266  type GetCustomizationSpec GetCustomizationSpecRequestType
 31267  
 31268  func init() {
 31269  	t["GetCustomizationSpec"] = reflect.TypeOf((*GetCustomizationSpec)(nil)).Elem()
 31270  }
 31271  
 31272  // The parameters of `CustomizationSpecManager.GetCustomizationSpec`.
 31273  type GetCustomizationSpecRequestType struct {
 31274  	This ManagedObjectReference `xml:"_this" json:"-"`
 31275  	// Unique name identifying the requested customization specification.
 31276  	Name string `xml:"name" json:"name"`
 31277  }
 31278  
 31279  func init() {
 31280  	t["GetCustomizationSpecRequestType"] = reflect.TypeOf((*GetCustomizationSpecRequestType)(nil)).Elem()
 31281  }
 31282  
 31283  type GetCustomizationSpecResponse struct {
 31284  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
 31285  }
 31286  
 31287  type GetDefaultKmsCluster GetDefaultKmsClusterRequestType
 31288  
 31289  func init() {
 31290  	t["GetDefaultKmsCluster"] = reflect.TypeOf((*GetDefaultKmsCluster)(nil)).Elem()
 31291  }
 31292  
 31293  // The parameters of `CryptoManagerKmip.GetDefaultKmsCluster`.
 31294  type GetDefaultKmsClusterRequestType struct {
 31295  	This ManagedObjectReference `xml:"_this" json:"-"`
 31296  	// \[in\] The entity where the default KMS cluster to get.
 31297  	// If omitted, then return global default KMS cluster.
 31298  	//
 31299  	// Refers instance of `ManagedEntity`.
 31300  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 31301  	// \[in\] (Optional, default = false) If set to true,
 31302  	// then get the default kms cluster follow the
 31303  	// entity hierarchy. That means if the entity has
 31304  	// no default kms cluster, then try to get from
 31305  	// its parent.
 31306  	DefaultsToParent *bool `xml:"defaultsToParent" json:"defaultsToParent,omitempty"`
 31307  }
 31308  
 31309  func init() {
 31310  	t["GetDefaultKmsClusterRequestType"] = reflect.TypeOf((*GetDefaultKmsClusterRequestType)(nil)).Elem()
 31311  }
 31312  
 31313  type GetDefaultKmsClusterResponse struct {
 31314  	Returnval *KeyProviderId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31315  }
 31316  
 31317  type GetPublicKey GetPublicKeyRequestType
 31318  
 31319  func init() {
 31320  	t["GetPublicKey"] = reflect.TypeOf((*GetPublicKey)(nil)).Elem()
 31321  }
 31322  
 31323  type GetPublicKeyRequestType struct {
 31324  	This ManagedObjectReference `xml:"_this" json:"-"`
 31325  }
 31326  
 31327  func init() {
 31328  	t["GetPublicKeyRequestType"] = reflect.TypeOf((*GetPublicKeyRequestType)(nil)).Elem()
 31329  }
 31330  
 31331  type GetPublicKeyResponse struct {
 31332  	Returnval string `xml:"returnval" json:"returnval"`
 31333  }
 31334  
 31335  type GetResourceUsage GetResourceUsageRequestType
 31336  
 31337  func init() {
 31338  	t["GetResourceUsage"] = reflect.TypeOf((*GetResourceUsage)(nil)).Elem()
 31339  }
 31340  
 31341  type GetResourceUsageRequestType struct {
 31342  	This ManagedObjectReference `xml:"_this" json:"-"`
 31343  }
 31344  
 31345  func init() {
 31346  	t["GetResourceUsageRequestType"] = reflect.TypeOf((*GetResourceUsageRequestType)(nil)).Elem()
 31347  }
 31348  
 31349  type GetResourceUsageResponse struct {
 31350  	Returnval ClusterResourceUsageSummary `xml:"returnval" json:"returnval"`
 31351  }
 31352  
 31353  type GetSiteInfo GetSiteInfoRequestType
 31354  
 31355  func init() {
 31356  	t["GetSiteInfo"] = reflect.TypeOf((*GetSiteInfo)(nil)).Elem()
 31357  }
 31358  
 31359  type GetSiteInfoRequestType struct {
 31360  	This ManagedObjectReference `xml:"_this" json:"-"`
 31361  }
 31362  
 31363  func init() {
 31364  	t["GetSiteInfoRequestType"] = reflect.TypeOf((*GetSiteInfoRequestType)(nil)).Elem()
 31365  }
 31366  
 31367  type GetSiteInfoResponse struct {
 31368  	Returnval SiteInfo `xml:"returnval" json:"returnval"`
 31369  }
 31370  
 31371  type GetSystemVMsRestrictedDatastores GetSystemVMsRestrictedDatastoresRequestType
 31372  
 31373  func init() {
 31374  	t["GetSystemVMsRestrictedDatastores"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastores)(nil)).Elem()
 31375  }
 31376  
 31377  type GetSystemVMsRestrictedDatastoresRequestType struct {
 31378  	This ManagedObjectReference `xml:"_this" json:"-"`
 31379  }
 31380  
 31381  func init() {
 31382  	t["GetSystemVMsRestrictedDatastoresRequestType"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastoresRequestType)(nil)).Elem()
 31383  }
 31384  
 31385  type GetSystemVMsRestrictedDatastoresResponse struct {
 31386  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 31387  }
 31388  
 31389  type GetVchaClusterHealth GetVchaClusterHealthRequestType
 31390  
 31391  func init() {
 31392  	t["GetVchaClusterHealth"] = reflect.TypeOf((*GetVchaClusterHealth)(nil)).Elem()
 31393  }
 31394  
 31395  type GetVchaClusterHealthRequestType struct {
 31396  	This ManagedObjectReference `xml:"_this" json:"-"`
 31397  }
 31398  
 31399  func init() {
 31400  	t["GetVchaClusterHealthRequestType"] = reflect.TypeOf((*GetVchaClusterHealthRequestType)(nil)).Elem()
 31401  }
 31402  
 31403  type GetVchaClusterHealthResponse struct {
 31404  	Returnval VchaClusterHealth `xml:"returnval" json:"returnval"`
 31405  }
 31406  
 31407  type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType
 31408  
 31409  func init() {
 31410  	t["GetVsanObjExtAttrs"] = reflect.TypeOf((*GetVsanObjExtAttrs)(nil)).Elem()
 31411  }
 31412  
 31413  // The parameters of `HostVsanInternalSystem.GetVsanObjExtAttrs`.
 31414  type GetVsanObjExtAttrsRequestType struct {
 31415  	This ManagedObjectReference `xml:"_this" json:"-"`
 31416  	// List of object UUIDs.
 31417  	Uuids []string `xml:"uuids" json:"uuids"`
 31418  }
 31419  
 31420  func init() {
 31421  	t["GetVsanObjExtAttrsRequestType"] = reflect.TypeOf((*GetVsanObjExtAttrsRequestType)(nil)).Elem()
 31422  }
 31423  
 31424  type GetVsanObjExtAttrsResponse struct {
 31425  	Returnval string `xml:"returnval" json:"returnval"`
 31426  }
 31427  
 31428  // This event records when Virtual Center server found DVS proxy switches
 31429  // on the host that don't match any DVS defined in Virtual Center.
 31430  type GhostDvsProxySwitchDetectedEvent struct {
 31431  	HostEvent
 31432  
 31433  	// The list of ghost DVS proxy switch uuids that were found.
 31434  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 31435  }
 31436  
 31437  func init() {
 31438  	t["GhostDvsProxySwitchDetectedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchDetectedEvent)(nil)).Elem()
 31439  }
 31440  
 31441  // This event records when the ghost DVS proxy switches (a.k.a host
 31442  // proxy switches that don't match any DVS defined in Virtual Center)
 31443  // were removed on the host.
 31444  type GhostDvsProxySwitchRemovedEvent struct {
 31445  	HostEvent
 31446  
 31447  	// The list of ghost DVS proxy switch uuid that were removed.
 31448  	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
 31449  }
 31450  
 31451  func init() {
 31452  	t["GhostDvsProxySwitchRemovedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchRemovedEvent)(nil)).Elem()
 31453  }
 31454  
 31455  // This event records a change to the global message.
 31456  type GlobalMessageChangedEvent struct {
 31457  	SessionEvent
 31458  
 31459  	// The new message that was set.
 31460  	Message string `xml:"message" json:"message"`
 31461  	// The previous message that was set.
 31462  	PrevMessage string `xml:"prevMessage,omitempty" json:"prevMessage,omitempty"`
 31463  }
 31464  
 31465  func init() {
 31466  	t["GlobalMessageChangedEvent"] = reflect.TypeOf((*GlobalMessageChangedEvent)(nil)).Elem()
 31467  }
 31468  
 31469  // This data object type describes a group of
 31470  // actions that occur when the alarm is triggered.
 31471  //
 31472  // These actions are not
 31473  // necessarily executed in order.
 31474  type GroupAlarmAction struct {
 31475  	AlarmAction
 31476  
 31477  	// The list of alarm actions that occur when the alarm is triggered.
 31478  	Action []BaseAlarmAction `xml:"action,typeattr" json:"action"`
 31479  }
 31480  
 31481  func init() {
 31482  	t["GroupAlarmAction"] = reflect.TypeOf((*GroupAlarmAction)(nil)).Elem()
 31483  }
 31484  
 31485  // Describes the representation of an alias and the subjects
 31486  // that are trusted from that VMware SSO Server.
 31487  type GuestAliases struct {
 31488  	DynamicData
 31489  
 31490  	// The associated VMware SSO Server X.509 certificate, in base64
 31491  	// encoded DER format.
 31492  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 31493  	// A white list of aliases that the in-guest user account trusts;
 31494  	// it can be a subset of the subjects known to the identity
 31495  	// provider.
 31496  	Aliases []GuestAuthAliasInfo `xml:"aliases" json:"aliases"`
 31497  }
 31498  
 31499  func init() {
 31500  	t["GuestAliases"] = reflect.TypeOf((*GuestAliases)(nil)).Elem()
 31501  }
 31502  
 31503  // Describes a subject associated with an X.509 certificate in the alias
 31504  // store.
 31505  type GuestAuthAliasInfo struct {
 31506  	DynamicData
 31507  
 31508  	// The subject.
 31509  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 31510  	// User-supplied data to describe the subject.
 31511  	Comment string `xml:"comment" json:"comment"`
 31512  }
 31513  
 31514  func init() {
 31515  	t["GuestAuthAliasInfo"] = reflect.TypeOf((*GuestAuthAliasInfo)(nil)).Elem()
 31516  }
 31517  
 31518  // The ANY subject.
 31519  //
 31520  // When an in-guest user account is configured
 31521  // to trust an alias using the ANY subject, any vSphere user
 31522  // authenticated by that alias will be allowed to impersonate the
 31523  // in-guest user.
 31524  type GuestAuthAnySubject struct {
 31525  	GuestAuthSubject
 31526  }
 31527  
 31528  func init() {
 31529  	t["GuestAuthAnySubject"] = reflect.TypeOf((*GuestAuthAnySubject)(nil)).Elem()
 31530  }
 31531  
 31532  // A named subject.
 31533  //
 31534  // Grants access to a specific vSphere user with
 31535  // the specified name.
 31536  type GuestAuthNamedSubject struct {
 31537  	GuestAuthSubject
 31538  
 31539  	// The subject name.
 31540  	Name string `xml:"name" json:"name"`
 31541  }
 31542  
 31543  func init() {
 31544  	t["GuestAuthNamedSubject"] = reflect.TypeOf((*GuestAuthNamedSubject)(nil)).Elem()
 31545  }
 31546  
 31547  // A Subject.
 31548  type GuestAuthSubject struct {
 31549  	DynamicData
 31550  }
 31551  
 31552  func init() {
 31553  	t["GuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem()
 31554  }
 31555  
 31556  // GuestAuthentication is an abstract base class for authentication
 31557  // in the guest.
 31558  type GuestAuthentication struct {
 31559  	DynamicData
 31560  
 31561  	// This is set to true if the client wants an interactive session
 31562  	// in the guest.
 31563  	//
 31564  	// Setting this is supported only for `NamePasswordAuthentication`.
 31565  	InteractiveSession bool `xml:"interactiveSession" json:"interactiveSession"`
 31566  }
 31567  
 31568  func init() {
 31569  	t["GuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem()
 31570  }
 31571  
 31572  // Fault is thrown when a call to `GuestAuthManager.AcquireCredentialsInGuest` requires a challenge
 31573  // response in order to authenticate in the guest.
 31574  //
 31575  // The authToken string
 31576  // in serverChallenge contains a base64 encoded challenge token.
 31577  type GuestAuthenticationChallenge struct {
 31578  	GuestOperationsFault
 31579  
 31580  	// Contains the server challenge information
 31581  	ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr" json:"serverChallenge"`
 31582  	// Contains a session ID number that associates the server response
 31583  	// with the initial request.
 31584  	SessionID int64 `xml:"sessionID" json:"sessionID"`
 31585  }
 31586  
 31587  func init() {
 31588  	t["GuestAuthenticationChallenge"] = reflect.TypeOf((*GuestAuthenticationChallenge)(nil)).Elem()
 31589  }
 31590  
 31591  type GuestAuthenticationChallengeFault GuestAuthenticationChallenge
 31592  
 31593  func init() {
 31594  	t["GuestAuthenticationChallengeFault"] = reflect.TypeOf((*GuestAuthenticationChallengeFault)(nil)).Elem()
 31595  }
 31596  
 31597  // A GuestComponentsOutOfDate exception is thrown when an
 31598  // operation fails because the guest operations agent is out of date and lacks
 31599  // the functionality to execute the operation.
 31600  type GuestComponentsOutOfDate struct {
 31601  	GuestOperationsFault
 31602  }
 31603  
 31604  func init() {
 31605  	t["GuestComponentsOutOfDate"] = reflect.TypeOf((*GuestComponentsOutOfDate)(nil)).Elem()
 31606  }
 31607  
 31608  type GuestComponentsOutOfDateFault GuestComponentsOutOfDate
 31609  
 31610  func init() {
 31611  	t["GuestComponentsOutOfDateFault"] = reflect.TypeOf((*GuestComponentsOutOfDateFault)(nil)).Elem()
 31612  }
 31613  
 31614  // Information about each local virtual disk configured in the
 31615  // guest operating system.
 31616  type GuestDiskInfo struct {
 31617  	DynamicData
 31618  
 31619  	// Name of the virtual disk in the guest operating system.
 31620  	//
 31621  	// For example: C:\\
 31622  	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
 31623  	// Total capacity of the disk, in bytes.
 31624  	//
 31625  	// This is part of the virtual machine configuration.
 31626  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 31627  	// Free space on the disk, in bytes.
 31628  	//
 31629  	// This is retrieved by VMware Tools.
 31630  	FreeSpace int64 `xml:"freeSpace,omitempty" json:"freeSpace,omitempty"`
 31631  	// Filesystem type, if known.
 31632  	//
 31633  	// For example NTFS or ext3.
 31634  	FilesystemType string `xml:"filesystemType,omitempty" json:"filesystemType,omitempty"`
 31635  	// VirtualDisks backing the guest partition, if known.
 31636  	Mappings []GuestInfoVirtualDiskMapping `xml:"mappings,omitempty" json:"mappings,omitempty"`
 31637  }
 31638  
 31639  func init() {
 31640  	t["GuestDiskInfo"] = reflect.TypeOf((*GuestDiskInfo)(nil)).Elem()
 31641  }
 31642  
 31643  // Different attributes for a guest file.
 31644  //   - Check `GuestPosixFileAttributes`
 31645  //     for Posix guest files.
 31646  //   - Check `GuestWindowsFileAttributes`
 31647  //     for Windows guest files.
 31648  type GuestFileAttributes struct {
 31649  	DynamicData
 31650  
 31651  	// The date and time the file was last modified.
 31652  	//
 31653  	// If this property is not specified when passing a
 31654  	// `GuestFileAttributes` object to
 31655  	// `GuestFileManager.InitiateFileTransferToGuest`,
 31656  	// the default value will be the time when the file is created inside the
 31657  	// guest.
 31658  	ModificationTime *time.Time `xml:"modificationTime" json:"modificationTime,omitempty"`
 31659  	// The date and time the file was last accessed.
 31660  	//
 31661  	// If this property is not specified when passing a
 31662  	// `GuestFileAttributes` object to
 31663  	// `GuestFileManager.InitiateFileTransferToGuest`,
 31664  	// the default value will be the time when the file is created inside the
 31665  	// guest.
 31666  	AccessTime *time.Time `xml:"accessTime" json:"accessTime,omitempty"`
 31667  	// The target for the file if it's a symbolic link.
 31668  	//
 31669  	// This is currently only set for Linux guest operating systems,
 31670  	// but may be supported in the
 31671  	// future on Windows guest operating systems that support symbolic links.
 31672  	// This property gives information about files when returned from
 31673  	// `GuestFileManager.ListFilesInGuest` or
 31674  	// `GuestFileManager.InitiateFileTransferFromGuest`
 31675  	// as part of a `GuestFileAttributes` object.
 31676  	// This property will be ignored when passing a
 31677  	// `GuestFileAttributes` object to
 31678  	// `GuestFileManager.InitiateFileTransferToGuest` or
 31679  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 31680  	// If the file is a symbolic link, then the attributes of the target
 31681  	// are returned, not those of the symbolic link.
 31682  	SymlinkTarget string `xml:"symlinkTarget,omitempty" json:"symlinkTarget,omitempty"`
 31683  }
 31684  
 31685  func init() {
 31686  	t["GuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem()
 31687  }
 31688  
 31689  type GuestFileInfo struct {
 31690  	DynamicData
 31691  
 31692  	// The complete path to the file
 31693  	Path string `xml:"path" json:"path"`
 31694  	// The file type, one of `GuestFileType_enum`
 31695  	Type string `xml:"type" json:"type"`
 31696  	// The file size in bytes
 31697  	Size int64 `xml:"size" json:"size"`
 31698  	// Different attributes of a file.
 31699  	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
 31700  }
 31701  
 31702  func init() {
 31703  	t["GuestFileInfo"] = reflect.TypeOf((*GuestFileInfo)(nil)).Elem()
 31704  }
 31705  
 31706  // Information about the guest operating system.
 31707  //
 31708  // Most of this information is collected by VMware Tools.
 31709  // In general, be sure you have VMware Tools installed
 31710  // and that the virtual machine is running when you access this information.
 31711  type GuestInfo struct {
 31712  	DynamicData
 31713  
 31714  	// Deprecated as of vSphere API 4.0 use `GuestInfo.toolsVersionStatus` and
 31715  	// `GuestInfo.toolsRunningStatus`.
 31716  	//
 31717  	// Current status of VMware Tools in the guest operating system, if known.
 31718  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 31719  	// Deprecated as of vSphere API 5.1 use `GuestInfo.toolsVersionStatus2`.
 31720  	//
 31721  	// Current version status of VMware Tools in the guest operating system,
 31722  	// if known.
 31723  	//
 31724  	// The set of possible values is described in
 31725  	// `VirtualMachineToolsVersionStatus_enum` for vSphere API 5.0.
 31726  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty"`
 31727  	// Current version status of VMware Tools in the guest operating system,
 31728  	// if known.
 31729  	//
 31730  	// The set of possible values is described in
 31731  	// `VirtualMachineToolsVersionStatus_enum`
 31732  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty"`
 31733  	// Current running status of VMware Tools in the guest operating system,
 31734  	// if known.
 31735  	//
 31736  	// The set of possible values is described in
 31737  	// `VirtualMachineToolsRunningStatus_enum`
 31738  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty"`
 31739  	// Current version of VMware Tools, if known.
 31740  	ToolsVersion string `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 31741  	// Current installation type of VMware Tools in the guest operating system.
 31742  	//
 31743  	// The set of possible values is described in
 31744  	// `VirtualMachineToolsInstallType_enum`
 31745  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty"`
 31746  	// Guest operating system identifier (short name), if known.
 31747  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 31748  	// Guest operating system family, if known.
 31749  	GuestFamily string `xml:"guestFamily,omitempty" json:"guestFamily,omitempty"`
 31750  	// Guest operating system full name, if known.
 31751  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 31752  	// Guest OS Detailed data.
 31753  	//
 31754  	// The guest detailed data string is a property list (space separated,
 31755  	// name='value' pairs where the value is embedded in single quotes) of
 31756  	// metadata provided by the guest OS when sufficiently recent tools are
 31757  	// installed. The fields supplied will vary between distributions and
 31758  	// distribution versions. The order of these fields is not guaranteed.
 31759  	//
 31760  	// The guest detailed data string is not available before a virtual machine
 31761  	// is first powered on. The guest must first be booted and a supported
 31762  	// version of tools must be run to record the data (approximately 30-60
 31763  	// seconds after booting). Once the guest detailed data string has been
 31764  	// recorded, it will be available whether the virtual machine is powered off
 31765  	// or on.
 31766  	//
 31767  	// Available fields:
 31768  	// <table summary="Available fields">
 31769  	// <thead>
 31770  	// <tr>
 31771  	// <th>Name</th>
 31772  	// <th>Description</th>
 31773  	// <th>Tools version first available</th>
 31774  	// </tr>
 31775  	// </thead>
 31776  	// <tbody>
 31777  	// <tr>
 31778  	// <td>architecture</td>
 31779  	// <td>'Arm' or 'X86'</td>
 31780  	// <td>11.2.0</td>
 31781  	// </tr>
 31782  	// <tr>
 31783  	// <td>bitness</td>
 31784  	// <td>'32' or '64'</td>
 31785  	// <td>11.2.0</td>
 31786  	// </tr>
 31787  	// <tr>
 31788  	// <td>buildNumber</td>
 31789  	// <td>OS build number</td>
 31790  	// <td>11.2.0</td>
 31791  	// </tr>
 31792  	// <tr>
 31793  	// <td>cpeString</td>
 31794  	// <td>NIST Common Platform Enumeration Specification string, a standardized identifier for the OS</td>
 31795  	// <td>12.2.0</td>
 31796  	// </tr>
 31797  	// <tr>
 31798  	// <td>distroAddlVersion</td>
 31799  	// <td>Longer OS version string that may contain additional info (e.g. version name)</td>
 31800  	// <td>12.2.0</td>
 31801  	// </tr>
 31802  	// <tr>
 31803  	// <td>distroName</td>
 31804  	// <td>OS distribution name</td>
 31805  	// <td>11.2.0</td>
 31806  	// </tr>
 31807  	// <tr>
 31808  	// <td>distroVersion</td>
 31809  	// <td>OS version string</td>
 31810  	// <td>11.2.0</td>
 31811  	// </tr>
 31812  	// <tr>
 31813  	// <td>familyName</td>
 31814  	// <td>OS family name (Windows, Linux, etc.)</td>
 31815  	// <td>11.2.0</td>
 31816  	// </tr>
 31817  	// <tr>
 31818  	// <td>kernelVersion</td>
 31819  	// <td>Linux kernel version, Windows 10+ patch number, or Windows build number</td>
 31820  	// <td>11.2.0</td>
 31821  	// </tr>
 31822  	// <tr>
 31823  	// <td>prettyName</td>
 31824  	// <td>Officially specified distro "pretty name"</td>
 31825  	// <td>11.2.0</td>
 31826  	// </tr>
 31827  	// </tbody>
 31828  	// </table>
 31829  	GuestDetailedData string `xml:"guestDetailedData,omitempty" json:"guestDetailedData,omitempty" vim:"8.0.2.0"`
 31830  	// Hostname of the guest operating system, if known.
 31831  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 31832  	// Primary IP address assigned to the guest operating system, if known.
 31833  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 31834  	// Guest information about network adapters, if known.
 31835  	Net []GuestNicInfo `xml:"net,omitempty" json:"net,omitempty"`
 31836  	// Guest information about IP networking stack, if known.
 31837  	IpStack []GuestStackInfo `xml:"ipStack,omitempty" json:"ipStack,omitempty"`
 31838  	// Guest information about disks.
 31839  	//
 31840  	// You can obtain Linux guest disk information for the following file system
 31841  	// types: Ext2, Ext3, Ext4, ReiserFS, XFS, Btrfs, NTFS, VFAT, UFS, PCFS, HFS,
 31842  	// and MS-DOS.
 31843  	//
 31844  	// NOTE: Installing a more recent version of VMware Tools in the guest may help
 31845  	// obtain disk information for more file system types. Please refer the VMware Tools
 31846  	// User Guide for up-to-date supported file system types.
 31847  	Disk []GuestDiskInfo `xml:"disk,omitempty" json:"disk,omitempty"`
 31848  	// Guest screen resolution info, if known.
 31849  	Screen *GuestScreenInfo `xml:"screen,omitempty" json:"screen,omitempty"`
 31850  	// Operation mode of guest operating system.
 31851  	//
 31852  	// One of:
 31853  	//   - "running" - Guest is running normally.
 31854  	//   - "shuttingdown" - Guest has a pending shutdown command.
 31855  	//   - "resetting" - Guest has a pending reset command.
 31856  	//   - "standby" - Guest has a pending standby command.
 31857  	//   - "notrunning" - Guest is not running.
 31858  	//   - "unknown" - Guest information is not available.
 31859  	GuestState string `xml:"guestState" json:"guestState"`
 31860  	// Application heartbeat status.
 31861  	//
 31862  	// Please see `VirtualMachineAppHeartbeatStatusType_enum`
 31863  	AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty" json:"appHeartbeatStatus,omitempty"`
 31864  	// Guest operating system's kernel crash state.
 31865  	//
 31866  	// If true, the guest operating system's kernel has crashed.
 31867  	GuestKernelCrashed *bool `xml:"guestKernelCrashed" json:"guestKernelCrashed,omitempty"`
 31868  	// Application state.
 31869  	//
 31870  	// If vSphere HA is enabled and the vm is configured for Application Monitoring
 31871  	// and this field's value is "appStateNeedReset" then HA will attempt immediately reset
 31872  	// the vm.
 31873  	// There are some system conditions which may delay the immediate reset. The immediate
 31874  	// reset will be performed as soon as allowed by vSphere HA and ESX. If during these
 31875  	// conditions the value is changed to appStateOk the reset will be cancelled.
 31876  	//
 31877  	// See also `GuestInfoAppStateType_enum`.
 31878  	AppState string `xml:"appState,omitempty" json:"appState,omitempty"`
 31879  	// Guest Operations availability.
 31880  	//
 31881  	// If true, the virtual machine is ready to process guest operations.
 31882  	GuestOperationsReady *bool `xml:"guestOperationsReady" json:"guestOperationsReady,omitempty"`
 31883  	// Interactive Guest Operations availability.
 31884  	//
 31885  	// If true, the virtual machine is ready to process guest operations
 31886  	// as the user interacting with the guest desktop.
 31887  	InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady" json:"interactiveGuestOperationsReady,omitempty"`
 31888  	// State change support.
 31889  	//
 31890  	// If true, the virtual machine is ready to process soft power operations.
 31891  	GuestStateChangeSupported *bool `xml:"guestStateChangeSupported" json:"guestStateChangeSupported,omitempty"`
 31892  	// A list of namespaces and their corresponding generation numbers.
 31893  	//
 31894  	// Only namespaces with non-zero
 31895  	// `VirtualMachineNamespaceManagerCreateSpec.maxSizeEventsFromGuest`
 31896  	// are guaranteed to be present here.
 31897  	// Use `VirtualMachineNamespaceManager.ListNamespaces` to retrieve list of
 31898  	// namespaces.
 31899  	GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty" json:"generationInfo,omitempty"`
 31900  	// The hardware version string for this virtual machine.
 31901  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 31902  	// Guest OS Customization status info.
 31903  	CustomizationInfo *GuestInfoCustomizationInfo `xml:"customizationInfo,omitempty" json:"customizationInfo,omitempty" vim:"7.0.2.0"`
 31904  }
 31905  
 31906  func init() {
 31907  	t["GuestInfo"] = reflect.TypeOf((*GuestInfo)(nil)).Elem()
 31908  }
 31909  
 31910  type GuestInfoCustomizationInfo struct {
 31911  	DynamicData
 31912  
 31913  	// The customization status for this VM
 31914  	//
 31915  	// See also `GuestInfoCustomizationStatus_enum`for the list of supported values.
 31916  	CustomizationStatus string `xml:"customizationStatus" json:"customizationStatus"`
 31917  	// The time when the customization process has started inside the
 31918  	// guest OS
 31919  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 31920  	// The time when the customization process has completed inside the
 31921  	// guest OS
 31922  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 31923  	// Description of the error if there is error for the customization
 31924  	// process inside the guest OS
 31925  	ErrorMsg string `xml:"errorMsg,omitempty" json:"errorMsg,omitempty"`
 31926  }
 31927  
 31928  func init() {
 31929  	t["GuestInfoCustomizationInfo"] = reflect.TypeOf((*GuestInfoCustomizationInfo)(nil)).Elem()
 31930  	minAPIVersionForType["GuestInfoCustomizationInfo"] = "7.0.2.0"
 31931  }
 31932  
 31933  // A data class for the namespace and its corresponding generation number
 31934  // The generation number can be used to track updates to the corresponding
 31935  // namespace.
 31936  //
 31937  // An update to the generation number indicates that the return
 31938  // value of `VirtualMachineNamespaceManager.FetchEventsFromGuest` may have
 31939  // changed.
 31940  type GuestInfoNamespaceGenerationInfo struct {
 31941  	DynamicData
 31942  
 31943  	// The namespace name as the unique key.
 31944  	Key string `xml:"key" json:"key"`
 31945  	// Namespace generation number.
 31946  	//
 31947  	// Generation number is changed whenever
 31948  	// there is new unread event pending from the guest to the VMODL.
 31949  	GenerationNo int32 `xml:"generationNo" json:"generationNo"`
 31950  }
 31951  
 31952  func init() {
 31953  	t["GuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*GuestInfoNamespaceGenerationInfo)(nil)).Elem()
 31954  }
 31955  
 31956  // Describes the virtual disk backing a local guest disk.
 31957  type GuestInfoVirtualDiskMapping struct {
 31958  	DynamicData
 31959  
 31960  	// The key of the VirtualDevice.
 31961  	//
 31962  	// `VirtualDevice.key`
 31963  	Key int32 `xml:"key" json:"key"`
 31964  }
 31965  
 31966  func init() {
 31967  	t["GuestInfoVirtualDiskMapping"] = reflect.TypeOf((*GuestInfoVirtualDiskMapping)(nil)).Elem()
 31968  }
 31969  
 31970  type GuestListFileInfo struct {
 31971  	DynamicData
 31972  
 31973  	// A list of `GuestFileInfo`
 31974  	// data objects containing information for all the matching files.
 31975  	Files []GuestFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 31976  	// The number of files left to be returned.
 31977  	//
 31978  	// If non-zero,
 31979  	// then the next set of files can be returned by calling
 31980  	// ListFiles again with the index set to the number of results
 31981  	// already returned.
 31982  	Remaining int32 `xml:"remaining" json:"remaining"`
 31983  }
 31984  
 31985  func init() {
 31986  	t["GuestListFileInfo"] = reflect.TypeOf((*GuestListFileInfo)(nil)).Elem()
 31987  }
 31988  
 31989  // Represents a mapping between an external subject, as
 31990  // authenticated by a given VMware SSO Server, and an in-guest user.
 31991  type GuestMappedAliases struct {
 31992  	DynamicData
 31993  
 31994  	// The associated VMware SSO Server X.509 certificate, in base64
 31995  	// encoded DER format.
 31996  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 31997  	// The in-guest user associated with the mapping.
 31998  	Username string `xml:"username" json:"username"`
 31999  	// The list of subjects associated with the mapping.
 32000  	Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr" json:"subjects"`
 32001  }
 32002  
 32003  func init() {
 32004  	t["GuestMappedAliases"] = reflect.TypeOf((*GuestMappedAliases)(nil)).Elem()
 32005  }
 32006  
 32007  // A GuestMultipleMappings exception is thrown when an
 32008  // operation fails because the guest alias store mapping file
 32009  // contains multiple conflicting instances of the same certificate
 32010  // and username.
 32011  type GuestMultipleMappings struct {
 32012  	GuestOperationsFault
 32013  }
 32014  
 32015  func init() {
 32016  	t["GuestMultipleMappings"] = reflect.TypeOf((*GuestMultipleMappings)(nil)).Elem()
 32017  }
 32018  
 32019  type GuestMultipleMappingsFault GuestMultipleMappings
 32020  
 32021  func init() {
 32022  	t["GuestMultipleMappingsFault"] = reflect.TypeOf((*GuestMultipleMappingsFault)(nil)).Elem()
 32023  }
 32024  
 32025  // Information about each virtual network adapter
 32026  // configured in the guest operating system.
 32027  type GuestNicInfo struct {
 32028  	DynamicData
 32029  
 32030  	// Name of the virtual switch portgroup or dvPort connected to this adapter.
 32031  	Network string `xml:"network,omitempty" json:"network,omitempty"`
 32032  	// Deprecated as of vSphere API 5.0, use ipConfig property.
 32033  	//
 32034  	// IP addresses of the adapter.
 32035  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 32036  	// MAC address of the adapter.
 32037  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 32038  	// Flag indicating whether or not the virtual device is connected.
 32039  	Connected bool `xml:"connected" json:"connected"`
 32040  	// Link to the corresponding virtual device.
 32041  	DeviceConfigId int32 `xml:"deviceConfigId" json:"deviceConfigId"`
 32042  	// DNS configuration of the adapter.
 32043  	//
 32044  	// This property is set only when Guest OS supports it.
 32045  	// See `GuestStackInfo` dnsConfig for system wide
 32046  	// settings.
 32047  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 32048  	// IP configuration settings of the adapter
 32049  	// See `GuestStackInfo` ipStackConfig for system wide
 32050  	// settings.
 32051  	IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 32052  	// NetBIOS configuration of the adapter
 32053  	NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr" json:"netBIOSConfig,omitempty"`
 32054  }
 32055  
 32056  func init() {
 32057  	t["GuestNicInfo"] = reflect.TypeOf((*GuestNicInfo)(nil)).Elem()
 32058  }
 32059  
 32060  // The common base type for all guest operations faults.
 32061  type GuestOperationsFault struct {
 32062  	VimFault
 32063  }
 32064  
 32065  func init() {
 32066  	t["GuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem()
 32067  }
 32068  
 32069  type GuestOperationsFaultFault BaseGuestOperationsFault
 32070  
 32071  func init() {
 32072  	t["GuestOperationsFaultFault"] = reflect.TypeOf((*GuestOperationsFaultFault)(nil)).Elem()
 32073  }
 32074  
 32075  // A GuestOperationsUnavailable exception is thrown when an
 32076  // operation fails to contact the guest operations agent
 32077  // running inside the virtual machine.
 32078  type GuestOperationsUnavailable struct {
 32079  	GuestOperationsFault
 32080  }
 32081  
 32082  func init() {
 32083  	t["GuestOperationsUnavailable"] = reflect.TypeOf((*GuestOperationsUnavailable)(nil)).Elem()
 32084  }
 32085  
 32086  type GuestOperationsUnavailableFault GuestOperationsUnavailable
 32087  
 32088  func init() {
 32089  	t["GuestOperationsUnavailableFault"] = reflect.TypeOf((*GuestOperationsUnavailableFault)(nil)).Elem()
 32090  }
 32091  
 32092  // This data object type contains information to describe a
 32093  // particular guest operating system.
 32094  type GuestOsDescriptor struct {
 32095  	DynamicData
 32096  
 32097  	// Identifier (short name) for the guest operating system.
 32098  	Id string `xml:"id" json:"id"`
 32099  	// Family to which this guest operating system belongs.
 32100  	Family string `xml:"family" json:"family"`
 32101  	// Full name of the guest operating system.
 32102  	//
 32103  	// For example, if the value of "id" is "win2000Pro", then
 32104  	// the value of "fullName" is "Windows 2000 Professional".
 32105  	FullName string `xml:"fullName" json:"fullName"`
 32106  	// Maximum number of processors supported for this guest.
 32107  	SupportedMaxCPUs int32 `xml:"supportedMaxCPUs" json:"supportedMaxCPUs"`
 32108  	// Maximum number of sockets supported for this guest.
 32109  	NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty" json:"numSupportedPhysicalSockets,omitempty"`
 32110  	// Maximum number of cores per socket for this guest.
 32111  	NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty" json:"numSupportedCoresPerSocket,omitempty"`
 32112  	// Minimum memory requirements supported for this guest, in MB.
 32113  	SupportedMinMemMB int32 `xml:"supportedMinMemMB" json:"supportedMinMemMB"`
 32114  	// Maximum memory requirements supported for this guest, in MB.
 32115  	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB" json:"supportedMaxMemMB"`
 32116  	// Recommended default memory size for this guest, in MB.
 32117  	RecommendedMemMB int32 `xml:"recommendedMemMB" json:"recommendedMemMB"`
 32118  	// Recommended default color depth for this guest.
 32119  	RecommendedColorDepth int32 `xml:"recommendedColorDepth" json:"recommendedColorDepth"`
 32120  	// List of supported disk controller types for this guest.
 32121  	SupportedDiskControllerList []string `xml:"supportedDiskControllerList" json:"supportedDiskControllerList"`
 32122  	// Recommended default SCSI controller type for this guest.
 32123  	RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty" json:"recommendedSCSIController,omitempty"`
 32124  	// Recommended default disk controller type for this guest.
 32125  	RecommendedDiskController string `xml:"recommendedDiskController" json:"recommendedDiskController"`
 32126  	// Number of disks supported for this guest.
 32127  	SupportedNumDisks int32 `xml:"supportedNumDisks" json:"supportedNumDisks"`
 32128  	// Recommended default disk size for this guest, in MB.
 32129  	RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB" json:"recommendedDiskSizeMB"`
 32130  	// Recommended default CD-ROM type for this guest.
 32131  	RecommendedCdromController string `xml:"recommendedCdromController,omitempty" json:"recommendedCdromController,omitempty"`
 32132  	// List of supported ethernet cards for this guest.
 32133  	SupportedEthernetCard []string `xml:"supportedEthernetCard" json:"supportedEthernetCard"`
 32134  	// Recommended default ethernet controller type for this guest.
 32135  	RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty" json:"recommendedEthernetCard,omitempty"`
 32136  	// Flag to indicate whether or not this guest can support
 32137  	// a disk configured as a slave.
 32138  	SupportsSlaveDisk *bool `xml:"supportsSlaveDisk" json:"supportsSlaveDisk,omitempty"`
 32139  	// Specifies the CPU feature compatibility masks.
 32140  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 32141  	// Flag that indicates wether the guest requires an SMC (Apple hardware).
 32142  	//
 32143  	// This is logically equivalent to GuestOS = Mac OS
 32144  	SmcRequired *bool `xml:"smcRequired" json:"smcRequired,omitempty"`
 32145  	// Flag to indicate whether or not this guest can support Wake-on-LAN.
 32146  	SupportsWakeOnLan bool `xml:"supportsWakeOnLan" json:"supportsWakeOnLan"`
 32147  	// Flag indicating whether or not this guest supports the virtual
 32148  	// machine interface.
 32149  	SupportsVMI *bool `xml:"supportsVMI" json:"supportsVMI,omitempty"`
 32150  	// Whether the memory size for this guest can be changed
 32151  	// while the virtual machine is running.
 32152  	SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd" json:"supportsMemoryHotAdd,omitempty"`
 32153  	// Whether virtual CPUs can be added to this guest
 32154  	// while the virtual machine is running.
 32155  	SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd" json:"supportsCpuHotAdd,omitempty"`
 32156  	// Whether virtual CPUs can be removed from this guest
 32157  	// while the virtual machine is running.
 32158  	SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove" json:"supportsCpuHotRemove,omitempty"`
 32159  	// Supported firmware types for this guest.
 32160  	//
 32161  	// Possible values are described in
 32162  	// `GuestOsDescriptorFirmwareType_enum`
 32163  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
 32164  	// Recommended firmware type for this guest.
 32165  	//
 32166  	// Possible values are described in
 32167  	// `GuestOsDescriptorFirmwareType_enum`
 32168  	RecommendedFirmware string `xml:"recommendedFirmware,omitempty" json:"recommendedFirmware,omitempty"`
 32169  	// List of supported USB controllers for this guest.
 32170  	SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty" json:"supportedUSBControllerList,omitempty"`
 32171  	// Recommended default USB controller type for this guest.
 32172  	RecommendedUSBController string `xml:"recommendedUSBController,omitempty" json:"recommendedUSBController,omitempty"`
 32173  	// Whether this guest supports 3D graphics.
 32174  	Supports3D *bool `xml:"supports3D" json:"supports3D,omitempty"`
 32175  	// Recommended 3D graphics for this guest.
 32176  	Recommended3D *bool `xml:"recommended3D" json:"recommended3D,omitempty"`
 32177  	// Whether SMC (Apple hardware) is recommended for this guest.
 32178  	SmcRecommended *bool `xml:"smcRecommended" json:"smcRecommended,omitempty"`
 32179  	// Whether I/O Controller Hub is recommended for this guest.
 32180  	Ich7mRecommended *bool `xml:"ich7mRecommended" json:"ich7mRecommended,omitempty"`
 32181  	// Whether USB controller is recommended for this guest.
 32182  	UsbRecommended *bool `xml:"usbRecommended" json:"usbRecommended,omitempty"`
 32183  	// Support level of this Guest
 32184  	// Possible values are described in
 32185  	// `GuestOsDescriptorSupportLevel_enum`
 32186  	SupportLevel string `xml:"supportLevel,omitempty" json:"supportLevel,omitempty"`
 32187  	// Whether or not this guest should be allowed for selection
 32188  	// during virtual machine creation.
 32189  	SupportedForCreate *bool `xml:"supportedForCreate" json:"supportedForCreate,omitempty"`
 32190  	// Video RAM size limits supported by this guest, in KB.
 32191  	VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty" json:"vRAMSizeInKB,omitempty"`
 32192  	// Maximum number of floppies supported by this guest.
 32193  	NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty" json:"numSupportedFloppyDevices,omitempty"`
 32194  	// List of NICs supported by this guest that support Wake-On-Lan.
 32195  	WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty" json:"wakeOnLanEthernetCard,omitempty"`
 32196  	// Whether or not this guest can use pvscsi as boot adapter.
 32197  	SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot" json:"supportsPvscsiControllerForBoot,omitempty"`
 32198  	// Whether or not this guest should have disk uuid enabled by default.
 32199  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty"`
 32200  	// Whether or not this guest supports hot plug of PCI devices.
 32201  	SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI" json:"supportsHotPlugPCI,omitempty"`
 32202  	// Whether or not this guest supports Secure Boot.
 32203  	//
 32204  	// If some of the OS
 32205  	// releases that fall under this guest OS descriptor support Secure Boot, it
 32206  	// is reasonable to offer the ability to enable Secure Boot. Only
 32207  	// meaningful when virtual EFI firmware is in use.
 32208  	SupportsSecureBoot *bool `xml:"supportsSecureBoot" json:"supportsSecureBoot,omitempty"`
 32209  	// Whether or not Secure Boot should be enabled by default for this
 32210  	// guest OS.
 32211  	//
 32212  	// If all OS releases that fall under this guest OS descriptor
 32213  	// support Secure Boot and are known to operate correctly with Secure Boot
 32214  	// enabled, it is reasonable to enable it by default. Only meaningful when
 32215  	// virtual EFI firmware is in use.
 32216  	DefaultSecureBoot *bool `xml:"defaultSecureBoot" json:"defaultSecureBoot,omitempty"`
 32217  	// Support of persistent memory (virtual NVDIMM device).
 32218  	//
 32219  	// See also `VirtualNVDIMM`.
 32220  	PersistentMemorySupported *bool `xml:"persistentMemorySupported" json:"persistentMemorySupported,omitempty"`
 32221  	// Minimum persistent memory supported for this guest, in MB.
 32222  	SupportedMinPersistentMemoryMB int64 `xml:"supportedMinPersistentMemoryMB,omitempty" json:"supportedMinPersistentMemoryMB,omitempty"`
 32223  	// Maximum persistent memory supported for this guest, in MB.
 32224  	//
 32225  	// Total size of all the virtual NVDIMM devices should be less
 32226  	// than this value.
 32227  	SupportedMaxPersistentMemoryMB int64 `xml:"supportedMaxPersistentMemoryMB,omitempty" json:"supportedMaxPersistentMemoryMB,omitempty"`
 32228  	// Recommended default persistent memory size for this guest, in MB.
 32229  	RecommendedPersistentMemoryMB int64 `xml:"recommendedPersistentMemoryMB,omitempty" json:"recommendedPersistentMemoryMB,omitempty"`
 32230  	// Support of persistent memory hot-add operation.
 32231  	PersistentMemoryHotAddSupported *bool `xml:"persistentMemoryHotAddSupported" json:"persistentMemoryHotAddSupported,omitempty"`
 32232  	// Support of persistent memory hot-remove operation.
 32233  	PersistentMemoryHotRemoveSupported *bool `xml:"persistentMemoryHotRemoveSupported" json:"persistentMemoryHotRemoveSupported,omitempty"`
 32234  	// Support of virtual NVDIMM cold-growth operation.
 32235  	PersistentMemoryColdGrowthSupported *bool `xml:"persistentMemoryColdGrowthSupported" json:"persistentMemoryColdGrowthSupported,omitempty"`
 32236  	// Virtual NVDIMM cold-growth granularity in MB.
 32237  	PersistentMemoryColdGrowthGranularityMB int64 `xml:"persistentMemoryColdGrowthGranularityMB,omitempty" json:"persistentMemoryColdGrowthGranularityMB,omitempty"`
 32238  	// Support of virtual NVDIMM hot-growth operation.
 32239  	PersistentMemoryHotGrowthSupported *bool `xml:"persistentMemoryHotGrowthSupported" json:"persistentMemoryHotGrowthSupported,omitempty"`
 32240  	// Virtual NVDIMM hot-growth granularity in MB.
 32241  	PersistentMemoryHotGrowthGranularityMB int64 `xml:"persistentMemoryHotGrowthGranularityMB,omitempty" json:"persistentMemoryHotGrowthGranularityMB,omitempty"`
 32242  	// Recommended number of sockets for this guest.
 32243  	NumRecommendedPhysicalSockets int32 `xml:"numRecommendedPhysicalSockets,omitempty" json:"numRecommendedPhysicalSockets,omitempty"`
 32244  	// Recommended number of cores per socket for this guest.
 32245  	NumRecommendedCoresPerSocket int32 `xml:"numRecommendedCoresPerSocket,omitempty" json:"numRecommendedCoresPerSocket,omitempty"`
 32246  	// Support of Intel Virtualization Technology for Directed I/O.
 32247  	VvtdSupported *BoolOption `xml:"vvtdSupported,omitempty" json:"vvtdSupported,omitempty"`
 32248  	// Support of Virtualization-based security.
 32249  	VbsSupported *BoolOption `xml:"vbsSupported,omitempty" json:"vbsSupported,omitempty"`
 32250  	// Support for Intel Software Guard Extensions
 32251  	VsgxSupported *BoolOption `xml:"vsgxSupported,omitempty" json:"vsgxSupported,omitempty"`
 32252  	// Support for Intel Software Guard Extensions remote attestation.
 32253  	VsgxRemoteAttestationSupported *bool `xml:"vsgxRemoteAttestationSupported" json:"vsgxRemoteAttestationSupported,omitempty" vim:"8.0.0.1"`
 32254  	// Support for TPM 2.0.
 32255  	SupportsTPM20 *bool `xml:"supportsTPM20" json:"supportsTPM20,omitempty"`
 32256  	// Support for default vTPM
 32257  	RecommendedTPM20 *bool `xml:"recommendedTPM20" json:"recommendedTPM20,omitempty" vim:"8.0.0.1"`
 32258  	// Support for Virtual Watchdog Timer.
 32259  	VwdtSupported *bool `xml:"vwdtSupported" json:"vwdtSupported,omitempty"`
 32260  }
 32261  
 32262  func init() {
 32263  	t["GuestOsDescriptor"] = reflect.TypeOf((*GuestOsDescriptor)(nil)).Elem()
 32264  }
 32265  
 32266  // A GuestPermissionDenied exception is thrown when an
 32267  // operation fails because the authentication used
 32268  // is insufficient to perform the operation.
 32269  type GuestPermissionDenied struct {
 32270  	GuestOperationsFault
 32271  }
 32272  
 32273  func init() {
 32274  	t["GuestPermissionDenied"] = reflect.TypeOf((*GuestPermissionDenied)(nil)).Elem()
 32275  }
 32276  
 32277  type GuestPermissionDeniedFault GuestPermissionDenied
 32278  
 32279  func init() {
 32280  	t["GuestPermissionDeniedFault"] = reflect.TypeOf((*GuestPermissionDeniedFault)(nil)).Elem()
 32281  }
 32282  
 32283  // Different attributes for Posix guest file.
 32284  type GuestPosixFileAttributes struct {
 32285  	GuestFileAttributes
 32286  
 32287  	// The owner ID.
 32288  	//
 32289  	// If this property is not specified when passing a
 32290  	// `GuestPosixFileAttributes` object to
 32291  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32292  	// the default value will be the owner Id of the user who invoked
 32293  	// the file transfer operation.
 32294  	OwnerId *int32 `xml:"ownerId" json:"ownerId,omitempty"`
 32295  	// The group ID.
 32296  	//
 32297  	// If this property is not specified when passing a
 32298  	// `GuestPosixFileAttributes` object to
 32299  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32300  	// the default value will be the group Id of the user who invoked
 32301  	// the file transfer operation.
 32302  	GroupId *int32 `xml:"groupId" json:"groupId,omitempty"`
 32303  	// The file permissions.
 32304  	//
 32305  	// When creating a file with
 32306  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32307  	// these are in chmod(2) format. When reporting on
 32308  	// existing files, these are in stat(2) format.
 32309  	// If this property is not specified when passing a
 32310  	// `GuestPosixFileAttributes` object to
 32311  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32312  	// the file will be created with 0644 permissions.
 32313  	Permissions int64 `xml:"permissions,omitempty" json:"permissions,omitempty"`
 32314  }
 32315  
 32316  func init() {
 32317  	t["GuestPosixFileAttributes"] = reflect.TypeOf((*GuestPosixFileAttributes)(nil)).Elem()
 32318  }
 32319  
 32320  type GuestProcessInfo struct {
 32321  	DynamicData
 32322  
 32323  	// The process name
 32324  	Name string `xml:"name" json:"name"`
 32325  	// The process ID
 32326  	Pid int64 `xml:"pid" json:"pid"`
 32327  	// The process owner
 32328  	Owner string `xml:"owner" json:"owner"`
 32329  	// The full command line
 32330  	CmdLine string `xml:"cmdLine" json:"cmdLine"`
 32331  	// The start time of the process
 32332  	StartTime time.Time `xml:"startTime" json:"startTime"`
 32333  	// If the process was started using
 32334  	// `GuestProcessManager.StartProgramInGuest`
 32335  	// then the process completion time will be available if
 32336  	// queried within 5 minutes after it completes.
 32337  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 32338  	// If the process was started using
 32339  	// `GuestProcessManager.StartProgramInGuest`
 32340  	// then the process exit code will be available if
 32341  	// queried within 5 minutes after it completes.
 32342  	ExitCode int32 `xml:"exitCode,omitempty" json:"exitCode,omitempty"`
 32343  }
 32344  
 32345  func init() {
 32346  	t["GuestProcessInfo"] = reflect.TypeOf((*GuestProcessInfo)(nil)).Elem()
 32347  }
 32348  
 32349  // A GuestProcessNotFound exception is thrown when an
 32350  // operation fails because the guest process specified does not exist.
 32351  type GuestProcessNotFound struct {
 32352  	GuestOperationsFault
 32353  
 32354  	// The process ID that was not found.
 32355  	Pid int64 `xml:"pid" json:"pid"`
 32356  }
 32357  
 32358  func init() {
 32359  	t["GuestProcessNotFound"] = reflect.TypeOf((*GuestProcessNotFound)(nil)).Elem()
 32360  }
 32361  
 32362  type GuestProcessNotFoundFault GuestProcessNotFound
 32363  
 32364  func init() {
 32365  	t["GuestProcessNotFoundFault"] = reflect.TypeOf((*GuestProcessNotFoundFault)(nil)).Elem()
 32366  }
 32367  
 32368  // This describes the arguments to `GuestProcessManager.StartProgramInGuest`.
 32369  type GuestProgramSpec struct {
 32370  	DynamicData
 32371  
 32372  	// The absolute path to the program to start.
 32373  	//
 32374  	// For Linux guest operating systems, /bin/bash is used to start the
 32375  	// program.
 32376  	//
 32377  	// For Solaris guest operating systems, /bin/bash is used to start
 32378  	// the program if it exists.
 32379  	// Otherwise /bin/sh is used. If /bin/sh is used, then the process ID
 32380  	// returned by `GuestProcessManager.StartProgramInGuest` will be that of the shell used
 32381  	// to start the program, rather than the program itself, due to the
 32382  	// differences in how /bin/sh and /bin/bash work. This PID will
 32383  	// still be usable for watching the process with
 32384  	// `GuestProcessManager.ListProcessesInGuest` to
 32385  	// find its exit code and elapsed time.
 32386  	ProgramPath string `xml:"programPath" json:"programPath"`
 32387  	// The arguments to the program.
 32388  	//
 32389  	// In Linux and Solaris guest operating
 32390  	// systems, the program will be executed by a guest shell.
 32391  	// This allows stdio redirection, but may also
 32392  	// require that characters which must be escaped to the shell also
 32393  	// be escaped on the command line provided.
 32394  	//
 32395  	// For Windows guest operating systems, prefixing the command with
 32396  	// "cmd /c" can provide stdio redirection.
 32397  	Arguments string `xml:"arguments" json:"arguments"`
 32398  	// The absolute path of the working directory for the program to be
 32399  	// run.
 32400  	//
 32401  	// VMware recommends explicitly setting the working directory
 32402  	// for the program to be run. If this value is unset or is an empty
 32403  	// string, the behavior depends on the guest operating system.
 32404  	// For Linux guest operating systems, if this value is unset or is
 32405  	// an empty string, the working directory will be the home directory
 32406  	// of the user associated with the guest authentication.
 32407  	// For other guest operating systems, if this value is unset, the
 32408  	// behavior is unspecified.
 32409  	WorkingDirectory string `xml:"workingDirectory,omitempty" json:"workingDirectory,omitempty"`
 32410  	// An array of environment variables, specified
 32411  	// in the guest OS notation (eg PATH=c:\\bin;c:\\windows\\system32
 32412  	// or LD\_LIBRARY\_PATH=/usr/lib:/lib), to be set for the program
 32413  	// being run.
 32414  	//
 32415  	// Note that these are not additions to the default
 32416  	// environment variables; they define the complete set available to
 32417  	// the program. If none are specified the values are guest dependent.
 32418  	EnvVariables []string `xml:"envVariables,omitempty" json:"envVariables,omitempty"`
 32419  }
 32420  
 32421  func init() {
 32422  	t["GuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem()
 32423  }
 32424  
 32425  // This describes the registry key name.
 32426  type GuestRegKeyNameSpec struct {
 32427  	DynamicData
 32428  
 32429  	// The full path to a registry key.
 32430  	RegistryPath string `xml:"registryPath" json:"registryPath"`
 32431  	// The wow bitness, one of `GuestRegKeyWowSpec_enum`.
 32432  	WowBitness string `xml:"wowBitness" json:"wowBitness"`
 32433  }
 32434  
 32435  func init() {
 32436  	t["GuestRegKeyNameSpec"] = reflect.TypeOf((*GuestRegKeyNameSpec)(nil)).Elem()
 32437  }
 32438  
 32439  // This describes the registry key record.
 32440  type GuestRegKeyRecordSpec struct {
 32441  	DynamicData
 32442  
 32443  	// The key.
 32444  	Key GuestRegKeySpec `xml:"key" json:"key"`
 32445  	// Any error that occurred while trying to access this key.
 32446  	//
 32447  	// Presence of this fault indicates that a recursive listing failed to
 32448  	// open this key to find keys below it in the tree. This could be a
 32449  	// result of insufficient user permissions within the guest.
 32450  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 32451  }
 32452  
 32453  func init() {
 32454  	t["GuestRegKeyRecordSpec"] = reflect.TypeOf((*GuestRegKeyRecordSpec)(nil)).Elem()
 32455  }
 32456  
 32457  // This describes the registry key.
 32458  type GuestRegKeySpec struct {
 32459  	DynamicData
 32460  
 32461  	// The key name.
 32462  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 32463  	// The user-defined class type of this key.
 32464  	ClassType string `xml:"classType" json:"classType"`
 32465  	// Time stamp of last modification.
 32466  	LastWritten time.Time `xml:"lastWritten" json:"lastWritten"`
 32467  }
 32468  
 32469  func init() {
 32470  	t["GuestRegKeySpec"] = reflect.TypeOf((*GuestRegKeySpec)(nil)).Elem()
 32471  }
 32472  
 32473  // This describes the registry value binary.
 32474  type GuestRegValueBinarySpec struct {
 32475  	GuestRegValueDataSpec
 32476  
 32477  	// The data of the registry value.
 32478  	//
 32479  	// The Windows registry allows this type of value to exist without
 32480  	// having any data associated with it.
 32481  	Value []byte `xml:"value,omitempty" json:"value,omitempty"`
 32482  }
 32483  
 32484  func init() {
 32485  	t["GuestRegValueBinarySpec"] = reflect.TypeOf((*GuestRegValueBinarySpec)(nil)).Elem()
 32486  }
 32487  
 32488  // This describes the registry value data.
 32489  type GuestRegValueDataSpec struct {
 32490  	DynamicData
 32491  }
 32492  
 32493  func init() {
 32494  	t["GuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem()
 32495  }
 32496  
 32497  // This describes the registry value dword.
 32498  type GuestRegValueDwordSpec struct {
 32499  	GuestRegValueDataSpec
 32500  
 32501  	// The data of the registry value.
 32502  	Value int32 `xml:"value" json:"value"`
 32503  }
 32504  
 32505  func init() {
 32506  	t["GuestRegValueDwordSpec"] = reflect.TypeOf((*GuestRegValueDwordSpec)(nil)).Elem()
 32507  }
 32508  
 32509  // This describes the registry value expand string.
 32510  type GuestRegValueExpandStringSpec struct {
 32511  	GuestRegValueDataSpec
 32512  
 32513  	// The expanded (if applicable) data of the registry value.
 32514  	//
 32515  	// The Windows registry allows this type of value to exist without
 32516  	// having any data associated with it.
 32517  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 32518  }
 32519  
 32520  func init() {
 32521  	t["GuestRegValueExpandStringSpec"] = reflect.TypeOf((*GuestRegValueExpandStringSpec)(nil)).Elem()
 32522  }
 32523  
 32524  // This describes the registry value multi string.
 32525  type GuestRegValueMultiStringSpec struct {
 32526  	GuestRegValueDataSpec
 32527  
 32528  	// The data of the registry value.
 32529  	//
 32530  	// The Windows registry allows this type of value to exist without
 32531  	// having any data associated with it.
 32532  	Value []string `xml:"value,omitempty" json:"value,omitempty"`
 32533  }
 32534  
 32535  func init() {
 32536  	t["GuestRegValueMultiStringSpec"] = reflect.TypeOf((*GuestRegValueMultiStringSpec)(nil)).Elem()
 32537  }
 32538  
 32539  // This describes the registry value name.
 32540  type GuestRegValueNameSpec struct {
 32541  	DynamicData
 32542  
 32543  	// The key name that contains this value.
 32544  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 32545  	// The name of the value.
 32546  	Name string `xml:"name" json:"name"`
 32547  }
 32548  
 32549  func init() {
 32550  	t["GuestRegValueNameSpec"] = reflect.TypeOf((*GuestRegValueNameSpec)(nil)).Elem()
 32551  }
 32552  
 32553  // This describes the registry value qword.
 32554  type GuestRegValueQwordSpec struct {
 32555  	GuestRegValueDataSpec
 32556  
 32557  	// The data of the registry value.
 32558  	Value int64 `xml:"value" json:"value"`
 32559  }
 32560  
 32561  func init() {
 32562  	t["GuestRegValueQwordSpec"] = reflect.TypeOf((*GuestRegValueQwordSpec)(nil)).Elem()
 32563  }
 32564  
 32565  // This describes the registry value.
 32566  type GuestRegValueSpec struct {
 32567  	DynamicData
 32568  
 32569  	// The value name.
 32570  	Name GuestRegValueNameSpec `xml:"name" json:"name"`
 32571  	// The value data.
 32572  	//
 32573  	// Use one of the extended classes to specify data type:
 32574  	// `GuestRegValueDwordSpec`,
 32575  	// `GuestRegValueQwordSpec`,
 32576  	// `GuestRegValueStringSpec`,
 32577  	// `GuestRegValueExpandStringSpec`,
 32578  	// `GuestRegValueMultiStringSpec`,
 32579  	// `GuestRegValueBinarySpec`.
 32580  	Data BaseGuestRegValueDataSpec `xml:"data,typeattr" json:"data"`
 32581  }
 32582  
 32583  func init() {
 32584  	t["GuestRegValueSpec"] = reflect.TypeOf((*GuestRegValueSpec)(nil)).Elem()
 32585  }
 32586  
 32587  // This describes the registry value string.
 32588  type GuestRegValueStringSpec struct {
 32589  	GuestRegValueDataSpec
 32590  
 32591  	// The data of the registry value.
 32592  	//
 32593  	// The Windows registry allows this type of value to exist without
 32594  	// having any data associated with it.
 32595  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 32596  }
 32597  
 32598  func init() {
 32599  	t["GuestRegValueStringSpec"] = reflect.TypeOf((*GuestRegValueStringSpec)(nil)).Elem()
 32600  }
 32601  
 32602  // A GuestRegistryFault exception is thrown when an operation fails
 32603  // because of some errors in accessing/modifying the guest registry.
 32604  type GuestRegistryFault struct {
 32605  	GuestOperationsFault
 32606  
 32607  	// The windows system error number from GetLastError().
 32608  	WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode" json:"windowsSystemErrorCode"`
 32609  }
 32610  
 32611  func init() {
 32612  	t["GuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem()
 32613  }
 32614  
 32615  type GuestRegistryFaultFault BaseGuestRegistryFault
 32616  
 32617  func init() {
 32618  	t["GuestRegistryFaultFault"] = reflect.TypeOf((*GuestRegistryFaultFault)(nil)).Elem()
 32619  }
 32620  
 32621  // A GuestRegistryKeyAlreadyExists exception is thrown when an operation fails
 32622  // because the guest registry key specified already exists.
 32623  type GuestRegistryKeyAlreadyExists struct {
 32624  	GuestRegistryKeyFault
 32625  }
 32626  
 32627  func init() {
 32628  	t["GuestRegistryKeyAlreadyExists"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExists)(nil)).Elem()
 32629  }
 32630  
 32631  type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists
 32632  
 32633  func init() {
 32634  	t["GuestRegistryKeyAlreadyExistsFault"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExistsFault)(nil)).Elem()
 32635  }
 32636  
 32637  // A GuestRegistryKeyFault exception is thrown when an operation fails
 32638  // because of some errors in accessing/modifying a guest registry key.
 32639  type GuestRegistryKeyFault struct {
 32640  	GuestRegistryFault
 32641  
 32642  	// The full path to the windows registry key.
 32643  	KeyName string `xml:"keyName" json:"keyName"`
 32644  }
 32645  
 32646  func init() {
 32647  	t["GuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem()
 32648  }
 32649  
 32650  type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault
 32651  
 32652  func init() {
 32653  	t["GuestRegistryKeyFaultFault"] = reflect.TypeOf((*GuestRegistryKeyFaultFault)(nil)).Elem()
 32654  }
 32655  
 32656  // A GuestRegistryKeyHasSubkeys exception is thrown when an operation fails
 32657  // because the guest registry key has subkeys.
 32658  //
 32659  // If a delete on the key is
 32660  // desired, please use the recursive delete option.
 32661  type GuestRegistryKeyHasSubkeys struct {
 32662  	GuestRegistryKeyFault
 32663  }
 32664  
 32665  func init() {
 32666  	t["GuestRegistryKeyHasSubkeys"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeys)(nil)).Elem()
 32667  }
 32668  
 32669  type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys
 32670  
 32671  func init() {
 32672  	t["GuestRegistryKeyHasSubkeysFault"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeysFault)(nil)).Elem()
 32673  }
 32674  
 32675  // A GuestRegistryKeyInvalid exception is thrown when an operation fails
 32676  // because the guest registry key specified was not valid (most probably
 32677  // due to an invalid HKEY Root in the key path), or does not exist.
 32678  type GuestRegistryKeyInvalid struct {
 32679  	GuestRegistryKeyFault
 32680  }
 32681  
 32682  func init() {
 32683  	t["GuestRegistryKeyInvalid"] = reflect.TypeOf((*GuestRegistryKeyInvalid)(nil)).Elem()
 32684  }
 32685  
 32686  type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid
 32687  
 32688  func init() {
 32689  	t["GuestRegistryKeyInvalidFault"] = reflect.TypeOf((*GuestRegistryKeyInvalidFault)(nil)).Elem()
 32690  }
 32691  
 32692  // A GuestRegistryKeyParentVolatile exception is thrown when trying to create
 32693  // a non-volatile registry subkey under a volatile registry parent key.
 32694  type GuestRegistryKeyParentVolatile struct {
 32695  	GuestRegistryKeyFault
 32696  }
 32697  
 32698  func init() {
 32699  	t["GuestRegistryKeyParentVolatile"] = reflect.TypeOf((*GuestRegistryKeyParentVolatile)(nil)).Elem()
 32700  }
 32701  
 32702  type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile
 32703  
 32704  func init() {
 32705  	t["GuestRegistryKeyParentVolatileFault"] = reflect.TypeOf((*GuestRegistryKeyParentVolatileFault)(nil)).Elem()
 32706  }
 32707  
 32708  // A GuestRegistryValueFault exception is thrown when an operation fails
 32709  // because of some errors in accessing/modifying a guest registry value.
 32710  type GuestRegistryValueFault struct {
 32711  	GuestRegistryFault
 32712  
 32713  	// The full path to the windows registry key containing the value.
 32714  	KeyName string `xml:"keyName" json:"keyName"`
 32715  	// The name of the value.
 32716  	ValueName string `xml:"valueName" json:"valueName"`
 32717  }
 32718  
 32719  func init() {
 32720  	t["GuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem()
 32721  }
 32722  
 32723  type GuestRegistryValueFaultFault BaseGuestRegistryValueFault
 32724  
 32725  func init() {
 32726  	t["GuestRegistryValueFaultFault"] = reflect.TypeOf((*GuestRegistryValueFaultFault)(nil)).Elem()
 32727  }
 32728  
 32729  // A GuestRegistryValueNotFound exception is thrown when an operation fails
 32730  // because the guest registry Value specified was not found.
 32731  type GuestRegistryValueNotFound struct {
 32732  	GuestRegistryValueFault
 32733  }
 32734  
 32735  func init() {
 32736  	t["GuestRegistryValueNotFound"] = reflect.TypeOf((*GuestRegistryValueNotFound)(nil)).Elem()
 32737  }
 32738  
 32739  type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound
 32740  
 32741  func init() {
 32742  	t["GuestRegistryValueNotFoundFault"] = reflect.TypeOf((*GuestRegistryValueNotFoundFault)(nil)).Elem()
 32743  }
 32744  
 32745  // Screen settings
 32746  type GuestScreenInfo struct {
 32747  	DynamicData
 32748  
 32749  	// Width of the screen in pixels.
 32750  	Width int32 `xml:"width" json:"width"`
 32751  	// Height of the screen in pixels.
 32752  	Height int32 `xml:"height" json:"height"`
 32753  }
 32754  
 32755  func init() {
 32756  	t["GuestScreenInfo"] = reflect.TypeOf((*GuestScreenInfo)(nil)).Elem()
 32757  }
 32758  
 32759  // Information about the Internet Protocol stack
 32760  // as configured in the guest operating system.
 32761  type GuestStackInfo struct {
 32762  	DynamicData
 32763  
 32764  	// Client DNS configuration.
 32765  	//
 32766  	// How DNS queries are resolved.
 32767  	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 32768  	// IP route table configuration.
 32769  	IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 32770  	// Report Kernel IP configuration settings.
 32771  	//
 32772  	// The key part contains a unique number in the report.
 32773  	// The value part contains the 'key=value'
 32774  	// as provided by the underlying provider.
 32775  	// For example on Linux, BSD, the
 32776  	// systcl -a output would be reported as:
 32777  	// key='5', value='net.ipv4.tcp\_keepalive\_time = 7200'
 32778  	IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty" json:"ipStackConfig,omitempty"`
 32779  	// Client side DHCP for a given interface.
 32780  	//
 32781  	// This reports only the system wide dhcp client settings.
 32782  	// See NicInfo.IpConfig for per interface settings.
 32783  	// For example on Linux, BSD systems:
 32784  	// Using the file dhclient.conf output would be reported as:
 32785  	// key='1', value='timeout 60;'
 32786  	// key='2', value='reboot 10;'
 32787  	DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty" json:"dhcpConfig,omitempty"`
 32788  }
 32789  
 32790  func init() {
 32791  	t["GuestStackInfo"] = reflect.TypeOf((*GuestStackInfo)(nil)).Elem()
 32792  }
 32793  
 32794  // Different attributes for a Windows guest file.
 32795  type GuestWindowsFileAttributes struct {
 32796  	GuestFileAttributes
 32797  
 32798  	// The file is hidden.
 32799  	//
 32800  	// If this property is not specified when passing a
 32801  	// `GuestWindowsFileAttributes` object to
 32802  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32803  	// the file will not be set as a hidden file.
 32804  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
 32805  	// The file is read-only.
 32806  	//
 32807  	// If this property is not specified when passing a
 32808  	// `GuestWindowsFileAttributes` object to
 32809  	// `GuestFileManager.InitiateFileTransferToGuest`,
 32810  	// the file will not be set as a read-only file.
 32811  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
 32812  	// The date and time the file was created.
 32813  	//
 32814  	// This property gives information about files when returned from
 32815  	// `GuestFileManager.ListFilesInGuest` or
 32816  	// `GuestFileManager.InitiateFileTransferFromGuest`
 32817  	// as part of a `GuestWindowsFileAttributes`
 32818  	// object. This property will be ignored when passing a
 32819  	// `GuestWindowsFileAttributes` object to
 32820  	// `GuestFileManager.InitiateFileTransferToGuest` or
 32821  	// `GuestFileManager.ChangeFileAttributesInGuest`.
 32822  	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
 32823  }
 32824  
 32825  func init() {
 32826  	t["GuestWindowsFileAttributes"] = reflect.TypeOf((*GuestWindowsFileAttributes)(nil)).Elem()
 32827  }
 32828  
 32829  // This describes the arguments to `GuestProcessManager.StartProgramInGuest` that apply
 32830  // only for Windows guests.
 32831  type GuestWindowsProgramSpec struct {
 32832  	GuestProgramSpec
 32833  
 32834  	// Makes any program window start minimized.
 32835  	StartMinimized bool `xml:"startMinimized" json:"startMinimized"`
 32836  }
 32837  
 32838  func init() {
 32839  	t["GuestWindowsProgramSpec"] = reflect.TypeOf((*GuestWindowsProgramSpec)(nil)).Elem()
 32840  }
 32841  
 32842  // The destination compute resource is HA-enabled, and HA is not running
 32843  // properly.
 32844  //
 32845  // This will cause the following problems:
 32846  // 1\) The VM will not have HA protection.
 32847  // 2\) If this is an intracluster VMotion, HA will not be properly
 32848  // informed that the migration completed. This can have serious
 32849  // consequences to the functioning of HA.
 32850  type HAErrorsAtDest struct {
 32851  	MigrationFault
 32852  }
 32853  
 32854  func init() {
 32855  	t["HAErrorsAtDest"] = reflect.TypeOf((*HAErrorsAtDest)(nil)).Elem()
 32856  }
 32857  
 32858  type HAErrorsAtDestFault HAErrorsAtDest
 32859  
 32860  func init() {
 32861  	t["HAErrorsAtDestFault"] = reflect.TypeOf((*HAErrorsAtDestFault)(nil)).Elem()
 32862  }
 32863  
 32864  type HasMonitoredEntity HasMonitoredEntityRequestType
 32865  
 32866  func init() {
 32867  	t["HasMonitoredEntity"] = reflect.TypeOf((*HasMonitoredEntity)(nil)).Elem()
 32868  }
 32869  
 32870  // The parameters of `HealthUpdateManager.HasMonitoredEntity`.
 32871  type HasMonitoredEntityRequestType struct {
 32872  	This ManagedObjectReference `xml:"_this" json:"-"`
 32873  	// The provider id.
 32874  	ProviderId string `xml:"providerId" json:"providerId"`
 32875  	// An entity of type HostSystem.
 32876  	//
 32877  	// Refers instance of `ManagedEntity`.
 32878  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 32879  }
 32880  
 32881  func init() {
 32882  	t["HasMonitoredEntityRequestType"] = reflect.TypeOf((*HasMonitoredEntityRequestType)(nil)).Elem()
 32883  }
 32884  
 32885  type HasMonitoredEntityResponse struct {
 32886  	Returnval bool `xml:"returnval" json:"returnval"`
 32887  }
 32888  
 32889  type HasPrivilegeOnEntities HasPrivilegeOnEntitiesRequestType
 32890  
 32891  func init() {
 32892  	t["HasPrivilegeOnEntities"] = reflect.TypeOf((*HasPrivilegeOnEntities)(nil)).Elem()
 32893  }
 32894  
 32895  // The parameters of `AuthorizationManager.HasPrivilegeOnEntities`.
 32896  type HasPrivilegeOnEntitiesRequestType struct {
 32897  	This ManagedObjectReference `xml:"_this" json:"-"`
 32898  	// The set of entities on which the privileges are checked.
 32899  	//
 32900  	// Required privileges: System.Read
 32901  	//
 32902  	// Refers instances of `ManagedEntity`.
 32903  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 32904  	// The session ID to check privileges for. A sesssion ID can be
 32905  	// obtained from `UserSession.key`.
 32906  	SessionId string `xml:"sessionId" json:"sessionId"`
 32907  	// The array of privilege IDs to check.
 32908  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 32909  }
 32910  
 32911  func init() {
 32912  	t["HasPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntitiesRequestType)(nil)).Elem()
 32913  }
 32914  
 32915  type HasPrivilegeOnEntitiesResponse struct {
 32916  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32917  }
 32918  
 32919  type HasPrivilegeOnEntity HasPrivilegeOnEntityRequestType
 32920  
 32921  func init() {
 32922  	t["HasPrivilegeOnEntity"] = reflect.TypeOf((*HasPrivilegeOnEntity)(nil)).Elem()
 32923  }
 32924  
 32925  // The parameters of `AuthorizationManager.HasPrivilegeOnEntity`.
 32926  type HasPrivilegeOnEntityRequestType struct {
 32927  	This ManagedObjectReference `xml:"_this" json:"-"`
 32928  	// The entity on which the privileges are checked.
 32929  	//
 32930  	// Required privileges: System.Read
 32931  	//
 32932  	// Refers instance of `ManagedEntity`.
 32933  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 32934  	// The session ID to check privileges for. A sesssion ID can be
 32935  	// obtained from `UserSession.key`.
 32936  	SessionId string `xml:"sessionId" json:"sessionId"`
 32937  	// The array of privilege IDs to check.
 32938  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 32939  }
 32940  
 32941  func init() {
 32942  	t["HasPrivilegeOnEntityRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntityRequestType)(nil)).Elem()
 32943  }
 32944  
 32945  type HasPrivilegeOnEntityResponse struct {
 32946  	Returnval []bool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32947  }
 32948  
 32949  type HasProvider HasProviderRequestType
 32950  
 32951  func init() {
 32952  	t["HasProvider"] = reflect.TypeOf((*HasProvider)(nil)).Elem()
 32953  }
 32954  
 32955  // The parameters of `HealthUpdateManager.HasProvider`.
 32956  type HasProviderRequestType struct {
 32957  	This ManagedObjectReference `xml:"_this" json:"-"`
 32958  	// The provider id.
 32959  	Id string `xml:"id" json:"id"`
 32960  }
 32961  
 32962  func init() {
 32963  	t["HasProviderRequestType"] = reflect.TypeOf((*HasProviderRequestType)(nil)).Elem()
 32964  }
 32965  
 32966  type HasProviderResponse struct {
 32967  	Returnval bool `xml:"returnval" json:"returnval"`
 32968  }
 32969  
 32970  type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType
 32971  
 32972  func init() {
 32973  	t["HasUserPrivilegeOnEntities"] = reflect.TypeOf((*HasUserPrivilegeOnEntities)(nil)).Elem()
 32974  }
 32975  
 32976  // The parameters of `AuthorizationManager.HasUserPrivilegeOnEntities`.
 32977  type HasUserPrivilegeOnEntitiesRequestType struct {
 32978  	This ManagedObjectReference `xml:"_this" json:"-"`
 32979  	// are the managed objects to check privileges on. If they
 32980  	// refer to managed objects that are not managed entities
 32981  	// the privilege check will be done on the root folder.
 32982  	//
 32983  	// Required privileges: System.View
 32984  	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
 32985  	// is the name of the user to check privileges for. Both
 32986  	// UPN and PreWindows2000LogonName user name formats
 32987  	// are supported.
 32988  	UserName string `xml:"userName" json:"userName"`
 32989  	// is the set of privileges to check for
 32990  	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
 32991  }
 32992  
 32993  func init() {
 32994  	t["HasUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasUserPrivilegeOnEntitiesRequestType)(nil)).Elem()
 32995  }
 32996  
 32997  type HasUserPrivilegeOnEntitiesResponse struct {
 32998  	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
 32999  }
 33000  
 33001  // Describes a single HBR secondary disk migration action.
 33002  //
 33003  // The storage migration
 33004  // action applies either to a single disk or a set of secondary virtual disks.
 33005  type HbrDiskMigrationAction struct {
 33006  	ClusterAction
 33007  
 33008  	// HMS Service specific collection id
 33009  	CollectionId string `xml:"collectionId" json:"collectionId"`
 33010  	// HMS specific name of this collection
 33011  	CollectionName string `xml:"collectionName" json:"collectionName"`
 33012  	// HBR disk ids of secondary disks moved by this action
 33013  	DiskIds []string `xml:"diskIds" json:"diskIds"`
 33014  	// Source datastore.
 33015  	//
 33016  	// Refers instance of `Datastore`.
 33017  	Source ManagedObjectReference `xml:"source" json:"source"`
 33018  	// Destination datastore.
 33019  	//
 33020  	// Refers instance of `Datastore`.
 33021  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 33022  	// The amount of data to be transferred.
 33023  	//
 33024  	// Unit: KB.
 33025  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 33026  	// Space utilization on the source datastore before storage migration.
 33027  	//
 33028  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33029  	// If not set, the value is not available.
 33030  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 33031  	// Space utilization on the destination datastore before storage migration.
 33032  	//
 33033  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33034  	// If not set, the value is not available.
 33035  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 33036  	// Expected space utilization on the source datastore after storage migration.
 33037  	//
 33038  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33039  	// If not set, the value is not available.
 33040  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 33041  	// Expected space utilization on the destination datastore after storage migration.
 33042  	//
 33043  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 33044  	// If not set, the value is not available.
 33045  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 33046  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 33047  	//
 33048  	// I/O latency on the source datastore before storage migration.
 33049  	//
 33050  	// Unit: millisecond.
 33051  	// If not set, the value is not available.
 33052  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 33053  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 33054  	//
 33055  	// I/O latency on the destination datastore before storage migration.
 33056  	//
 33057  	// Unit: millisecond.
 33058  	// If not set, the value is not available.
 33059  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 33060  }
 33061  
 33062  func init() {
 33063  	t["HbrDiskMigrationAction"] = reflect.TypeOf((*HbrDiskMigrationAction)(nil)).Elem()
 33064  }
 33065  
 33066  // This data object represents the essential information about the
 33067  // state of a given replicated `VirtualMachine`.
 33068  type HbrManagerReplicationVmInfo struct {
 33069  	DynamicData
 33070  
 33071  	// A string representing the current `ReplicationVmState_enum` of the virtual machine.
 33072  	State string `xml:"state" json:"state"`
 33073  	// Progress stats for the current operation.
 33074  	//
 33075  	// Never present if the state is
 33076  	// not "syncing" or "active". If not present while in one of these states,
 33077  	// the host is still gathering initial operation statistics (progress can
 33078  	// be assumed to be 0).
 33079  	ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty" json:"progressInfo,omitempty"`
 33080  	// An optional imageId that identifies the instance being created,
 33081  	// this is the imagId string that is passed to
 33082  	// `HbrManager.HbrCreateInstance_Task` or
 33083  	// `HbrManager.HbrStartOfflineInstance_Task`
 33084  	ImageId string `xml:"imageId,omitempty" json:"imageId,omitempty"`
 33085  	// A MethodFault representing the last replication specific error
 33086  	// that the `VirtualMachine` encountered during a create
 33087  	// instance operation.
 33088  	//
 33089  	// The successful creation of an instance
 33090  	// will clear any error.
 33091  	LastError *LocalizedMethodFault `xml:"lastError,omitempty" json:"lastError,omitempty"`
 33092  }
 33093  
 33094  func init() {
 33095  	t["HbrManagerReplicationVmInfo"] = reflect.TypeOf((*HbrManagerReplicationVmInfo)(nil)).Elem()
 33096  }
 33097  
 33098  // This data object represents the capabilities of a given
 33099  // `VirtualMachine`.
 33100  type HbrManagerVmReplicationCapability struct {
 33101  	DynamicData
 33102  
 33103  	// Refers instance of `VirtualMachine`.
 33104  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 33105  	// A string representing the current `QuiesceMode_enum` of the virtual machine.
 33106  	SupportedQuiesceMode string `xml:"supportedQuiesceMode" json:"supportedQuiesceMode"`
 33107  	// Flag indicating compression support on the host on which this virtual
 33108  	// machine is running.
 33109  	CompressionSupported bool `xml:"compressionSupported" json:"compressionSupported"`
 33110  	// Maximum disk size supported (in bytes) on the host on which this virtual
 33111  	// machine is running.
 33112  	MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity" json:"maxSupportedSourceDiskCapacity"`
 33113  	// Minimum rpo supported (in minutes) on the host on which this virtual
 33114  	// machine is running.
 33115  	MinRpo int64 `xml:"minRpo,omitempty" json:"minRpo,omitempty"`
 33116  	// If we are unable to find the VM, we would set this to NotFound fault.
 33117  	//
 33118  	// And, if we are unable to find the host for a given VM, then we would
 33119  	// set this to HostNotReachable fault.
 33120  	// Unset if we are able to fetch the capabilities for the VM.
 33121  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 33122  }
 33123  
 33124  func init() {
 33125  	t["HbrManagerVmReplicationCapability"] = reflect.TypeOf((*HbrManagerVmReplicationCapability)(nil)).Elem()
 33126  }
 33127  
 33128  // Event used to report change in health status of VirtualCenter components.
 33129  type HealthStatusChangedEvent struct {
 33130  	Event
 33131  
 33132  	// Unique ID of the VirtualCenter component.
 33133  	ComponentId string `xml:"componentId" json:"componentId"`
 33134  	// Previous health status of the component.
 33135  	OldStatus string `xml:"oldStatus" json:"oldStatus"`
 33136  	// Current health status of the component.
 33137  	NewStatus string `xml:"newStatus" json:"newStatus"`
 33138  	// Component name.
 33139  	ComponentName string `xml:"componentName" json:"componentName"`
 33140  	// Service Id of component.
 33141  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
 33142  }
 33143  
 33144  func init() {
 33145  	t["HealthStatusChangedEvent"] = reflect.TypeOf((*HealthStatusChangedEvent)(nil)).Elem()
 33146  }
 33147  
 33148  // The system health runtime information
 33149  type HealthSystemRuntime struct {
 33150  	DynamicData
 33151  
 33152  	// Available system health information
 33153  	SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty" json:"systemHealthInfo,omitempty"`
 33154  	// Available hardware health information
 33155  	HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty" json:"hardwareStatusInfo,omitempty"`
 33156  }
 33157  
 33158  func init() {
 33159  	t["HealthSystemRuntime"] = reflect.TypeOf((*HealthSystemRuntime)(nil)).Elem()
 33160  }
 33161  
 33162  type HealthUpdate struct {
 33163  	DynamicData
 33164  
 33165  	// The entity on which the health update occurred.
 33166  	//
 33167  	// Only host is supported.
 33168  	//
 33169  	// Refers instance of `ManagedEntity`.
 33170  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 33171  	// The ID of the corresponding HealthUpdateInfo.
 33172  	HealthUpdateInfoId string `xml:"healthUpdateInfoId" json:"healthUpdateInfoId"`
 33173  	// The ID of this particular HealthUpdate instance, for cross-reference
 33174  	// with HealthUpdateProvider logs.
 33175  	Id string `xml:"id" json:"id"`
 33176  	// The current health status.
 33177  	//
 33178  	// Values are of type
 33179  	// `Status`.
 33180  	Status ManagedEntityStatus `xml:"status" json:"status"`
 33181  	// A description of the physical remediation required to resolve this
 33182  	// health update.
 33183  	//
 33184  	// For example, "Replace Fan #3".
 33185  	Remediation string `xml:"remediation" json:"remediation"`
 33186  }
 33187  
 33188  func init() {
 33189  	t["HealthUpdate"] = reflect.TypeOf((*HealthUpdate)(nil)).Elem()
 33190  }
 33191  
 33192  type HealthUpdateInfo struct {
 33193  	DynamicData
 33194  
 33195  	// The identifier provided by the HealthUpdateProvider.
 33196  	//
 33197  	// Identifiers are
 33198  	// required to be unique per HealthUpdateProvider.
 33199  	Id string `xml:"id" json:"id"`
 33200  	// The component type.
 33201  	//
 33202  	// For supported values, see `HealthUpdateInfoComponentType_enum`
 33203  	ComponentType string `xml:"componentType" json:"componentType"`
 33204  	// A description of the change in health.
 33205  	Description string `xml:"description" json:"description"`
 33206  }
 33207  
 33208  func init() {
 33209  	t["HealthUpdateInfo"] = reflect.TypeOf((*HealthUpdateInfo)(nil)).Elem()
 33210  }
 33211  
 33212  // An attempt to enable Enhanced VMotion Compatibility on a cluster has failed
 33213  // because the cluster contains CPUs from more than one vendor.
 33214  type HeterogenousHostsBlockingEVC struct {
 33215  	EVCConfigFault
 33216  }
 33217  
 33218  func init() {
 33219  	t["HeterogenousHostsBlockingEVC"] = reflect.TypeOf((*HeterogenousHostsBlockingEVC)(nil)).Elem()
 33220  }
 33221  
 33222  type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC
 33223  
 33224  func init() {
 33225  	t["HeterogenousHostsBlockingEVCFault"] = reflect.TypeOf((*HeterogenousHostsBlockingEVCFault)(nil)).Elem()
 33226  }
 33227  
 33228  // Data structure describing the access mode for a user or group.
 33229  type HostAccessControlEntry struct {
 33230  	DynamicData
 33231  
 33232  	// User or group having the described access mode.
 33233  	//
 33234  	// The format is "login" for local users or "DOMAIN\\login" for users
 33235  	// in a Windows domain.
 33236  	Principal string `xml:"principal" json:"principal"`
 33237  	// True if 'principal' describes a group account, false otherwise.
 33238  	Group bool `xml:"group" json:"group"`
 33239  	// Access mode for the principal.
 33240  	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
 33241  }
 33242  
 33243  func init() {
 33244  	t["HostAccessControlEntry"] = reflect.TypeOf((*HostAccessControlEntry)(nil)).Elem()
 33245  }
 33246  
 33247  // Fault thrown when an attempt is made to adjust resource settings
 33248  // directly on a host that is being managed by VC.
 33249  //
 33250  // VC is currently the
 33251  // source of truth for all resource pools on the host.
 33252  // Examples of methods affected by this are:
 33253  //   - create respool
 33254  //   - update respool
 33255  //   - change VM resource settings.
 33256  type HostAccessRestrictedToManagementServer struct {
 33257  	NotSupported
 33258  
 33259  	// Name/IP of the server currently managing this host.
 33260  	ManagementServer string `xml:"managementServer" json:"managementServer"`
 33261  }
 33262  
 33263  func init() {
 33264  	t["HostAccessRestrictedToManagementServer"] = reflect.TypeOf((*HostAccessRestrictedToManagementServer)(nil)).Elem()
 33265  }
 33266  
 33267  type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer
 33268  
 33269  func init() {
 33270  	t["HostAccessRestrictedToManagementServerFault"] = reflect.TypeOf((*HostAccessRestrictedToManagementServerFault)(nil)).Elem()
 33271  }
 33272  
 33273  // This data object type contains common parameters
 33274  // for local account creation.
 33275  //
 33276  // The password and description properties
 33277  // are not supported for group accounts on POSIX hosts.
 33278  type HostAccountSpec struct {
 33279  	DynamicData
 33280  
 33281  	// The ID of the specified account.
 33282  	Id string `xml:"id" json:"id"`
 33283  	// The password for a user or group.
 33284  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 33285  	// The description of the specified account.
 33286  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 33287  }
 33288  
 33289  func init() {
 33290  	t["HostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem()
 33291  }
 33292  
 33293  // The `HostActiveDirectory` data object contains
 33294  // Active Directory configuration information for an ESX host.
 33295  //
 33296  // The vSphere API supports Microsoft Active Directory management
 33297  // of authentication for ESX hosts. To integrate an ESX host
 33298  // into an Active Directory environment, you use an Active Directory
 33299  // account that has the authority to add a computer to a domain.
 33300  // The ESX Server locates the Active Directory domain controller.
 33301  // When you use the host profile to configure authentication
 33302  // for an ESX host, you specify the configuration operation (add or remove).
 33303  // To add the host to a domain, specify
 33304  // the domain, and the authorized Active Directory account user name and password.
 33305  // You do not need to specify these parameters to remove the host from a domain
 33306  // because the host has the information it needs to perform the operation.
 33307  // When you call `HostProfileManager.ApplyHostConfig_Task`
 33308  // to apply the configuration, the ESX Server will call the appropriate
 33309  // method (`HostActiveDirectoryAuthentication.JoinDomain_Task`
 33310  // or `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`)
 33311  // on your behalf.
 33312  //
 33313  // Before you call the method to apply the host profile, check to see that the
 33314  // `HostAuthenticationManager*.*HostAuthenticationManager.supportedStore`
 33315  // array contains a `HostActiveDirectoryAuthentication` object.
 33316  // The presence of the Active Directory authentication object indicates
 33317  // that a host is capable of joining a domain.
 33318  // However, if you try to add a host to a domain when the
 33319  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 33320  // property is <code>True</code>, the join method will throw a fault.
 33321  //
 33322  // As an alternative to using the host profile to configure Active Directory
 33323  // authentication for an ESX host, your vSphere client application can call
 33324  // the `HostActiveDirectoryAuthentication` join and leave methods directly
 33325  // to add the host to or remove the host from a domain.
 33326  //
 33327  // To take advantage of ESX host membership in an Active Directory domain,
 33328  // grant permissions on the ESX host to users and groups in Active Directory
 33329  // who should have direct access to management of the ESX host.
 33330  // Use the `UserDirectory*.*UserDirectory.RetrieveUserGroups`
 33331  // method to obtain information about Active Directory users and groups.
 33332  // After retrieving the Active Directory data, you can use the
 33333  // `AuthorizationManager*.*AuthorizationManager.SetEntityPermissions`
 33334  // method to set the `Permission.principal` property
 33335  // to the appropriate user or group.
 33336  //
 33337  // By default, the ESX host assigns the Administrator role to the "ESX Admins" group.
 33338  // If the group does not exist when the host joins the domain, the host will
 33339  // not assign the role. In this case, you must create the "ESX Admins"
 33340  // group in the Active Directory. The host will periodically check the domain controller
 33341  // for the group and will assign the role when the group exists.
 33342  type HostActiveDirectory struct {
 33343  	DynamicData
 33344  
 33345  	// Configuration change operation to apply to the host.
 33346  	//
 33347  	// You can specify
 33348  	// the following values:
 33349  	//   - `add`:
 33350  	//     Add the host to the domain. The ESX Server will use the
 33351  	//     `HostActiveDirectorySpec` information
 33352  	//     (domain, account user name and password) to call
 33353  	//     `HostActiveDirectoryAuthentication.JoinDomain_Task` and optionally
 33354  	//     configure smart card authentication by calling
 33355  	//     `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 33356  	//     and replacing the trust anchors with those provided.
 33357  	//   - `remove`:
 33358  	//     Remove the host from its current domain.
 33359  	//     The ESX Server will call
 33360  	//     `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`, specifying
 33361  	//     <code>True</code> for the <code>force</code> parameter to delete
 33362  	//     existing permissions.
 33363  	//     `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
 33364  	//     is also called if smart card authentication is enabled and trust
 33365  	//     anchors are removed.
 33366  	//
 33367  	// See also `HostConfigChangeOperation_enum`.
 33368  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 33369  	// Active Directory domain access information (domain and account
 33370  	// user name and password).
 33371  	Spec *HostActiveDirectorySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 33372  }
 33373  
 33374  func init() {
 33375  	t["HostActiveDirectory"] = reflect.TypeOf((*HostActiveDirectory)(nil)).Elem()
 33376  }
 33377  
 33378  // The `HostActiveDirectoryInfo` data object describes ESX host
 33379  // membership in an Active Directory domain.
 33380  //
 33381  // If the
 33382  // `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled`
 33383  // property is <code>True</code>, the host is a member of a domain
 33384  // and the ESX Server will set the domain information properties.
 33385  type HostActiveDirectoryInfo struct {
 33386  	HostDirectoryStoreInfo
 33387  
 33388  	// The domain that this host joined.
 33389  	JoinedDomain string `xml:"joinedDomain,omitempty" json:"joinedDomain,omitempty"`
 33390  	// List of domains with which the <code>joinedDomain</code> has a trust.
 33391  	//
 33392  	// The <code>joinedDomain</code> is not included in the
 33393  	// <code>trustedDomain</code> list.
 33394  	TrustedDomain []string `xml:"trustedDomain,omitempty" json:"trustedDomain,omitempty"`
 33395  	// Health information about the domain membership.
 33396  	//
 33397  	// See `HostActiveDirectoryInfoDomainMembershipStatus_enum`.
 33398  	DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty" json:"domainMembershipStatus,omitempty"`
 33399  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 33400  	//
 33401  	// Whether local smart card authentication is enabled.
 33402  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty"`
 33403  }
 33404  
 33405  func init() {
 33406  	t["HostActiveDirectoryInfo"] = reflect.TypeOf((*HostActiveDirectoryInfo)(nil)).Elem()
 33407  }
 33408  
 33409  // The `HostActiveDirectorySpec` data object defines
 33410  // properties for Active Directory domain access.
 33411  type HostActiveDirectorySpec struct {
 33412  	DynamicData
 33413  
 33414  	// Domain name.
 33415  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 33416  	// Name of an Active Directory account with the authority
 33417  	// to add a host to the domain.
 33418  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 33419  	// Password for the Active Directory account.
 33420  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 33421  	// If set, the CAM server will be used to join the domain
 33422  	// and the <code>userName</code> and <code>password</code> fields
 33423  	// will be ignored.
 33424  	CamServer string `xml:"camServer,omitempty" json:"camServer,omitempty"`
 33425  	// Thumbprint for the SSL certficate of CAM server
 33426  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
 33427  	// PEM-encoded certificate of the CAM server
 33428  	// This field replaces `HostActiveDirectorySpec.thumbprint`.
 33429  	//
 33430  	// If both `HostActiveDirectorySpec.thumbprint`
 33431  	// and `HostActiveDirectorySpec.certificate` fields are set, the `HostActiveDirectorySpec.thumbprint`
 33432  	// should match the `HostActiveDirectorySpec.certificate`.
 33433  	Certificate string `xml:"certificate,omitempty" json:"certificate,omitempty" vim:"8.0.3.0"`
 33434  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 33435  	//
 33436  	// Support smart card authentication of local users.
 33437  	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty"`
 33438  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 33439  	//
 33440  	// Trusted root certificates for smart cards.
 33441  	SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty" json:"smartCardTrustAnchors,omitempty"`
 33442  }
 33443  
 33444  func init() {
 33445  	t["HostActiveDirectorySpec"] = reflect.TypeOf((*HostActiveDirectorySpec)(nil)).Elem()
 33446  }
 33447  
 33448  // This event records that adding a host failed.
 33449  type HostAddFailedEvent struct {
 33450  	HostEvent
 33451  
 33452  	Hostname string `xml:"hostname" json:"hostname"`
 33453  }
 33454  
 33455  func init() {
 33456  	t["HostAddFailedEvent"] = reflect.TypeOf((*HostAddFailedEvent)(nil)).Elem()
 33457  }
 33458  
 33459  // This event records the addition of a host to VirtualCenter.
 33460  type HostAddedEvent struct {
 33461  	HostEvent
 33462  }
 33463  
 33464  func init() {
 33465  	t["HostAddedEvent"] = reflect.TypeOf((*HostAddedEvent)(nil)).Elem()
 33466  }
 33467  
 33468  // This event records that the permission on the host has been changed such
 33469  // that only the user account used for VirtualCenter operation will have
 33470  // Administrator permission.
 33471  type HostAdminDisableEvent struct {
 33472  	HostEvent
 33473  }
 33474  
 33475  func init() {
 33476  	t["HostAdminDisableEvent"] = reflect.TypeOf((*HostAdminDisableEvent)(nil)).Elem()
 33477  }
 33478  
 33479  // This event records that the administrator permission has been restored.
 33480  type HostAdminEnableEvent struct {
 33481  	HostEvent
 33482  }
 33483  
 33484  func init() {
 33485  	t["HostAdminEnableEvent"] = reflect.TypeOf((*HostAdminEnableEvent)(nil)).Elem()
 33486  }
 33487  
 33488  // The `HostApplyProfile` data object provides access to subprofiles
 33489  // that contain configuration data for different host capabilities.
 33490  //
 33491  // The Profile Engine will use any configuration data that you supply
 33492  // to overwrite the host configuration. See the `HostProfile.ExecuteHostProfile`
 33493  // and `HostProfileManager.ApplyHostConfig_Task` methods.
 33494  type HostApplyProfile struct {
 33495  	ApplyProfile
 33496  
 33497  	// Memory configuration for the host.
 33498  	//
 33499  	// This may not be valid for all versions of the host.
 33500  	Memory *HostMemoryProfile `xml:"memory,omitempty" json:"memory,omitempty"`
 33501  	// Host storage configuration.
 33502  	Storage *StorageProfile `xml:"storage,omitempty" json:"storage,omitempty"`
 33503  	// Network configuration.
 33504  	Network *NetworkProfile `xml:"network,omitempty" json:"network,omitempty"`
 33505  	// Date and time configuration.
 33506  	Datetime *DateTimeProfile `xml:"datetime,omitempty" json:"datetime,omitempty"`
 33507  	// Firewall configuration.
 33508  	Firewall *FirewallProfile `xml:"firewall,omitempty" json:"firewall,omitempty"`
 33509  	// Security Configuration of the host.
 33510  	//
 33511  	// The security subprofile can include data such as administrator passwords.
 33512  	Security *SecurityProfile `xml:"security,omitempty" json:"security,omitempty"`
 33513  	// Host configuration for services.
 33514  	//
 33515  	// Use the `ServiceProfile.key` property
 33516  	// to access a subprofile in the list.
 33517  	Service []ServiceProfile `xml:"service,omitempty" json:"service,omitempty"`
 33518  	// List of subprofiles representing advanced configuration options.
 33519  	//
 33520  	// Use the `OptionProfile.key` property to access a subprofile
 33521  	// in the list.
 33522  	Option []OptionProfile `xml:"option,omitempty" json:"option,omitempty"`
 33523  	// List of subprofiles for user accounts to be configured on the host.
 33524  	//
 33525  	// Use the `UserProfile.key` property to access a subprofile
 33526  	// in the list.
 33527  	UserAccount []UserProfile `xml:"userAccount,omitempty" json:"userAccount,omitempty"`
 33528  	// List of subprofiles for user groups to be configured on the host.
 33529  	//
 33530  	// Use the `UserGroupProfile.key` property to access a subprofile
 33531  	// in the list.
 33532  	UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty" json:"usergroupAccount,omitempty"`
 33533  	// Authentication Configuration.
 33534  	Authentication *AuthenticationProfile `xml:"authentication,omitempty" json:"authentication,omitempty"`
 33535  }
 33536  
 33537  func init() {
 33538  	t["HostApplyProfile"] = reflect.TypeOf((*HostApplyProfile)(nil)).Elem()
 33539  }
 33540  
 33541  // Data object indicating a device instance has been allocated to a VM.
 33542  type HostAssignableHardwareBinding struct {
 33543  	DynamicData
 33544  
 33545  	// Instance ID of assigned device.
 33546  	InstanceId string `xml:"instanceId" json:"instanceId"`
 33547  	// Virtual machine to which the device is assigned.
 33548  	//
 33549  	// Refers instance of `VirtualMachine`.
 33550  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 33551  }
 33552  
 33553  func init() {
 33554  	t["HostAssignableHardwareBinding"] = reflect.TypeOf((*HostAssignableHardwareBinding)(nil)).Elem()
 33555  }
 33556  
 33557  // The AssignableHardwareConfig data object describes properties
 33558  // of all assignable devices on the host.
 33559  type HostAssignableHardwareConfig struct {
 33560  	DynamicData
 33561  
 33562  	// List of attribute overrides.
 33563  	AttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"attributeOverride,omitempty" json:"attributeOverride,omitempty"`
 33564  }
 33565  
 33566  func init() {
 33567  	t["HostAssignableHardwareConfig"] = reflect.TypeOf((*HostAssignableHardwareConfig)(nil)).Elem()
 33568  }
 33569  
 33570  // An AttributeOverride provides a name-value pair that overrides
 33571  // for a particular instance node a configurable Attribute defined
 33572  // by that device.
 33573  type HostAssignableHardwareConfigAttributeOverride struct {
 33574  	DynamicData
 33575  
 33576  	// Instance ID of the Assignable Hardware instance node where
 33577  	// the attribute specified by name is overridden.
 33578  	InstanceId string `xml:"instanceId" json:"instanceId"`
 33579  	// Name of attribute to override.
 33580  	Name string `xml:"name" json:"name"`
 33581  	// When AssignableHardwareConfig is a returned data object:
 33582  	// Value returned will always be set.
 33583  	//
 33584  	// When AssignableHardwareConfig is used as a parameter to
 33585  	// an operation updating Assignable Hardware configuration:
 33586  	// If value is set, an existing AttributeOverride with matching
 33587  	// instanceId and name will have its value updated; if there is
 33588  	// no existing AttributeOverride that matches, a new
 33589  	// AttributeOverride is created. The type of the value must match
 33590  	// the type of the attribute value being overridden.
 33591  	// If value is not set, an existing AttributeOverride matching
 33592  	// the specified instanceId and name is deleted.
 33593  	Value AnyType `xml:"value,typeattr" json:"value"`
 33594  }
 33595  
 33596  func init() {
 33597  	t["HostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*HostAssignableHardwareConfigAttributeOverride)(nil)).Elem()
 33598  }
 33599  
 33600  // The `HostAuthenticationManagerInfo` data object provides
 33601  // access to authentication information for the ESX host.
 33602  type HostAuthenticationManagerInfo struct {
 33603  	DynamicData
 33604  
 33605  	// An array containing entries for local authentication and host
 33606  	// Active Directory authentication.
 33607  	//   - `HostLocalAuthenticationInfo` - Local authentication is always enabled.
 33608  	//   - `HostActiveDirectoryInfo` - Host Active Directory authentication information
 33609  	//     includes the name of the domain, membership status,
 33610  	//     and a list of other domains trusted by the membership domain.
 33611  	AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr" json:"authConfig"`
 33612  }
 33613  
 33614  func init() {
 33615  	t["HostAuthenticationManagerInfo"] = reflect.TypeOf((*HostAuthenticationManagerInfo)(nil)).Elem()
 33616  }
 33617  
 33618  // The `HostAuthenticationStoreInfo` base class defines status information
 33619  // for local and host Active Directory authentication.
 33620  type HostAuthenticationStoreInfo struct {
 33621  	DynamicData
 33622  
 33623  	// Indicates whether the authentication store is configured.
 33624  	//   - Host Active Directory authentication - <code>enabled</code>
 33625  	//     is <code>True</code> if the host is a member of a domain.
 33626  	//   - Local authentication - <code>enabled</code> is always <code>True</code>.
 33627  	Enabled bool `xml:"enabled" json:"enabled"`
 33628  }
 33629  
 33630  func init() {
 33631  	t["HostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem()
 33632  }
 33633  
 33634  // Contains the entire auto-start/auto-stop configuration.
 33635  type HostAutoStartManagerConfig struct {
 33636  	DynamicData
 33637  
 33638  	// System defaults for auto-start/auto-stop.
 33639  	Defaults *AutoStartDefaults `xml:"defaults,omitempty" json:"defaults,omitempty"`
 33640  	// Lists the auto-start/auto-stop configuration.
 33641  	//
 33642  	// If a virtual machine is not
 33643  	// mentioned in this array, it does not participate in auto-start/auto-stop
 33644  	// operations.
 33645  	PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty" json:"powerInfo,omitempty"`
 33646  }
 33647  
 33648  func init() {
 33649  	t["HostAutoStartManagerConfig"] = reflect.TypeOf((*HostAutoStartManagerConfig)(nil)).Elem()
 33650  }
 33651  
 33652  type HostBIOSInfo struct {
 33653  	DynamicData
 33654  
 33655  	// The current BIOS version of the physical chassis
 33656  	BiosVersion string `xml:"biosVersion,omitempty" json:"biosVersion,omitempty"`
 33657  	// The release date for the BIOS.
 33658  	ReleaseDate *time.Time `xml:"releaseDate" json:"releaseDate,omitempty"`
 33659  	// The vendor for the BIOS.
 33660  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 33661  	// BIOS Major Release
 33662  	MajorRelease int32 `xml:"majorRelease,omitempty" json:"majorRelease,omitempty"`
 33663  	// "BIOS Minor Release
 33664  	MinorRelease         int32 `xml:"minorRelease,omitempty" json:"minorRelease,omitempty"`
 33665  	FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty" json:"firmwareMajorRelease,omitempty"`
 33666  	// Embedded Controller Firmware Minor Release
 33667  	FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty" json:"firmwareMinorRelease,omitempty"`
 33668  	// Firmware Type of the host.
 33669  	//
 33670  	// The set of supported values is described
 33671  	// in `HostBIOSInfoFirmwareType_enum`
 33672  	FirmwareType string `xml:"firmwareType,omitempty" json:"firmwareType,omitempty" vim:"8.0.2.0"`
 33673  }
 33674  
 33675  func init() {
 33676  	t["HostBIOSInfo"] = reflect.TypeOf((*HostBIOSInfo)(nil)).Elem()
 33677  }
 33678  
 33679  // Block adapter transport information about a SCSI target.
 33680  type HostBlockAdapterTargetTransport struct {
 33681  	HostTargetTransport
 33682  }
 33683  
 33684  func init() {
 33685  	t["HostBlockAdapterTargetTransport"] = reflect.TypeOf((*HostBlockAdapterTargetTransport)(nil)).Elem()
 33686  }
 33687  
 33688  // This data object type describes the host bus adapter that
 33689  // provides block devices.
 33690  type HostBlockHba struct {
 33691  	HostHostBusAdapter
 33692  }
 33693  
 33694  func init() {
 33695  	t["HostBlockHba"] = reflect.TypeOf((*HostBlockHba)(nil)).Elem()
 33696  }
 33697  
 33698  // The `HostBootDevice` data object represents a boot device on the host system.
 33699  type HostBootDevice struct {
 33700  	DynamicData
 33701  
 33702  	// The identifier for the boot device.
 33703  	Key string `xml:"key" json:"key"`
 33704  	// The description of the boot device.
 33705  	Description string `xml:"description" json:"description"`
 33706  }
 33707  
 33708  func init() {
 33709  	t["HostBootDevice"] = reflect.TypeOf((*HostBootDevice)(nil)).Elem()
 33710  }
 33711  
 33712  // This data object represents the boot device information of the host.
 33713  type HostBootDeviceInfo struct {
 33714  	DynamicData
 33715  
 33716  	// The list of boot devices present on the host
 33717  	BootDevices []HostBootDevice `xml:"bootDevices,omitempty" json:"bootDevices,omitempty"`
 33718  	// The key of the current boot device that the host is configured to
 33719  	// boot.
 33720  	//
 33721  	// This property is unset if the current boot device is disabled.
 33722  	CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty" json:"currentBootDeviceKey,omitempty"`
 33723  }
 33724  
 33725  func init() {
 33726  	t["HostBootDeviceInfo"] = reflect.TypeOf((*HostBootDeviceInfo)(nil)).Elem()
 33727  }
 33728  
 33729  // Host solid state drive cache configuration information.
 33730  type HostCacheConfigurationInfo struct {
 33731  	DynamicData
 33732  
 33733  	// Datastore used for swap performance enhancements.
 33734  	//
 33735  	// Refers instance of `Datastore`.
 33736  	Key ManagedObjectReference `xml:"key" json:"key"`
 33737  	// Space allocated on this datastore to implement swap performance
 33738  	// enhancements, in MB.
 33739  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 33740  }
 33741  
 33742  func init() {
 33743  	t["HostCacheConfigurationInfo"] = reflect.TypeOf((*HostCacheConfigurationInfo)(nil)).Elem()
 33744  }
 33745  
 33746  // Host cache configuration specification.
 33747  type HostCacheConfigurationSpec struct {
 33748  	DynamicData
 33749  
 33750  	// Datastore used for swap performance enhancement.
 33751  	//
 33752  	// Refers instance of `Datastore`.
 33753  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 33754  	// Space to allocate on this datastore to implement swap performance
 33755  	// enhancements, in MB.
 33756  	//
 33757  	// This value should be less or equal to free space
 33758  	// capacity on the datastore `DatastoreSummary.freeSpace`.
 33759  	SwapSize int64 `xml:"swapSize" json:"swapSize"`
 33760  }
 33761  
 33762  func init() {
 33763  	t["HostCacheConfigurationSpec"] = reflect.TypeOf((*HostCacheConfigurationSpec)(nil)).Elem()
 33764  }
 33765  
 33766  // Specifies the capabilities of the particular host.
 33767  //
 33768  // This set of
 33769  // capabilities is referenced in other parts of the API specification
 33770  // to indicate under what circumstances an API will throw a
 33771  // `NotSupported` fault.
 33772  type HostCapability struct {
 33773  	DynamicData
 33774  
 33775  	RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported" json:"recursiveResourcePoolsSupported"`
 33776  	// Flag indicating whether cpu and memory resource configuration is
 33777  	// supported.
 33778  	//
 33779  	// If this is set to false,
 33780  	// `ResourcePool.UpdateConfig`,
 33781  	// `ResourcePool.UpdateChildResourceConfiguration`
 33782  	// cannot be used for changing the cpu/memory resource configurations.
 33783  	CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported" json:"cpuMemoryResourceConfigurationSupported"`
 33784  	// Flag indicating whether rebooting the host is supported.
 33785  	RebootSupported bool `xml:"rebootSupported" json:"rebootSupported"`
 33786  	// Flag indicating whether the host can be powered off
 33787  	ShutdownSupported bool `xml:"shutdownSupported" json:"shutdownSupported"`
 33788  	// Flag indicating whether you can perform VMotion.
 33789  	VmotionSupported bool `xml:"vmotionSupported" json:"vmotionSupported"`
 33790  	// Flag indicating whether you can put the host in a power down
 33791  	// state, from which it can be powered up automatically.
 33792  	StandbySupported bool `xml:"standbySupported" json:"standbySupported"`
 33793  	// Flag indicating whether the host supports
 33794  	// IPMI (Intelligent Platform Management Interface).
 33795  	//
 33796  	// XXX - Make ipmiSupported optional until there is a compatible hostagent.
 33797  	IpmiSupported *bool `xml:"ipmiSupported" json:"ipmiSupported,omitempty"`
 33798  	// The maximum number of virtual machines that can exist on this host.
 33799  	//
 33800  	// If this capability is not set, the number of virtual machines is
 33801  	// unlimited.
 33802  	MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty" json:"maxSupportedVMs,omitempty"`
 33803  	// The maximum number of virtual machines that can be running
 33804  	// simultaneously on this host.
 33805  	//
 33806  	// If this capability is not set, the number of virtual machines
 33807  	// running simultaneously is unlimited.
 33808  	MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty" json:"maxRunningVMs,omitempty"`
 33809  	// The maximum number of virtual CPUs supported per virtual machine.
 33810  	//
 33811  	// If this capability is not set, the number is unlimited.
 33812  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty" json:"maxSupportedVcpus,omitempty"`
 33813  	// The maximum number of registered virtual machines supported by
 33814  	// the host.
 33815  	//
 33816  	// If this limit is exceeded, the management agent will be
 33817  	// at risk of running out of system resources. `configIssue` will be posted on
 33818  	// `HostSystem` in this case.
 33819  	//
 33820  	// If this capability is not set, the number is unknown.
 33821  	MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty" json:"maxRegisteredVMs,omitempty"`
 33822  	// Flag indicating whether datastore principal user
 33823  	// is supported on the host.
 33824  	DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported" json:"datastorePrincipalSupported"`
 33825  	// Flag indicating whether access to SAN devices is supported.
 33826  	SanSupported bool `xml:"sanSupported" json:"sanSupported"`
 33827  	// Is access to NFS devices supported.
 33828  	NfsSupported bool `xml:"nfsSupported" json:"nfsSupported"`
 33829  	// Is access to iSCSI devices supported.
 33830  	IscsiSupported bool `xml:"iscsiSupported" json:"iscsiSupported"`
 33831  	// Is VLAN Tagging supported.
 33832  	VlanTaggingSupported bool `xml:"vlanTaggingSupported" json:"vlanTaggingSupported"`
 33833  	// Is NIC teaming supported.
 33834  	NicTeamingSupported bool `xml:"nicTeamingSupported" json:"nicTeamingSupported"`
 33835  	// Is high guest memory supported.
 33836  	HighGuestMemSupported bool `xml:"highGuestMemSupported" json:"highGuestMemSupported"`
 33837  	// Is maintenance mode supported
 33838  	MaintenanceModeSupported bool `xml:"maintenanceModeSupported" json:"maintenanceModeSupported"`
 33839  	// Indicates whether this host supports relocation of
 33840  	// suspended virtual machines.
 33841  	//
 33842  	// Must be true on the source
 33843  	// and destination hosts for the relocation to work.
 33844  	SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported" json:"suspendedRelocateSupported"`
 33845  	// Indicates whether this host supports relocation of
 33846  	// virtual machines with snapshots.
 33847  	//
 33848  	// Must be true on the
 33849  	// source and destination hosts for the relocation to work.
 33850  	// Even if this is true, the following conditions must hold:
 33851  	// 1\) All the the vm's files are in one directory prior
 33852  	// to the relocate.
 33853  	// 2\) All of the vm's files will be in one directory
 33854  	// after the relocate.
 33855  	// 3\) The source and destination hosts are the same product
 33856  	// version.
 33857  	RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported" json:"restrictedSnapshotRelocateSupported"`
 33858  	// Flag indicating whether virtual machine execution on this host involves
 33859  	// a swapfile for each virtual machine.
 33860  	//
 33861  	// If true, the swapfile placement
 33862  	// for a powered-on virtual machine is advertised in its FileLayout by
 33863  	// the `swapFile` property.
 33864  	PerVmSwapFiles bool `xml:"perVmSwapFiles" json:"perVmSwapFiles"`
 33865  	// Flag indicating whether the host supports selecting a datastore that
 33866  	// that may be used to store virtual machine swapfiles.
 33867  	LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported" json:"localSwapDatastoreSupported"`
 33868  	// Flag indicating whether the host supports participating in a VMotion
 33869  	// where the virtual machine swapfile is not visible to the destination.
 33870  	UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported" json:"unsharedSwapVMotionSupported"`
 33871  	// Flag indicating whether background snapshots are supported on this host.
 33872  	BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported" json:"backgroundSnapshotsSupported"`
 33873  	// Flag to indicate whether the server returns unit numbers in a
 33874  	// pre-assigned range for devices on the PCI bus.
 33875  	//
 33876  	// When the server supports this flag, the device unit number namespace is
 33877  	// partitioned by device type. Different types of devices will sit in
 33878  	// a specific range of unit numbers that may not correspond to physical
 33879  	// slots in the pci bus but present a relative ordering of the devices
 33880  	// with respect to other devices of the same type.
 33881  	// Note that this does not mean that the user can set the relative ordering
 33882  	// between device types, but only allows stable orderings between devices
 33883  	// of the same type. The unit number will now clearly represent an ordering
 33884  	// between devices of the same type.
 33885  	// `VirtualDevice.unitNumber`
 33886  	// This property is only available for devices on the pci controller.
 33887  	PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported" json:"preAssignedPCIUnitNumbersSupported"`
 33888  	// Indicates whether the screenshot retrival over https is supported for this host's
 33889  	// virtual machines.
 33890  	//
 33891  	// If true, a screenshot can be retrieved at the HTTPS relative path
 33892  	// _/screen?id=&lt;managed object ID of virtual machine or snapshot&gt;_.
 33893  	// If any of the optional parameters 'top', 'left', 'bottom', and 'right' is
 33894  	// specified, the returned image will be cropped from the rectangle with upper left
 33895  	// corner (left, top) and bottom right corner (right - 1, bottom - 1). These values
 33896  	// default to the top, left, bottom and right edges of the image.
 33897  	// The client must use an authenticated session with privilege
 33898  	// VirtualMachine.Interact.ConsoleInteract on the requested virtual machine or,
 33899  	// in the case of a snapshot, the virtual machine associated with that snapshot.
 33900  	ScreenshotSupported bool `xml:"screenshotSupported" json:"screenshotSupported"`
 33901  	// Indicates whether scaling is supported for screenshots retrieved over https.
 33902  	//
 33903  	// If true, screenshot retrieval supports the additional optional
 33904  	// parameters 'width' and 'height'. After cropping, the returned image will be scaled
 33905  	// to these dimensions. If only one of these parameters is specified, default behavior
 33906  	// is to return an image roughly proportional to the source image.
 33907  	ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported" json:"scaledScreenshotSupported"`
 33908  	// Indicates whether the storage of a powered-on virtual machine may be
 33909  	// relocated.
 33910  	StorageVMotionSupported *bool `xml:"storageVMotionSupported" json:"storageVMotionSupported,omitempty"`
 33911  	// Indicates whether the storage of a powered-on virtual machine may be
 33912  	// relocated while simultaneously changing the execution host of the
 33913  	// virtual machine.
 33914  	VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported" json:"vmotionWithStorageVMotionSupported,omitempty"`
 33915  	// Indicates whether the network of a powered-on virtual machine can be
 33916  	// changed while simultaneously changing the execution host of the
 33917  	// virtual machine.
 33918  	VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported" json:"vmotionAcrossNetworkSupported,omitempty"`
 33919  	// Maximum number of migrating disks allowed of a migrating VM during SVMotion.
 33920  	//
 33921  	// If this capability is not set, then the maximum is considered to be 64.
 33922  	MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty" json:"maxNumDisksSVMotion,omitempty"`
 33923  	// Maximum version of vDiskVersion supported by this host.
 33924  	//
 33925  	// If this capability is not set, then the maximum is considered to be 6.
 33926  	MaxVirtualDiskDescVersionSupported int32 `xml:"maxVirtualDiskDescVersionSupported,omitempty" json:"maxVirtualDiskDescVersionSupported,omitempty" vim:"8.0.1.0"`
 33927  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 33928  	// LWD traffic, i.e., from the primary host to the VR server.
 33929  	HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported" json:"hbrNicSelectionSupported,omitempty"`
 33930  	// Indicates whether a dedicated nic can be selected for vSphere Replication
 33931  	// NFC traffic, i.e., from the VR server to the secondary host.
 33932  	VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported" json:"vrNfcNicSelectionSupported,omitempty"`
 33933  	// Deprecated as of vSphere API 6.0.
 33934  	//
 33935  	// Indicates whether this host supports record and replay
 33936  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty"`
 33937  	// Deprecated as of vSphere API 6.0.
 33938  	//
 33939  	// Indicates whether this host supports Fault Tolerance
 33940  	// There can be many reasons why a host does not support Fault
 33941  	// Tolerance, which includes CPU compatibility, product
 33942  	// compatibility as well as other host configuration settings.
 33943  	//
 33944  	// For specific reasons, look into
 33945  	// `HostCapability.replayCompatibilityIssues` and
 33946  	// `HostCapability.ftCompatibilityIssues`
 33947  	// In releases after vSphere API 5.0, vSphere Servers might not
 33948  	// generate property collector update notifications for this property.
 33949  	// To obtain the latest value of the property, you can use
 33950  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 33951  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 33952  	// an empty string for the version parameter.
 33953  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 33954  	// contain values for this property when some other property on the DataObject changes.
 33955  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 33956  	// version parameter, the value for this property may not be current.
 33957  	FtSupported *bool `xml:"ftSupported" json:"ftSupported,omitempty"`
 33958  	// Deprecated as of vSphere API 4.1, use
 33959  	// `HostCapability.replayCompatibilityIssues`.
 33960  	//
 33961  	// For a host whose CPU doesn't support replay, indicates the reason
 33962  	// for the incompatibility.
 33963  	//
 33964  	// `HostReplayUnsupportedReason_enum`
 33965  	// represents the set of possible values.
 33966  	ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty" json:"replayUnsupportedReason,omitempty"`
 33967  	// Deprecated as of vSphere API 6.0.
 33968  	//
 33969  	// For a host which doesn't support replay, indicates all the reasons
 33970  	// for the incompatibility.
 33971  	//
 33972  	// `HostReplayUnsupportedReason_enum`
 33973  	// lists the set of possible values.
 33974  	ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty" json:"replayCompatibilityIssues,omitempty"`
 33975  	// Indicates whether this host supports smp fault tolerance
 33976  	SmpFtSupported *bool `xml:"smpFtSupported" json:"smpFtSupported,omitempty"`
 33977  	// Deprecated as of vSphere API 6.0.
 33978  	//
 33979  	// For a host which doesn't support Fault Tolerance, indicates all the reasons
 33980  	// for the incompatibility.
 33981  	//
 33982  	// `HostCapabilityFtUnsupportedReason_enum`
 33983  	// lists the set of possible values.
 33984  	FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty" json:"ftCompatibilityIssues,omitempty"`
 33985  	// For a host which doesn't support smp fault tolerance, indicates all the
 33986  	// reasons for the incompatibility.
 33987  	//
 33988  	// `HostCapabilityFtUnsupportedReason_enum` lists the set of possible
 33989  	// values.
 33990  	SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty" json:"smpFtCompatibilityIssues,omitempty"`
 33991  	// The maximum number of vCPUs allowed for a fault-tolerant virtual machine.
 33992  	MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty" json:"maxVcpusPerFtVm,omitempty"`
 33993  	// Flag indicating whether this host supports SSL thumbprint authentication
 33994  	LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported" json:"loginBySSLThumbprintSupported,omitempty"`
 33995  	// Indicates whether or not cloning a virtual machine from a snapshot
 33996  	// point is allowed.
 33997  	//
 33998  	// This property must be true on the host where the virtual machine
 33999  	// is currently residing. This property need not be true on the
 34000  	// destination host for the clone.
 34001  	//
 34002  	// See also `VirtualMachineCloneSpec.snapshot`.
 34003  	CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported" json:"cloneFromSnapshotSupported,omitempty"`
 34004  	// Flag indicating whether explicitly creating arbirary configurations of
 34005  	// delta disk backings is supported.
 34006  	//
 34007  	// A delta disk backing is a way to preserve a virtual disk backing
 34008  	// at some point in time. A delta disk backing is a file backing which in
 34009  	// turn points to the original virtual disk backing (the parent). After a delta
 34010  	// disk backing is added, all writes go to the delta disk backing. All reads
 34011  	// first try the delta disk backing and then try the parent backing if needed.
 34012  	//
 34013  	// If this property is false, then delta disk backings can only be implicitly
 34014  	// created through using snapshot operations and two virtual machines cannot
 34015  	// safely share a parent disk backing.
 34016  	//
 34017  	// If this property is true, then delta disk backings can be explicitly created
 34018  	// and managed, and two virtual machines may safely share a parent disk backing.
 34019  	//
 34020  	// In the context above, "safely" means that performing operations on one of the
 34021  	// virtual machines will not affect the operation of the other virtual machine.
 34022  	//
 34023  	// See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachine.PromoteDisks_Task`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 34024  	DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported" json:"deltaDiskBackingsSupported,omitempty"`
 34025  	// Indicates whether network traffic shaping on a
 34026  	// per virtual machine basis is supported.
 34027  	PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported" json:"perVMNetworkTrafficShapingSupported,omitempty"`
 34028  	// Flag indicating whether this host supports the integrity measurement using
 34029  	// a TPM device.
 34030  	TpmSupported *bool `xml:"tpmSupported" json:"tpmSupported,omitempty"`
 34031  	// TPM version if supported by this host.
 34032  	TpmVersion string `xml:"tpmVersion,omitempty" json:"tpmVersion,omitempty"`
 34033  	// Flag indicating whether Intel TXT is enabled on this host.
 34034  	//
 34035  	// TPM attestation may be used to definitively determine the Intel TXT
 34036  	// Measured Launch Environment (MLE) details.
 34037  	TxtEnabled *bool `xml:"txtEnabled" json:"txtEnabled,omitempty"`
 34038  	// Deprecated as of vSphere API 6.5 use
 34039  	// `featureCapability`.
 34040  	//
 34041  	// CPU feature set that is supported by the virtualization platform.
 34042  	//
 34043  	// This
 34044  	// feature set may reflect characteristics of the product capabilities and
 34045  	// licensing. For any feature marked '-', reference the
 34046  	// `cpuFeature` array of the host's
 34047  	// HardwareInfo to determine the correct value.
 34048  	SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty" json:"supportedCpuFeature,omitempty"`
 34049  	// Indicates whether the host supports configuring hardware
 34050  	// virtualization (HV) support for virtual machines.
 34051  	VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported" json:"virtualExecUsageSupported,omitempty"`
 34052  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 34053  	//
 34054  	// Indicates whether the host supports storage I/O resource
 34055  	// management.
 34056  	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty"`
 34057  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34058  	// there is no replacement.
 34059  	//
 34060  	// Indicates whether the host supports network passthrough using
 34061  	// VMDirectPath Gen 2.
 34062  	//
 34063  	// Note that this is a general capability for the host
 34064  	// and is independent of support by a given physical NIC. If false, the
 34065  	// reason(s) for lack of support will be provided in
 34066  	// `HostCapability.vmDirectPathGen2UnsupportedReason` and/or in
 34067  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended`.
 34068  	//
 34069  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
 34070  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 34071  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34072  	// there is no replacement.
 34073  	//
 34074  	// If `HostCapability.vmDirectPathGen2Supported` is false, this array will be
 34075  	// populated with reasons for the lack of support (chosen from
 34076  	// `HostCapabilityVmDirectPathGen2UnsupportedReason_enum`).
 34077  	//
 34078  	// If there is a reason for
 34079  	// the lack of support that cannot be described by the available constants,
 34080  	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended` will be populated
 34081  	// with an additional explanation provided by the platform.
 34082  	//
 34083  	// Note that this list of reasons is not guaranteed to be exhaustive.
 34084  	//
 34085  	// If the reason "hostNptIncompatibleProduct" is provided, then that will
 34086  	// be the only provided reason, as the host software is incapable of
 34087  	// providing additional information.
 34088  	VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty" json:"vmDirectPathGen2UnsupportedReason,omitempty"`
 34089  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 34090  	// there is no replacement.
 34091  	//
 34092  	// If `HostCapability.vmDirectPathGen2Supported` is false, this property may
 34093  	// contain an explanation provided by the platform, beyond the reasons (if
 34094  	// any) enumerated in `HostCapability.vmDirectPathGen2UnsupportedReason`.
 34095  	VmDirectPathGen2UnsupportedReasonExtended string `xml:"vmDirectPathGen2UnsupportedReasonExtended,omitempty" json:"vmDirectPathGen2UnsupportedReasonExtended,omitempty"`
 34096  	// List of VMFS major versions supported by the host.
 34097  	SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty" json:"supportedVmfsMajorVersion,omitempty"`
 34098  	// Indicates whether the host supports vStorage Hardware
 34099  	// acceleration.
 34100  	VStorageCapable *bool `xml:"vStorageCapable" json:"vStorageCapable,omitempty"`
 34101  	// Indicates whether this host supports unrestricted relocation of virtual
 34102  	// machines with snapshots.
 34103  	//
 34104  	// Only needs to be true on the destination host for
 34105  	// the unrestricted relocation to work. The full snapshot relocation does not
 34106  	// restrict the layout of snapshot files or disks of the virtual machine, nor
 34107  	// its power state. If the virtual machine is powered on, a storage vmotion
 34108  	// will be performed to relocate its snapshots and disks.
 34109  	SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported" json:"snapshotRelayoutSupported,omitempty"`
 34110  	// Indicates whether this host supports ip address based restrictions in
 34111  	// the firewall configuration.
 34112  	FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported" json:"firewallIpRulesSupported,omitempty"`
 34113  	// Indicates whether this host supports package information in service
 34114  	// configuration.
 34115  	ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported" json:"servicePackageInfoSupported,omitempty"`
 34116  	// The maximum number of virtual machines that can be run on the host.
 34117  	//
 34118  	// An unset value indicates that the value could not be obtained. In contrast
 34119  	// to `HostCapability.maxRunningVMs`, this value is the minimum of (i) the maximum
 34120  	// number supported by the hardware and (ii) the maximum number permitted by
 34121  	// the host license.
 34122  	MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty" json:"maxHostRunningVms,omitempty"`
 34123  	// The maximum number of virtual CPUs that can be run on the host.
 34124  	//
 34125  	// An unset
 34126  	// value indicates that the value could not be obtained. In contrast to
 34127  	// `HostCapability.maxSupportedVcpus`, this value is the minimum of (i) the maximum
 34128  	// number supported by the hardware and (ii) the maximum number permitted by
 34129  	// the host license.
 34130  	MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty" json:"maxHostSupportedVcpus,omitempty"`
 34131  	// Indicates whether the host is capable of mounting/unmounting
 34132  	// VMFS datastores.
 34133  	VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable" json:"vmfsDatastoreMountCapable,omitempty"`
 34134  	// Indicates whether the host is capable of accessing a VMFS disk
 34135  	// when there are eight or more hosts accessing the disk already.
 34136  	EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported" json:"eightPlusHostVmfsSharedAccessSupported,omitempty"`
 34137  	// Indicates whether the host supports nested hardware-assisted virtualization.
 34138  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty"`
 34139  	// Indicates whether the host supports virtual CPU performance counters.
 34140  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty"`
 34141  	// Indicates whether the host supports VMCI for communication
 34142  	// between virtual machines.
 34143  	InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported" json:"interVMCommunicationThroughVMCISupported,omitempty"`
 34144  	// Indicates whether the host supports scheduled hardware upgrades.
 34145  	//
 34146  	// See also `VirtualMachineConfigInfo.scheduledHardwareUpgradeInfo`.
 34147  	ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported" json:"scheduledHardwareUpgradeSupported,omitempty"`
 34148  	// Indicated whether the host supports feature capabilities
 34149  	// for EVC mode.
 34150  	FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported" json:"featureCapabilitiesSupported,omitempty"`
 34151  	// Indicates whether the host supports latency sensitivity for the
 34152  	// virtual machines.
 34153  	LatencySensitivitySupported *bool `xml:"latencySensitivitySupported" json:"latencySensitivitySupported,omitempty"`
 34154  	// Indicates that host supports Object-based Storage System and
 34155  	// Storage-Profile based disk provisioning.
 34156  	StoragePolicySupported *bool `xml:"storagePolicySupported" json:"storagePolicySupported,omitempty"`
 34157  	// Indicates if 3D hardware acceleration for virtual machines is supported.
 34158  	Accel3dSupported *bool `xml:"accel3dSupported" json:"accel3dSupported,omitempty"`
 34159  	// Indicates that this host uses a reliable memory aware allocation policy.
 34160  	ReliableMemoryAware *bool `xml:"reliableMemoryAware" json:"reliableMemoryAware,omitempty"`
 34161  	// Indicates whether the host supports Multiple Instance TCP/IP stack
 34162  	MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported" json:"multipleNetworkStackInstanceSupported,omitempty"`
 34163  	// Indicates whether the message bus proxy is supported
 34164  	MessageBusProxySupported *bool `xml:"messageBusProxySupported" json:"messageBusProxySupported,omitempty"`
 34165  	// Indicates whether the host supports VSAN functionality.
 34166  	//
 34167  	// See also `HostVsanSystem`.
 34168  	VsanSupported *bool `xml:"vsanSupported" json:"vsanSupported,omitempty"`
 34169  	// Indicates whether the host supports vFlash.
 34170  	VFlashSupported *bool `xml:"vFlashSupported" json:"vFlashSupported,omitempty"`
 34171  	// Whether this host supports HostAccessManager for controlling direct
 34172  	// access to the host and for better lockdown mode management.
 34173  	HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported" json:"hostAccessManagerSupported,omitempty"`
 34174  	// Indicates whether a dedicated nic can be selected for vSphere Provisioning
 34175  	// NFC traffic.
 34176  	ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported" json:"provisioningNicSelectionSupported,omitempty"`
 34177  	// Whether this host supports NFS41 file systems.
 34178  	Nfs41Supported *bool `xml:"nfs41Supported" json:"nfs41Supported,omitempty"`
 34179  	// Whether this host support NFS41 Kerberos 5\* security type.
 34180  	Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported" json:"nfs41Krb5iSupported,omitempty"`
 34181  	// Indicates whether turning on/off local disk LED is supported
 34182  	// on the host.
 34183  	//
 34184  	// See also `HostStorageSystem.TurnDiskLocatorLedOn_Task`, `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 34185  	TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported" json:"turnDiskLocatorLedSupported,omitempty"`
 34186  	// Indicates whether this host supports VirtualVolume based Datastore.
 34187  	VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported" json:"virtualVolumeDatastoreSupported,omitempty"`
 34188  	// Indicates whether mark disk as SSD or Non-SSD is supported
 34189  	// on the host.
 34190  	//
 34191  	// See also `HostStorageSystem.MarkAsSsd_Task`, `HostStorageSystem.MarkAsNonSsd_Task`.
 34192  	MarkAsSsdSupported *bool `xml:"markAsSsdSupported" json:"markAsSsdSupported,omitempty"`
 34193  	// Indicates whether mark disk as local or remote is supported
 34194  	// on the host.
 34195  	//
 34196  	// See also `HostStorageSystem.MarkAsLocal_Task`, `HostStorageSystem.MarkAsNonLocal_Task`.
 34197  	MarkAsLocalSupported *bool `xml:"markAsLocalSupported" json:"markAsLocalSupported,omitempty"`
 34198  	// Deprecated as of vSphere API 8.0U3, and there is no replacement for it.
 34199  	//
 34200  	// Indicates whether this host supports local two-factor user
 34201  	// authentication using smart cards.
 34202  	//
 34203  	// See also `HostActiveDirectoryAuthentication.EnableSmartCardAuthentication`.
 34204  	SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported" json:"smartCardAuthenticationSupported,omitempty"`
 34205  	// Indicates whether this host supports persistent memory.
 34206  	//
 34207  	// If value is not specified, it should be considered as not supported.
 34208  	PMemSupported *bool `xml:"pMemSupported" json:"pMemSupported,omitempty"`
 34209  	// Indicates whether this host supports snapshots for VMs with virtual
 34210  	// devices backed by persistent memory.
 34211  	//
 34212  	// If value is not specified, it should be considered as not supported.
 34213  	PMemSnapshotSupported *bool `xml:"pMemSnapshotSupported" json:"pMemSnapshotSupported,omitempty"`
 34214  	// Flag indicating whether Cryptographer feature is supported.
 34215  	CryptoSupported *bool `xml:"cryptoSupported" json:"cryptoSupported,omitempty"`
 34216  	// Indicates whether this host supports granular datastore cache update.
 34217  	//
 34218  	// If value is not specified, it should be considered as not supported.
 34219  	OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported" json:"oneKVolumeAPIsSupported,omitempty"`
 34220  	// Flag indicating whether default gateway can be configured on a
 34221  	// vmkernel nic.
 34222  	GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported" json:"gatewayOnNicSupported,omitempty"`
 34223  	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
 34224  	//
 34225  	// Indicate whether this host supports UPIT
 34226  	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty"`
 34227  	// Indicates whether this host supports hardware-based MMU virtualization.
 34228  	CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported" json:"cpuHwMmuSupported,omitempty"`
 34229  	// Indicates whether this host supports encrypted vMotion.
 34230  	EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported" json:"encryptedVMotionSupported,omitempty"`
 34231  	// Indicates whether this host supports changing the encryption state
 34232  	// of a virtual disk when the disk is being added or removed from a
 34233  	// virtual machine configuration.
 34234  	EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported" json:"encryptionChangeOnAddRemoveSupported,omitempty"`
 34235  	// Indicates whether this host supports changing the encryption state
 34236  	// of a virtual machine, or virtual disk, while the virtual machine
 34237  	// is powered on.
 34238  	EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported" json:"encryptionHotOperationSupported,omitempty"`
 34239  	// Indicates whether this host supports changing the encryption state
 34240  	// state of a virtual machine, or virtual disk, while the virtual
 34241  	// machine has snapshots present.
 34242  	EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported" json:"encryptionWithSnapshotsSupported,omitempty"`
 34243  	// Indicates whether this host supports enabling Fault Tolerance on
 34244  	// encrypted virtual machines.
 34245  	EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported" json:"encryptionFaultToleranceSupported,omitempty"`
 34246  	// Indicates whether this host supports suspending, or creating
 34247  	// with-memory snapshots, encrypted virtual machines.
 34248  	EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported" json:"encryptionMemorySaveSupported,omitempty"`
 34249  	// Indicates whether this host supports encrypting RDM backed virtual
 34250  	// disks.
 34251  	EncryptionRDMSupported *bool `xml:"encryptionRDMSupported" json:"encryptionRDMSupported,omitempty"`
 34252  	// Indicates whether this host supports encrypting virtual disks with
 34253  	// vFlash cache enabled.
 34254  	EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported" json:"encryptionVFlashSupported,omitempty"`
 34255  	// Indicates whether this host supports encrypting virtual disks with
 34256  	// Content Based Read Cache (digest disks) enabled.
 34257  	EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported" json:"encryptionCBRCSupported,omitempty"`
 34258  	// Indicates whether this host supports encrypting virtual disks with
 34259  	// Host Based Replication enabled.
 34260  	EncryptionHBRSupported *bool `xml:"encryptionHBRSupported" json:"encryptionHBRSupported,omitempty"`
 34261  	// Indicates whether this host supports Fault Tolerance VMs that have
 34262  	// specified UEFI firmware.
 34263  	FtEfiSupported *bool `xml:"ftEfiSupported" json:"ftEfiSupported,omitempty"`
 34264  	// Indicates which kind of VMFS unmap method is supported.
 34265  	//
 34266  	// See
 34267  	// `HostCapabilityUnmapMethodSupported_enum`
 34268  	UnmapMethodSupported string `xml:"unmapMethodSupported,omitempty" json:"unmapMethodSupported,omitempty"`
 34269  	// Indicates maximum memory allowed for Fault Tolerance virtual machine.
 34270  	MaxMemMBPerFtVm int32 `xml:"maxMemMBPerFtVm,omitempty" json:"maxMemMBPerFtVm,omitempty"`
 34271  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 34272  	// ignored by the host, always operating as if "on" was selected.
 34273  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty"`
 34274  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 34275  	// ignored by the host, always operating as if "hvOn" was selected.
 34276  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty"`
 34277  	// Indicates that createDate feature is supported by the host.
 34278  	VmCreateDateSupported *bool `xml:"vmCreateDateSupported" json:"vmCreateDateSupported,omitempty"`
 34279  	// Indicates whether this host supports VMFS-3 EOL.
 34280  	//
 34281  	// If value is not specified, it should be considered as not supported.
 34282  	Vmfs3EOLSupported *bool `xml:"vmfs3EOLSupported" json:"vmfs3EOLSupported,omitempty"`
 34283  	// Indicates whether this host supports VMCP for Fault Tolerance VMs.
 34284  	FtVmcpSupported *bool `xml:"ftVmcpSupported" json:"ftVmcpSupported,omitempty"`
 34285  	// Indicates whether this host supports the LoadESX feature
 34286  	// which allows faster reboots.
 34287  	//
 34288  	// See also `HostLoadEsxManager.QueryLoadEsxSupported`.
 34289  	QuickBootSupported *bool `xml:"quickBootSupported" json:"quickBootSupported,omitempty"`
 34290  	// Indicates whether this host supports encrypted Fault Tolerance.
 34291  	EncryptedFtSupported *bool `xml:"encryptedFtSupported" json:"encryptedFtSupported,omitempty" vim:"7.0.2.0"`
 34292  	// Indicates whether this host supports Assignable Hardware.
 34293  	AssignableHardwareSupported *bool `xml:"assignableHardwareSupported" json:"assignableHardwareSupported,omitempty"`
 34294  	// Indicates whether this host supports suspending virtual machines to memory.
 34295  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 34296  	// Indicates whether this host uses vmFeatures for compatibility checking
 34297  	// of old (&leq;8) virtual hardware version VMs.
 34298  	UseFeatureReqsForOldHWv *bool `xml:"useFeatureReqsForOldHWv" json:"useFeatureReqsForOldHWv,omitempty"`
 34299  	// Indicates whether this host supports marking specified LUN as
 34300  	// perennially reserved.
 34301  	MarkPerenniallyReservedSupported *bool `xml:"markPerenniallyReservedSupported" json:"markPerenniallyReservedSupported,omitempty"`
 34302  	// Indicates whether this host supports HPP path selection policy
 34303  	// settings.
 34304  	HppPspSupported *bool `xml:"hppPspSupported" json:"hppPspSupported,omitempty"`
 34305  	// Indicates whether device rebind without reboot is supported.
 34306  	//
 34307  	// This is
 34308  	// the capability which enables PCI passthrough and SR-IOV configuration
 34309  	// without reboot.
 34310  	DeviceRebindWithoutRebootSupported *bool `xml:"deviceRebindWithoutRebootSupported" json:"deviceRebindWithoutRebootSupported,omitempty"`
 34311  	// Indicates whether this host supports storage policy change.
 34312  	StoragePolicyChangeSupported *bool `xml:"storagePolicyChangeSupported" json:"storagePolicyChangeSupported,omitempty"`
 34313  	// Indicates whether this host supports date time synchronization over
 34314  	// Precision Time Protocol (PTP).
 34315  	PrecisionTimeProtocolSupported *bool `xml:"precisionTimeProtocolSupported" json:"precisionTimeProtocolSupported,omitempty"`
 34316  	// Indicates whether vMotion of a VM with remote devices attached is
 34317  	// supported.
 34318  	//
 34319  	// This applies to CD-ROM and floppy devices backed by a
 34320  	// remote client.
 34321  	RemoteDeviceVMotionSupported *bool `xml:"remoteDeviceVMotionSupported" json:"remoteDeviceVMotionSupported,omitempty"`
 34322  	// The maximum amount of virtual memory supported per virtual machine.
 34323  	//
 34324  	// If this capability is not set, the size is limited by hardware version
 34325  	// of the virtual machine only.
 34326  	MaxSupportedVmMemory int32 `xml:"maxSupportedVmMemory,omitempty" json:"maxSupportedVmMemory,omitempty"`
 34327  	// Indicates if the host supports Assignable Hardware device hints.
 34328  	AhDeviceHintsSupported *bool `xml:"ahDeviceHintsSupported" json:"ahDeviceHintsSupported,omitempty" vim:"7.0.2.0"`
 34329  	// Indicates if access to NVMe over TCP devices is supported.
 34330  	NvmeOverTcpSupported *bool `xml:"nvmeOverTcpSupported" json:"nvmeOverTcpSupported,omitempty" vim:"7.0.3.0"`
 34331  	// Indicates whether NVMe Storage Fabrics Services (StFS) are supported.
 34332  	NvmeStorageFabricServicesSupported *bool `xml:"nvmeStorageFabricServicesSupported" json:"nvmeStorageFabricServicesSupported,omitempty" vim:"7.0.3.0"`
 34333  	// Indicates if setting hardwareLabel using PciPassThrough is supported.
 34334  	AssignHwPciConfigSupported *bool `xml:"assignHwPciConfigSupported" json:"assignHwPciConfigSupported,omitempty" vim:"7.0.2.0"`
 34335  	// Indicates whether advanced timekeeping apis are supported
 34336  	TimeConfigSupported *bool `xml:"timeConfigSupported" json:"timeConfigSupported,omitempty" vim:"7.0.3.0"`
 34337  	// Indicates whether batch NVMe controller connection/disconnection is supported.
 34338  	//
 34339  	// See `HostStorageSystem.ConnectNvmeControllerEx_Task` and
 34340  	// `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
 34341  	NvmeBatchOperationsSupported *bool `xml:"nvmeBatchOperationsSupported" json:"nvmeBatchOperationsSupported,omitempty" vim:"7.0.3.0"`
 34342  	// Indicates whether this host supports failover for VMs with virtual
 34343  	// devices backed by persistent memory.
 34344  	//
 34345  	// If value is not specified, it should be considered as not supported.
 34346  	PMemFailoverSupported *bool `xml:"pMemFailoverSupported" json:"pMemFailoverSupported,omitempty" vim:"7.0.2.0"`
 34347  	// Indicates whether this host supports host configuration encryption.
 34348  	HostConfigEncryptionSupported *bool `xml:"hostConfigEncryptionSupported" json:"hostConfigEncryptionSupported,omitempty" vim:"7.0.2.0"`
 34349  	// Max supported number of SMT (Simultaneous multithreading) threads.
 34350  	//
 34351  	// If value is not specified, it should be considered as not supported.
 34352  	MaxSupportedSimultaneousThreads int32 `xml:"maxSupportedSimultaneousThreads,omitempty" json:"maxSupportedSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 34353  	// Indicates whether this host supports PTP (Precision Time Protocol)
 34354  	// service configuration.
 34355  	//
 34356  	// See `HostPtpConfig`. If value is
 34357  	// not specified, it should be considered as not supported.
 34358  	PtpConfigSupported *bool `xml:"ptpConfigSupported" json:"ptpConfigSupported,omitempty" vim:"7.0.3.0"`
 34359  	// Number of PTP (Precision Time Protocol) ports supported by this
 34360  	// host (See `HostPtpConfig`).
 34361  	//
 34362  	// If this capability is not
 34363  	// set, number of PTP ports in the host is 0.
 34364  	MaxSupportedPtpPorts int32 `xml:"maxSupportedPtpPorts,omitempty" json:"maxSupportedPtpPorts,omitempty" vim:"7.0.3.0"`
 34365  	// Indicates whether this host supports SGX registration.
 34366  	SgxRegistrationSupported *bool `xml:"sgxRegistrationSupported" json:"sgxRegistrationSupported,omitempty" vim:"8.0.0.1"`
 34367  	// Indicates whether this host supports snapshots of VMs configured
 34368  	// with independent vNVDIMMs.
 34369  	//
 34370  	// If value is not specified, it should be considered as not supported.
 34371  	// This support does not depend on `HostCapability.pMemSnapshotSupported`.
 34372  	PMemIndependentSnapshotSupported *bool `xml:"pMemIndependentSnapshotSupported" json:"pMemIndependentSnapshotSupported,omitempty" vim:"7.0.3.0"`
 34373  	// Indicates whether this host's IOMMUs are capable of tracking pages
 34374  	// written by device DMAs using dirty bits in the second-level page
 34375  	// tables.
 34376  	//
 34377  	// If this value is not specified, it should be considered as
 34378  	// not capable.
 34379  	IommuSLDirtyCapable *bool `xml:"iommuSLDirtyCapable" json:"iommuSLDirtyCapable,omitempty" vim:"8.0.0.1"`
 34380  	// Indicates whether vmknic binding is supported over this host.
 34381  	VmknicBindingSupported *bool `xml:"vmknicBindingSupported" json:"vmknicBindingSupported,omitempty" vim:"8.0.1.0"`
 34382  	// Indicates whether ultralow fixed unmap bandwidth is supported on this host.
 34383  	UltralowFixedUnmapSupported *bool `xml:"ultralowFixedUnmapSupported" json:"ultralowFixedUnmapSupported,omitempty" vim:"8.0.0.1"`
 34384  	// Indicates whether mounting of NVMe vvol is supported on this host.
 34385  	NvmeVvolSupported *bool `xml:"nvmeVvolSupported" json:"nvmeVvolSupported,omitempty" vim:"8.0.0.0"`
 34386  	// Indicates whether FPT Hotplug is supported on this host.
 34387  	FptHotplugSupported *bool `xml:"fptHotplugSupported" json:"fptHotplugSupported,omitempty" vim:"8.0.1.0"`
 34388  	// Indicates whether MCONNECT is supported on this host.
 34389  	MconnectSupported *bool `xml:"mconnectSupported" json:"mconnectSupported,omitempty" vim:"8.0.1.0"`
 34390  	// Indicates whether vSAN nic types can be managed by VirtualNicManager.
 34391  	VsanNicMgmtSupported *bool `xml:"vsanNicMgmtSupported" json:"vsanNicMgmtSupported,omitempty" vim:"8.0.2.0"`
 34392  	// Indicates whether vVol NQN is supported on this host.
 34393  	VvolNQNSupported *bool `xml:"vvolNQNSupported" json:"vvolNQNSupported,omitempty" vim:"8.0.2.0"`
 34394  	// Indicates whether "stretched" vVol Storage Container is supported on this host.
 34395  	StretchedSCSupported *bool `xml:"stretchedSCSupported" json:"stretchedSCSupported,omitempty" vim:"8.0.3.0"`
 34396  	// Indicates whether vmknic binding is supported on NFSv41 over this host.
 34397  	VmknicBindingOnNFSv41 *bool `xml:"vmknicBindingOnNFSv41" json:"vmknicBindingOnNFSv41,omitempty" vim:"8.0.3.0"`
 34398  	// Indicates whether VasaProvider Status can be monitored on the host.
 34399  	VpStatusCheckSupported *bool `xml:"vpStatusCheckSupported" json:"vpStatusCheckSupported,omitempty" vim:"8.0.3.0"`
 34400  	// Indicates whether NFS41 NCONNECT is supported on this host.
 34401  	NConnectSupported *bool `xml:"nConnectSupported" json:"nConnectSupported,omitempty" vim:"8.0.3.0"`
 34402  	// Indicates whether user-provided private key installation is supported on this host.
 34403  	UserKeySupported *bool `xml:"userKeySupported" json:"userKeySupported,omitempty" vim:"8.0.3.0"`
 34404  	// Indicates whether non-disruptive certificate management is supported on this host.
 34405  	NdcmSupported *bool `xml:"ndcmSupported" json:"ndcmSupported,omitempty" vim:"8.0.3.0"`
 34406  	// Flag indicating that the firmware reports the use of UEFI Secure
 34407  	// Boot during system boot.
 34408  	//
 34409  	// TPM attestation may be used to definitively determine the boot
 34410  	// time UEFI Secure Boot state and its complete configuration. An
 34411  	// out-of-band management channel may also be considered.
 34412  	UefiSecureBoot *bool `xml:"uefiSecureBoot" json:"uefiSecureBoot,omitempty" vim:"8.0.3.0"`
 34413  }
 34414  
 34415  func init() {
 34416  	t["HostCapability"] = reflect.TypeOf((*HostCapability)(nil)).Elem()
 34417  }
 34418  
 34419  // This data object is used to encapsulate the X509 certificate metadata.
 34420  type HostCertificateManagerCertificateInfo struct {
 34421  	DynamicData
 34422  
 34423  	// Certificate kind, if unset the certificate is Machine certificate
 34424  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 34425  	Kind string `xml:"kind,omitempty" json:"kind,omitempty" vim:"8.0.1.0"`
 34426  	// The issuer of the certificate.
 34427  	Issuer string `xml:"issuer,omitempty" json:"issuer,omitempty"`
 34428  	// The validity of the certificate.
 34429  	NotBefore *time.Time `xml:"notBefore" json:"notBefore,omitempty"`
 34430  	NotAfter  *time.Time `xml:"notAfter" json:"notAfter,omitempty"`
 34431  	// The subject of the certificate.
 34432  	Subject string `xml:"subject,omitempty" json:"subject,omitempty"`
 34433  	// The status of the certificate in vCenter Server.
 34434  	//
 34435  	// The possible values for status are as
 34436  	// described in `HostCertificateManagerCertificateInfoCertificateStatus_enum`.
 34437  	// If queried directly from an ESX host, the property is set to
 34438  	// `unknown`.
 34439  	Status string `xml:"status" json:"status"`
 34440  }
 34441  
 34442  func init() {
 34443  	t["HostCertificateManagerCertificateInfo"] = reflect.TypeOf((*HostCertificateManagerCertificateInfo)(nil)).Elem()
 34444  }
 34445  
 34446  // Represents certificate specification used for
 34447  // identifying a specific certificate supported by Host.
 34448  type HostCertificateManagerCertificateSpec struct {
 34449  	DynamicData
 34450  
 34451  	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
 34452  	Kind string `xml:"kind" json:"kind"`
 34453  }
 34454  
 34455  func init() {
 34456  	t["HostCertificateManagerCertificateSpec"] = reflect.TypeOf((*HostCertificateManagerCertificateSpec)(nil)).Elem()
 34457  	minAPIVersionForType["HostCertificateManagerCertificateSpec"] = "8.0.1.0"
 34458  }
 34459  
 34460  type HostClearVStorageObjectControlFlags HostClearVStorageObjectControlFlagsRequestType
 34461  
 34462  func init() {
 34463  	t["HostClearVStorageObjectControlFlags"] = reflect.TypeOf((*HostClearVStorageObjectControlFlags)(nil)).Elem()
 34464  }
 34465  
 34466  // The parameters of `HostVStorageObjectManager.HostClearVStorageObjectControlFlags`.
 34467  type HostClearVStorageObjectControlFlagsRequestType struct {
 34468  	This ManagedObjectReference `xml:"_this" json:"-"`
 34469  	// The ID of the virtual storage object.
 34470  	Id ID `xml:"id" json:"id"`
 34471  	// The datastore where the source virtual storage
 34472  	// object is located.
 34473  	//
 34474  	// Required privileges: Datastore.FileManagement
 34475  	//
 34476  	// Refers instance of `Datastore`.
 34477  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 34478  	// control flags enum array to be cleared on the
 34479  	// VStorageObject. All control flags not included
 34480  	// in the array remain intact.
 34481  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 34482  }
 34483  
 34484  func init() {
 34485  	t["HostClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostClearVStorageObjectControlFlagsRequestType)(nil)).Elem()
 34486  }
 34487  
 34488  type HostClearVStorageObjectControlFlagsResponse struct {
 34489  }
 34490  
 34491  // The parameters of `HostVStorageObjectManager.HostCloneVStorageObject_Task`.
 34492  type HostCloneVStorageObjectRequestType struct {
 34493  	This ManagedObjectReference `xml:"_this" json:"-"`
 34494  	// The ID of the virtual storage object.
 34495  	Id ID `xml:"id" json:"id"`
 34496  	// The datastore where the source virtual storage
 34497  	// object is located.
 34498  	//
 34499  	// Refers instance of `Datastore`.
 34500  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 34501  	// The specification for cloning the virtual storage
 34502  	// object.
 34503  	Spec VslmCloneSpec `xml:"spec" json:"spec"`
 34504  }
 34505  
 34506  func init() {
 34507  	t["HostCloneVStorageObjectRequestType"] = reflect.TypeOf((*HostCloneVStorageObjectRequestType)(nil)).Elem()
 34508  }
 34509  
 34510  type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType
 34511  
 34512  func init() {
 34513  	t["HostCloneVStorageObject_Task"] = reflect.TypeOf((*HostCloneVStorageObject_Task)(nil)).Elem()
 34514  }
 34515  
 34516  type HostCloneVStorageObject_TaskResponse struct {
 34517  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 34518  }
 34519  
 34520  // This event records a failure to connect to a host
 34521  // due to a failure to set up a management account.
 34522  type HostCnxFailedAccountFailedEvent struct {
 34523  	HostEvent
 34524  }
 34525  
 34526  func init() {
 34527  	t["HostCnxFailedAccountFailedEvent"] = reflect.TypeOf((*HostCnxFailedAccountFailedEvent)(nil)).Elem()
 34528  }
 34529  
 34530  // This event records a failure to connect to a host
 34531  // due to the host being managed by a different VirtualCenter server.
 34532  type HostCnxFailedAlreadyManagedEvent struct {
 34533  	HostEvent
 34534  
 34535  	// The name of the VirtualCenter server that manages the host.
 34536  	ServerName string `xml:"serverName" json:"serverName"`
 34537  }
 34538  
 34539  func init() {
 34540  	t["HostCnxFailedAlreadyManagedEvent"] = reflect.TypeOf((*HostCnxFailedAlreadyManagedEvent)(nil)).Elem()
 34541  }
 34542  
 34543  // This event records a failure to connect to a host
 34544  // due to no response being received from the host agent.
 34545  type HostCnxFailedBadCcagentEvent struct {
 34546  	HostEvent
 34547  }
 34548  
 34549  func init() {
 34550  	t["HostCnxFailedBadCcagentEvent"] = reflect.TypeOf((*HostCnxFailedBadCcagentEvent)(nil)).Elem()
 34551  }
 34552  
 34553  // This event records a failure to connect to a host
 34554  // due to an invalid user name and password combination.
 34555  type HostCnxFailedBadUsernameEvent struct {
 34556  	HostEvent
 34557  }
 34558  
 34559  func init() {
 34560  	t["HostCnxFailedBadUsernameEvent"] = reflect.TypeOf((*HostCnxFailedBadUsernameEvent)(nil)).Elem()
 34561  }
 34562  
 34563  // This event records a failure to connect to a host
 34564  // due to an incompatible client version.
 34565  type HostCnxFailedBadVersionEvent struct {
 34566  	HostEvent
 34567  }
 34568  
 34569  func init() {
 34570  	t["HostCnxFailedBadVersionEvent"] = reflect.TypeOf((*HostCnxFailedBadVersionEvent)(nil)).Elem()
 34571  }
 34572  
 34573  // This event records a failure to connect to a host
 34574  // due to a conflict with an upgrade or installation of the host agent.
 34575  type HostCnxFailedCcagentUpgradeEvent struct {
 34576  	HostEvent
 34577  }
 34578  
 34579  func init() {
 34580  	t["HostCnxFailedCcagentUpgradeEvent"] = reflect.TypeOf((*HostCnxFailedCcagentUpgradeEvent)(nil)).Elem()
 34581  }
 34582  
 34583  // This event records a failure to connect to a host
 34584  // due to an unspecified condition.
 34585  type HostCnxFailedEvent struct {
 34586  	HostEvent
 34587  }
 34588  
 34589  func init() {
 34590  	t["HostCnxFailedEvent"] = reflect.TypeOf((*HostCnxFailedEvent)(nil)).Elem()
 34591  }
 34592  
 34593  // This event records a failure to connect to a host
 34594  // due to a network error.
 34595  type HostCnxFailedNetworkErrorEvent struct {
 34596  	HostEvent
 34597  }
 34598  
 34599  func init() {
 34600  	t["HostCnxFailedNetworkErrorEvent"] = reflect.TypeOf((*HostCnxFailedNetworkErrorEvent)(nil)).Elem()
 34601  }
 34602  
 34603  // This event records a failure to connect to a host
 34604  // due to insufficient account privileges.
 34605  type HostCnxFailedNoAccessEvent struct {
 34606  	HostEvent
 34607  }
 34608  
 34609  func init() {
 34610  	t["HostCnxFailedNoAccessEvent"] = reflect.TypeOf((*HostCnxFailedNoAccessEvent)(nil)).Elem()
 34611  }
 34612  
 34613  // This event records a failure to connect to a host
 34614  // due to a host not being present on the network.
 34615  type HostCnxFailedNoConnectionEvent struct {
 34616  	HostEvent
 34617  }
 34618  
 34619  func init() {
 34620  	t["HostCnxFailedNoConnectionEvent"] = reflect.TypeOf((*HostCnxFailedNoConnectionEvent)(nil)).Elem()
 34621  }
 34622  
 34623  // This event records a failure to connect to a host
 34624  // due to a licensing issue.
 34625  type HostCnxFailedNoLicenseEvent struct {
 34626  	HostEvent
 34627  }
 34628  
 34629  func init() {
 34630  	t["HostCnxFailedNoLicenseEvent"] = reflect.TypeOf((*HostCnxFailedNoLicenseEvent)(nil)).Elem()
 34631  }
 34632  
 34633  // This event records a failure to connect to a host
 34634  // due to a failure to resolve the host name.
 34635  type HostCnxFailedNotFoundEvent struct {
 34636  	HostEvent
 34637  }
 34638  
 34639  func init() {
 34640  	t["HostCnxFailedNotFoundEvent"] = reflect.TypeOf((*HostCnxFailedNotFoundEvent)(nil)).Elem()
 34641  }
 34642  
 34643  // This event records a failure to connect to a host
 34644  // due to a timeout on the connection attempt.
 34645  type HostCnxFailedTimeoutEvent struct {
 34646  	HostEvent
 34647  }
 34648  
 34649  func init() {
 34650  	t["HostCnxFailedTimeoutEvent"] = reflect.TypeOf((*HostCnxFailedTimeoutEvent)(nil)).Elem()
 34651  }
 34652  
 34653  // A HostCommunication fault is thrown if an error happened
 34654  // while communicating to a host.
 34655  //
 34656  // This would typically be
 34657  // due to network connections or server failures.
 34658  type HostCommunication struct {
 34659  	RuntimeFault
 34660  }
 34661  
 34662  func init() {
 34663  	t["HostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem()
 34664  }
 34665  
 34666  type HostCommunicationFault BaseHostCommunication
 34667  
 34668  func init() {
 34669  	t["HostCommunicationFault"] = reflect.TypeOf((*HostCommunicationFault)(nil)).Elem()
 34670  }
 34671  
 34672  // This event records that a compliance check was triggered
 34673  // on the host.
 34674  type HostComplianceCheckedEvent struct {
 34675  	HostEvent
 34676  
 34677  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 34678  }
 34679  
 34680  func init() {
 34681  	t["HostComplianceCheckedEvent"] = reflect.TypeOf((*HostComplianceCheckedEvent)(nil)).Elem()
 34682  }
 34683  
 34684  // This event records that host is in compliance.
 34685  type HostCompliantEvent struct {
 34686  	HostEvent
 34687  }
 34688  
 34689  func init() {
 34690  	t["HostCompliantEvent"] = reflect.TypeOf((*HostCompliantEvent)(nil)).Elem()
 34691  }
 34692  
 34693  // This event records that a configuration was applied on a host
 34694  type HostConfigAppliedEvent struct {
 34695  	HostEvent
 34696  }
 34697  
 34698  func init() {
 34699  	t["HostConfigAppliedEvent"] = reflect.TypeOf((*HostConfigAppliedEvent)(nil)).Elem()
 34700  }
 34701  
 34702  // This data object type describes types and constants related to the
 34703  // specification of changes to a host configuration.
 34704  type HostConfigChange struct {
 34705  	DynamicData
 34706  }
 34707  
 34708  func init() {
 34709  	t["HostConfigChange"] = reflect.TypeOf((*HostConfigChange)(nil)).Elem()
 34710  }
 34711  
 34712  // Fault to indicate configuration of the host failed.
 34713  //
 34714  // Configuration could have failed because of multiple
 34715  // reasons and individual failures will be reported in
 34716  // \#failure.
 34717  type HostConfigFailed struct {
 34718  	HostConfigFault
 34719  
 34720  	Failure []LocalizedMethodFault `xml:"failure" json:"failure"`
 34721  }
 34722  
 34723  func init() {
 34724  	t["HostConfigFailed"] = reflect.TypeOf((*HostConfigFailed)(nil)).Elem()
 34725  }
 34726  
 34727  type HostConfigFailedFault HostConfigFailed
 34728  
 34729  func init() {
 34730  	t["HostConfigFailedFault"] = reflect.TypeOf((*HostConfigFailedFault)(nil)).Elem()
 34731  }
 34732  
 34733  // Base class for all Host configuration related faults
 34734  type HostConfigFault struct {
 34735  	VimFault
 34736  }
 34737  
 34738  func init() {
 34739  	t["HostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem()
 34740  }
 34741  
 34742  type HostConfigFaultFault BaseHostConfigFault
 34743  
 34744  func init() {
 34745  	t["HostConfigFaultFault"] = reflect.TypeOf((*HostConfigFaultFault)(nil)).Elem()
 34746  }
 34747  
 34748  // This data object type encapsulates a typical set of host configuration
 34749  // information that is useful for displaying and configuring a host.
 34750  //
 34751  // VirtualCenter can retrieve this set of information
 34752  // very efficiently even for a large set of hosts.
 34753  type HostConfigInfo struct {
 34754  	DynamicData
 34755  
 34756  	// A reference to a managed object on a host.
 34757  	//
 34758  	// Refers instance of `HostSystem`.
 34759  	Host ManagedObjectReference `xml:"host" json:"host"`
 34760  	// Information about a product.
 34761  	Product AboutInfo `xml:"product" json:"product"`
 34762  	// Deployment information about the host.
 34763  	DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty" json:"deploymentInfo,omitempty"`
 34764  	// If hyperthreading is supported, this is the CPU configuration for
 34765  	// optimizing hyperthreading.
 34766  	HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty" json:"hyperThread,omitempty"`
 34767  	// Information about the CPU scheduler on the host.
 34768  	CpuScheduler *HostCpuSchedulerInfo `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty" vim:"8.0.3.0"`
 34769  	// Memory configuration.
 34770  	ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty" json:"consoleReservation,omitempty"`
 34771  	// Virtual machine memory configuration.
 34772  	VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty" json:"virtualMachineReservation,omitempty"`
 34773  	// Storage system information.
 34774  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 34775  	// Storage multipath state information.
 34776  	MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty" json:"multipathState,omitempty"`
 34777  	// Storage system file system volume information.
 34778  	FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty" json:"fileSystemVolume,omitempty"`
 34779  	// Datastore paths of files used by the host system on
 34780  	// mounted volumes, for instance, the COS vmdk file of the
 34781  	// host.
 34782  	//
 34783  	// For information on datastore paths, see `Datastore`.
 34784  	SystemFile []string `xml:"systemFile,omitempty" json:"systemFile,omitempty"`
 34785  	// Network system information.
 34786  	Network *HostNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 34787  	// Deprecated as of VI API 4.0, use `HostConfigInfo.virtualNicManagerInfo`.
 34788  	//
 34789  	// VMotion system information.
 34790  	Vmotion *HostVMotionInfo `xml:"vmotion,omitempty" json:"vmotion,omitempty"`
 34791  	// VirtualNic manager information.
 34792  	VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty" json:"virtualNicManagerInfo,omitempty"`
 34793  	// Capability vector indicating the available network features.
 34794  	Capabilities *HostNetCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
 34795  	// Capability vector indicating available datastore features.
 34796  	DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty" json:"datastoreCapabilities,omitempty"`
 34797  	// Deprecated as of VI API 4.0, the system defaults will be used.
 34798  	//
 34799  	// capabilities to offload operations either to the host or to physical
 34800  	// hardware when a virtual machine is transmitting on a network
 34801  	OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty" json:"offloadCapabilities,omitempty"`
 34802  	// Host service configuration.
 34803  	Service *HostServiceInfo `xml:"service,omitempty" json:"service,omitempty"`
 34804  	// Firewall configuration.
 34805  	Firewall *HostFirewallInfo `xml:"firewall,omitempty" json:"firewall,omitempty"`
 34806  	// AutoStart configuration.
 34807  	AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty" json:"autoStart,omitempty"`
 34808  	// The diagnostic partition that will be set as the current
 34809  	// diagnostic partition on the host.
 34810  	ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty" json:"activeDiagnosticPartition,omitempty"`
 34811  	// Host configuration options as defined by the
 34812  	// `OptionValue` data object type.
 34813  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 34814  	// A list of supported options.
 34815  	OptionDef []OptionDef `xml:"optionDef,omitempty" json:"optionDef,omitempty"`
 34816  	// Datastore principal user
 34817  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 34818  	// Datastore visible to this host that may be used to store virtual
 34819  	// machine swapfiles, for virtual machines executing on this host.
 34820  	//
 34821  	// The
 34822  	// value of this property is set or unset by invoking
 34823  	// `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 34824  	// The policy for using this datastore is determined by the compute
 34825  	// resource configuration's
 34826  	// `vmSwapPlacement`
 34827  	// property in concert with each individual virtual machine configuration's
 34828  	// `swapPlacement` property.
 34829  	//
 34830  	// Note: Using a host-specific swap location may degrade VMotion performance.
 34831  	//
 34832  	// Refers instance of `Datastore`.
 34833  	LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty" json:"localSwapDatastore,omitempty"`
 34834  	// The system swap configuration specifies which options are currently
 34835  	// enabled.
 34836  	//
 34837  	// See also `HostSystemSwapConfiguration`.
 34838  	SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty" json:"systemSwapConfiguration,omitempty"`
 34839  	// Reference for the system resource hierarchy, used for configuring
 34840  	// the set of resources reserved to the system and unavailable to
 34841  	// virtual machines.
 34842  	SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty" json:"systemResources,omitempty"`
 34843  	// Date/Time related configuration
 34844  	DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty" json:"dateTimeInfo,omitempty"`
 34845  	// Additional flags for a host.
 34846  	Flags *HostFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
 34847  	// Deprecated as of vSphere API 6.0, use `HostConfigInfo.lockdownMode`.
 34848  	//
 34849  	// If the flag is true, the permissions on the host have been modified such
 34850  	// that it is only accessible through local console or an authorized
 34851  	// centralized management application.
 34852  	//
 34853  	// This flag is affected by the
 34854  	// `HostSystem.EnterLockdownMode` and
 34855  	// `HostSystem.ExitLockdownMode` operations.
 34856  	//
 34857  	// This flag is supported in VirtualCenter only. The value returned from host
 34858  	// should be ignored.
 34859  	//
 34860  	// See also `HostSystem.EnterLockdownMode`, `HostSystem.ExitLockdownMode`.
 34861  	AdminDisabled *bool `xml:"adminDisabled" json:"adminDisabled,omitempty"`
 34862  	// Indicates the current lockdown mode of the host as reported by
 34863  	// `HostAccessManager.lockdownMode`.
 34864  	//
 34865  	// See also `HostAccessManager.ChangeLockdownMode`.
 34866  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 34867  	// IPMI (Intelligent Platform Management Interface) info for the host.
 34868  	Ipmi *HostIpmiInfo `xml:"ipmi,omitempty" json:"ipmi,omitempty"`
 34869  	// Deprecated as of vSphere API 5.0, use `HostConfigInfo.sslThumbprintData` instead.
 34870  	//
 34871  	// SSL Thumbprint info for hosts registered on this host.
 34872  	SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty" json:"sslThumbprintInfo,omitempty"`
 34873  	// SSL Thumbprints registered on this host.
 34874  	SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty" json:"sslThumbprintData,omitempty"`
 34875  	// Full Host Certificate in PEM format, if known
 34876  	Certificate ByteSlice `xml:"certificate,omitempty" json:"certificate,omitempty"`
 34877  	// PCI passthrough information.
 34878  	PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr" json:"pciPassthruInfo,omitempty"`
 34879  	// Current authentication configuration.
 34880  	AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty" json:"authenticationManagerInfo,omitempty"`
 34881  	// List of feature-specific version information.
 34882  	//
 34883  	// Each element refers
 34884  	// to the version information for a specific feature.
 34885  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty"`
 34886  	// Host power management capability.
 34887  	PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty" json:"powerSystemCapability,omitempty"`
 34888  	// Host power management information.
 34889  	PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty" json:"powerSystemInfo,omitempty"`
 34890  	// Host solid stats drive cache configuration information.
 34891  	CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty" json:"cacheConfigurationInfo,omitempty"`
 34892  	// Indicates if a host is wake on lan capable.
 34893  	//
 34894  	// A host is deemed wake on lan capable if there exists at least one
 34895  	// physical network card that is both backing the vmotion interface and
 34896  	// is itself wake on lan capable.
 34897  	WakeOnLanCapable *bool `xml:"wakeOnLanCapable" json:"wakeOnLanCapable,omitempty"`
 34898  	// Array of host feature capabilities.
 34899  	//
 34900  	// This is expected to change
 34901  	// infrequently. It may change while host is in maintenance mode
 34902  	// and between reboots if hardware, firmware, or a device driver
 34903  	// is changed or upgraded.
 34904  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 34905  	// Array of the feature capabilities that the host has after the
 34906  	// mask has been applied.
 34907  	MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty" json:"maskedFeatureCapability,omitempty"`
 34908  	// Host vFlash configuration information
 34909  	VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty" json:"vFlashConfigInfo,omitempty"`
 34910  	// VSAN configuration for a host.
 34911  	VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty"`
 34912  	// List of Windows domains available for user searches, if the underlying
 34913  	// system supports windows domain membership.
 34914  	//
 34915  	// See `UserDirectory.domainList`.
 34916  	DomainList []string `xml:"domainList,omitempty" json:"domainList,omitempty"`
 34917  	// A checksum of overhead computation script.
 34918  	//
 34919  	// (For VMware internal usage only)
 34920  	ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty" json:"scriptCheckSum,omitempty"`
 34921  	// A checksum of host configuration option set.
 34922  	//
 34923  	// (For VMware internal usage only)
 34924  	HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty" json:"hostConfigCheckSum,omitempty"`
 34925  	// A checksum of the Assignable Hardware Description Tree.
 34926  	//
 34927  	// (For VMware internal usage only)
 34928  	DescriptionTreeCheckSum []byte `xml:"descriptionTreeCheckSum,omitempty" json:"descriptionTreeCheckSum,omitempty"`
 34929  	// The list of graphics devices available on this host.
 34930  	GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty" json:"graphicsInfo,omitempty"`
 34931  	// Array of shared passthru GPU types.
 34932  	//
 34933  	// These GPU types may be enabled
 34934  	// when specific host hardware is present.
 34935  	SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty" json:"sharedPassthruGpuTypes,omitempty"`
 34936  	// Graphics configuration for a host.
 34937  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty"`
 34938  	// Array of shared passthru GPU capablities.
 34939  	//
 34940  	// See also `HostSharedGpuCapabilities`.
 34941  	SharedGpuCapabilities []HostSharedGpuCapabilities `xml:"sharedGpuCapabilities,omitempty" json:"sharedGpuCapabilities,omitempty"`
 34942  	// Information of the IO Filters installed on the host.
 34943  	//
 34944  	// See `HostIoFilterInfo`.
 34945  	IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty" json:"ioFilterInfo,omitempty"`
 34946  	// Information on SRIOV device pools present on host.
 34947  	SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr" json:"sriovDevicePool,omitempty"`
 34948  	// Information describing Assignable Hardware device bindings on host.
 34949  	//
 34950  	// See `HostAssignableHardwareBinding`.
 34951  	AssignableHardwareBinding []HostAssignableHardwareBinding `xml:"assignableHardwareBinding,omitempty" json:"assignableHardwareBinding,omitempty"`
 34952  	// Configured assignable hardware device attributes.
 34953  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty"`
 34954  }
 34955  
 34956  func init() {
 34957  	t["HostConfigInfo"] = reflect.TypeOf((*HostConfigInfo)(nil)).Elem()
 34958  }
 34959  
 34960  // This data object type describes the configuration of a host
 34961  // across products and versions.
 34962  type HostConfigManager struct {
 34963  	DynamicData
 34964  
 34965  	// The CPU scheduler that determines which threads execute on a CPU
 34966  	// at any given time.
 34967  	//
 34968  	// Refers instance of `HostCpuSchedulerSystem`.
 34969  	CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty"`
 34970  	// The datastore manager.
 34971  	//
 34972  	// Refers instance of `HostDatastoreSystem`.
 34973  	DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty" json:"datastoreSystem,omitempty"`
 34974  	// The memory manager on the host.
 34975  	//
 34976  	// Refers instance of `HostMemorySystem`.
 34977  	MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty" json:"memoryManager,omitempty"`
 34978  	// The storage configuration.
 34979  	//
 34980  	// Refers instance of `HostStorageSystem`.
 34981  	StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty" json:"storageSystem,omitempty"`
 34982  	// The network system configuration.
 34983  	//
 34984  	// Refers instance of `HostNetworkSystem`.
 34985  	NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty" json:"networkSystem,omitempty"`
 34986  	// Deprecated as of VI API 4.0, use `HostConfigManager.virtualNicManager`
 34987  	// to manage the VMotion configuration of the host.
 34988  	//
 34989  	// The VMotion configuration.
 34990  	//
 34991  	// Refers instance of `HostVMotionSystem`.
 34992  	VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty" json:"vmotionSystem,omitempty"`
 34993  	// The VirtualNic configuration.
 34994  	//
 34995  	// Refers instance of `HostVirtualNicManager`.
 34996  	VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty" json:"virtualNicManager,omitempty"`
 34997  	// The configuration of the host services (for example,
 34998  	// SSH, FTP, and Telnet).
 34999  	//
 35000  	// Refers instance of `HostServiceSystem`.
 35001  	ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty" json:"serviceSystem,omitempty"`
 35002  	// The firewall configuration.
 35003  	//
 35004  	// Refers instance of `HostFirewallSystem`.
 35005  	FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty" json:"firewallSystem,omitempty"`
 35006  	// Advanced options.
 35007  	//
 35008  	// Refers instance of `OptionManager`.
 35009  	AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty" json:"advancedOption,omitempty"`
 35010  	// The diagnostic for the ESX Server system.
 35011  	//
 35012  	// Refers instance of `HostDiagnosticSystem`.
 35013  	DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty" json:"diagnosticSystem,omitempty"`
 35014  	// Auto-start and auto-stop configuration.
 35015  	//
 35016  	// Refers instance of `HostAutoStartManager`.
 35017  	AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty" json:"autoStartManager,omitempty"`
 35018  	// Snmp configuration
 35019  	//
 35020  	// Refers instance of `HostSnmpSystem`.
 35021  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
 35022  	// DateTime configuration
 35023  	//
 35024  	// Refers instance of `HostDateTimeSystem`.
 35025  	DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty" json:"dateTimeSystem,omitempty"`
 35026  	// Host patch management.
 35027  	//
 35028  	// Refers instance of `HostPatchManager`.
 35029  	PatchManager *ManagedObjectReference `xml:"patchManager,omitempty" json:"patchManager,omitempty"`
 35030  	// Host image configuration management.
 35031  	//
 35032  	// Refers instance of `HostImageConfigManager`.
 35033  	ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty" json:"imageConfigManager,omitempty"`
 35034  	// Boot device order management.
 35035  	//
 35036  	// Refers instance of `HostBootDeviceSystem`.
 35037  	BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty" json:"bootDeviceSystem,omitempty"`
 35038  	// Firmware management.
 35039  	//
 35040  	// Refers instance of `HostFirmwareSystem`.
 35041  	FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty" json:"firmwareSystem,omitempty"`
 35042  	// System health status manager.
 35043  	//
 35044  	// Refers instance of `HostHealthStatusSystem`.
 35045  	HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty" json:"healthStatusSystem,omitempty"`
 35046  	// PciDeviceSystem for passthru.
 35047  	//
 35048  	// Refers instance of `HostPciPassthruSystem`.
 35049  	PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty" json:"pciPassthruSystem,omitempty"`
 35050  	// License manager
 35051  	//
 35052  	// Refers instance of `LicenseManager`.
 35053  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
 35054  	// Kernel module configuration management.
 35055  	//
 35056  	// Refers instance of `HostKernelModuleSystem`.
 35057  	KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty" json:"kernelModuleSystem,omitempty"`
 35058  	// Authentication method configuration - for example, for Active Directory membership.
 35059  	//
 35060  	// Refers instance of `HostAuthenticationManager`.
 35061  	AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty" json:"authenticationManager,omitempty"`
 35062  	// Power System manager.
 35063  	//
 35064  	// Refers instance of `HostPowerSystem`.
 35065  	PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty" json:"powerSystem,omitempty"`
 35066  	// Host solid state drive cache configuration manager.
 35067  	//
 35068  	// Refers instance of `HostCacheConfigurationManager`.
 35069  	CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty" json:"cacheConfigurationManager,omitempty"`
 35070  	// Esx Agent resource configuration manager
 35071  	//
 35072  	// Refers instance of `HostEsxAgentHostManager`.
 35073  	EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty" json:"esxAgentHostManager,omitempty"`
 35074  	// Iscsi Management Operations managed entity
 35075  	//
 35076  	// Refers instance of `IscsiManager`.
 35077  	IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty" json:"iscsiManager,omitempty"`
 35078  	// vFlash Manager
 35079  	//
 35080  	// Refers instance of `HostVFlashManager`.
 35081  	VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty" json:"vFlashManager,omitempty"`
 35082  	// VsanSystem managed entity.
 35083  	//
 35084  	// Refers instance of `HostVsanSystem`.
 35085  	VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty" json:"vsanSystem,omitempty"`
 35086  	// Common Message Bus proxy service.
 35087  	//
 35088  	// This API shall always be present in vSphere API 6.0 or later.
 35089  	//
 35090  	// Refers instance of `MessageBusProxy`.
 35091  	MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty" json:"messageBusProxy,omitempty"`
 35092  	// A user directory managed object.
 35093  	//
 35094  	// Refers instance of `UserDirectory`.
 35095  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
 35096  	// A manager for host local user accounts.
 35097  	//
 35098  	// Refers instance of `HostLocalAccountManager`.
 35099  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
 35100  	// Host access manager
 35101  	//
 35102  	// Refers instance of `HostAccessManager`.
 35103  	HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty" json:"hostAccessManager,omitempty"`
 35104  	// Host graphics manager.
 35105  	//
 35106  	// Refers instance of `HostGraphicsManager`.
 35107  	GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty" json:"graphicsManager,omitempty"`
 35108  	// VsanInternalSystem managed entity.
 35109  	//
 35110  	// Refers instance of `HostVsanInternalSystem`.
 35111  	VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty" json:"vsanInternalSystem,omitempty"`
 35112  	// Host CertificateManager.
 35113  	//
 35114  	// Refers instance of `HostCertificateManager`.
 35115  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty"`
 35116  	// Host CryptoManager.
 35117  	//
 35118  	// Refers instance of `CryptoManager`.
 35119  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty"`
 35120  	// Host Non-Volatile DIMM configuration manager
 35121  	//
 35122  	// Refers instance of `HostNvdimmSystem`.
 35123  	NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty" json:"nvdimmSystem,omitempty"`
 35124  	// Assignable Hardware manager.
 35125  	//
 35126  	// Refers instance of `HostAssignableHardwareManager`.
 35127  	AssignableHardwareManager *ManagedObjectReference `xml:"assignableHardwareManager,omitempty" json:"assignableHardwareManager,omitempty"`
 35128  }
 35129  
 35130  func init() {
 35131  	t["HostConfigManager"] = reflect.TypeOf((*HostConfigManager)(nil)).Elem()
 35132  }
 35133  
 35134  // The `HostConfigSpec` data object provides access to data objects
 35135  // that specify configuration changes to be applied to an ESX host.
 35136  type HostConfigSpec struct {
 35137  	DynamicData
 35138  
 35139  	// Configurations to create NAS datastores.
 35140  	NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty" json:"nasDatastore,omitempty"`
 35141  	// Network system information.
 35142  	Network *HostNetworkConfig `xml:"network,omitempty" json:"network,omitempty"`
 35143  	// Type selection for different VirtualNics.
 35144  	NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty" json:"nicTypeSelection,omitempty"`
 35145  	// Host service configuration.
 35146  	Service []HostServiceConfig `xml:"service,omitempty" json:"service,omitempty"`
 35147  	// Firewall configuration.
 35148  	Firewall *HostFirewallConfig `xml:"firewall,omitempty" json:"firewall,omitempty"`
 35149  	// Host configuration options as defined by the
 35150  	// `OptionValue` data object type.
 35151  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 35152  	// Datastore principal user.
 35153  	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
 35154  	// Password for the datastore principal.
 35155  	DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty" json:"datastorePrincipalPasswd,omitempty"`
 35156  	// DateTime Configuration.
 35157  	Datetime *HostDateTimeConfig `xml:"datetime,omitempty" json:"datetime,omitempty"`
 35158  	// Storage system information.
 35159  	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
 35160  	// License configuration for the host.
 35161  	License *HostLicenseSpec `xml:"license,omitempty" json:"license,omitempty"`
 35162  	// Security specification.
 35163  	Security *HostSecuritySpec `xml:"security,omitempty" json:"security,omitempty"`
 35164  	// List of users to create/update with new password.
 35165  	UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr" json:"userAccount,omitempty"`
 35166  	// List of users to create/update with new password.
 35167  	UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr" json:"usergroupAccount,omitempty"`
 35168  	// Memory configuration for the host.
 35169  	Memory *HostMemorySpec `xml:"memory,omitempty" json:"memory,omitempty"`
 35170  	// Active Directory configuration change.
 35171  	ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
 35172  	// Advanced configuration.
 35173  	GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty" json:"genericConfig,omitempty"`
 35174  	// Graphics configuration for a host.
 35175  	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty"`
 35176  	// Assignable Hardware configuration for the host
 35177  	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty"`
 35178  }
 35179  
 35180  func init() {
 35181  	t["HostConfigSpec"] = reflect.TypeOf((*HostConfigSpec)(nil)).Elem()
 35182  }
 35183  
 35184  // An overview of the key configuration parameters.
 35185  type HostConfigSummary struct {
 35186  	DynamicData
 35187  
 35188  	// The name of the host.
 35189  	Name string `xml:"name" json:"name"`
 35190  	// The port number.
 35191  	Port int32 `xml:"port" json:"port"`
 35192  	// The SSL thumbprint of the host, if known.
 35193  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 35194  	// Information about the software running on the host, if known.
 35195  	//
 35196  	// The current supported hosts are ESX Server 2.0.1 (and later) and VMware Server
 35197  	// 2.0.0 (and later).
 35198  	Product *AboutInfo `xml:"product,omitempty" json:"product,omitempty"`
 35199  	// The flag to indicate whether or not VMotion is enabled on this host.
 35200  	VmotionEnabled bool `xml:"vmotionEnabled" json:"vmotionEnabled"`
 35201  	// The flag to indicate whether or not Fault Tolerance logging is enabled on this host.
 35202  	FaultToleranceEnabled *bool `xml:"faultToleranceEnabled" json:"faultToleranceEnabled,omitempty"`
 35203  	// List of feature-specific version information.
 35204  	//
 35205  	// Each element refers
 35206  	// to the version information for a specific feature.
 35207  	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty"`
 35208  	// Datastore used to deploy Agent VMs on for this host.
 35209  	//
 35210  	// Refers instance of `Datastore`.
 35211  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
 35212  	// Management network for Agent VMs.
 35213  	//
 35214  	// Refers instance of `Network`.
 35215  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
 35216  }
 35217  
 35218  func init() {
 35219  	t["HostConfigSummary"] = reflect.TypeOf((*HostConfigSummary)(nil)).Elem()
 35220  }
 35221  
 35222  type HostConfigVFlashCache HostConfigVFlashCacheRequestType
 35223  
 35224  func init() {
 35225  	t["HostConfigVFlashCache"] = reflect.TypeOf((*HostConfigVFlashCache)(nil)).Elem()
 35226  }
 35227  
 35228  // The parameters of `HostVFlashManager.HostConfigVFlashCache`.
 35229  type HostConfigVFlashCacheRequestType struct {
 35230  	This ManagedObjectReference `xml:"_this" json:"-"`
 35231  	// Specification for host cache configuration.
 35232  	Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec" json:"spec"`
 35233  }
 35234  
 35235  func init() {
 35236  	t["HostConfigVFlashCacheRequestType"] = reflect.TypeOf((*HostConfigVFlashCacheRequestType)(nil)).Elem()
 35237  }
 35238  
 35239  type HostConfigVFlashCacheResponse struct {
 35240  }
 35241  
 35242  type HostConfigureVFlashResource HostConfigureVFlashResourceRequestType
 35243  
 35244  func init() {
 35245  	t["HostConfigureVFlashResource"] = reflect.TypeOf((*HostConfigureVFlashResource)(nil)).Elem()
 35246  }
 35247  
 35248  // The parameters of `HostVFlashManager.HostConfigureVFlashResource`.
 35249  type HostConfigureVFlashResourceRequestType struct {
 35250  	This ManagedObjectReference `xml:"_this" json:"-"`
 35251  	// the vFlash resource specification.
 35252  	Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec" json:"spec"`
 35253  }
 35254  
 35255  func init() {
 35256  	t["HostConfigureVFlashResourceRequestType"] = reflect.TypeOf((*HostConfigureVFlashResourceRequestType)(nil)).Elem()
 35257  }
 35258  
 35259  type HostConfigureVFlashResourceResponse struct {
 35260  }
 35261  
 35262  // A base clase for faults that are related to connecting or
 35263  // adding a host to the inventory.
 35264  type HostConnectFault struct {
 35265  	VimFault
 35266  }
 35267  
 35268  func init() {
 35269  	t["HostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem()
 35270  }
 35271  
 35272  type HostConnectFaultFault BaseHostConnectFault
 35273  
 35274  func init() {
 35275  	t["HostConnectFaultFault"] = reflect.TypeOf((*HostConnectFaultFault)(nil)).Elem()
 35276  }
 35277  
 35278  // This data object type contains information about a single host that can be used by
 35279  // the connection wizard.
 35280  //
 35281  // This can be returned without adding the host to VirtualCenter.
 35282  type HostConnectInfo struct {
 35283  	DynamicData
 35284  
 35285  	// The IP address of the VirtualCenter already managing this host, if any.
 35286  	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
 35287  	// If the host is already being managed by a vCenter Server, this property
 35288  	// reports true if the host is also part of a vSphere HA enabled cluster.
 35289  	//
 35290  	// If
 35291  	// this is the case, remove or disconnect the host
 35292  	// from this cluster before adding it to another vCenter Server.
 35293  	InDasCluster *bool `xml:"inDasCluster" json:"inDasCluster,omitempty"`
 35294  	// Summary information about the host.
 35295  	//
 35296  	// The status fields and managed object
 35297  	// reference is not set when an object of this type is created. These fields and
 35298  	// references are typically set later when these objects are associated with a host.
 35299  	Host HostListSummary `xml:"host" json:"host"`
 35300  	// The list of virtual machines on the host.
 35301  	Vm []VirtualMachineSummary `xml:"vm,omitempty" json:"vm,omitempty"`
 35302  	// Whether or not the host requires a vimAccountName and password to be set in the
 35303  	// ConnectSpec.
 35304  	//
 35305  	// This is normally only required for VMware Server hosts.
 35306  	VimAccountNameRequired *bool `xml:"vimAccountNameRequired" json:"vimAccountNameRequired,omitempty"`
 35307  	// Whether or not the host supports clustering capabilities such as HA or DRS and
 35308  	// therefore can be added to a cluster.
 35309  	//
 35310  	// If false, the host must be added as a
 35311  	// standalone host.
 35312  	ClusterSupported *bool `xml:"clusterSupported" json:"clusterSupported,omitempty"`
 35313  	// The list of network information for networks configured on this host.
 35314  	Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr" json:"network,omitempty"`
 35315  	// The list of datastores on the host.
 35316  	Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr" json:"datastore,omitempty"`
 35317  	// License manager information on the host
 35318  	License *HostLicenseConnectInfo `xml:"license,omitempty" json:"license,omitempty"`
 35319  	// Host capabilities.
 35320  	Capability *HostCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 35321  }
 35322  
 35323  func init() {
 35324  	t["HostConnectInfo"] = reflect.TypeOf((*HostConnectInfo)(nil)).Elem()
 35325  }
 35326  
 35327  // The base data object type for information about networks on the host.
 35328  type HostConnectInfoNetworkInfo struct {
 35329  	DynamicData
 35330  
 35331  	// Basic network information, such as network name.
 35332  	//
 35333  	// The managed object reference
 35334  	// is not set.
 35335  	Summary BaseNetworkSummary `xml:"summary,typeattr" json:"summary"`
 35336  }
 35337  
 35338  func init() {
 35339  	t["HostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem()
 35340  }
 35341  
 35342  // Specifies the parameters needed to add a single host.
 35343  //
 35344  // This includes
 35345  // a small set of optional information about the host configuration.
 35346  // This allows the network and datastore configuration of the host to
 35347  // be synchronized with the naming conventions of the datacenter, as well
 35348  // as the configuration of a vim account (the username/password for the
 35349  // virtual machine files that is created on disk).
 35350  type HostConnectSpec struct {
 35351  	DynamicData
 35352  
 35353  	// The DNS name or IP address of the host.
 35354  	//
 35355  	// (Required for adding
 35356  	// a host.)
 35357  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 35358  	// The port number for the connection.
 35359  	//
 35360  	// If this is not specified,
 35361  	// the default port number is used. For ESX 2.x hosts this is the authd
 35362  	// port (902 by default). For ESX 3.x and above and VMware Server hosts
 35363  	// this is the https port (443 by default).
 35364  	// If this is a reconnect, the port number is unchanged.
 35365  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 35366  	// The thumbprint of the SSL certificate, which the host is
 35367  	// expected to have.
 35368  	//
 35369  	// If this value is set and matches the
 35370  	// certificate thumbprint presented by the host, then the host is
 35371  	// authenticated. If this value is not set or does not match the
 35372  	// certificate thumbprint presented by the host, then the host's
 35373  	// certificate is verified by checking whether it was signed by a
 35374  	// recognized CA.
 35375  	//
 35376  	// The thumbprint is always computed using the SHA1 hash and is
 35377  	// the string representation of that hash in the format:
 35378  	// xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
 35379  	// where, 'x' represents a hexadecimal digit
 35380  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 35381  	// The administration account on the host.
 35382  	//
 35383  	// (Required for adding
 35384  	// a host.)
 35385  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 35386  	// The password for the administration account.
 35387  	//
 35388  	// (Required for adding
 35389  	// a host.)
 35390  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 35391  	// The folder in which to store the existing virtual machines on the host.
 35392  	//
 35393  	// If this folder is not specified, a default folder is chosen
 35394  	// (and possibly created) by the VirtualCenter. This folder exists (or
 35395  	// is possibly created) on the
 35396  	// VirtualCenter server and is called "Discovered VM".
 35397  	//
 35398  	// Refers instance of `Folder`.
 35399  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 35400  	// If this flag is set to "true", then the connection succeeds even
 35401  	// if the host is already being managed by another VirtualCenter server.
 35402  	//
 35403  	// The original VirtualCenter server loses connection to the host.
 35404  	Force bool `xml:"force" json:"force"`
 35405  	// The username to be used for accessing the virtual
 35406  	// machine files on the disk.
 35407  	VimAccountName string `xml:"vimAccountName,omitempty" json:"vimAccountName,omitempty"`
 35408  	// The password to be used with the
 35409  	// `vimAccountName`
 35410  	// property for accessing the virtual
 35411  	// machine files on the disk.
 35412  	VimAccountPassword string `xml:"vimAccountPassword,omitempty" json:"vimAccountPassword,omitempty"`
 35413  	// The IP address of the VirtualCenter server that will manage this host.
 35414  	//
 35415  	// This field can be used to control which IP address the VirtualCenter agent
 35416  	// will send heartbeats to. If it is not set, VirtualCenter will use the local IP
 35417  	// address used when communicating with the host. Setting this field is useful
 35418  	// when the VirtualCenter server is behind a NAT in which case the external NAT
 35419  	// address must be used.
 35420  	ManagementIp string `xml:"managementIp,omitempty" json:"managementIp,omitempty"`
 35421  	// If this is set then the host will be put in the specified lockdown mode
 35422  	// when the host is added and connected.
 35423  	//
 35424  	// It is used only when calling the APIs
 35425  	// `Folder.AddStandaloneHost_Task` with parameter 'addConnected' set to true,
 35426  	// or `ClusterComputeResource.AddHost_Task` with parameter 'asConnected'
 35427  	// set to true.
 35428  	// If the operation to add the host specifies that the host should only be
 35429  	// added but not connected, then the host won't be put in lockdown mode.
 35430  	//
 35431  	// This is equivalent to invoking
 35432  	// `HostAccessManager.ChangeLockdownMode`
 35433  	// immediately after addition and connection to the host succeeds.
 35434  	//
 35435  	// If equal to `lockdownDisabled`
 35436  	// then it is ignored.
 35437  	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
 35438  	// Deprecated not supported since vSphere 6.5.
 35439  	//
 35440  	// Setting for a gateway for communication to the host.
 35441  	//
 35442  	// If set all trafic to the
 35443  	// host will pass through this gateway.
 35444  	HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty" json:"hostGateway,omitempty"`
 35445  }
 35446  
 35447  func init() {
 35448  	t["HostConnectSpec"] = reflect.TypeOf((*HostConnectSpec)(nil)).Elem()
 35449  }
 35450  
 35451  // This event records a successful host connection.
 35452  type HostConnectedEvent struct {
 35453  	HostEvent
 35454  }
 35455  
 35456  func init() {
 35457  	t["HostConnectedEvent"] = reflect.TypeOf((*HostConnectedEvent)(nil)).Elem()
 35458  }
 35459  
 35460  // This event records the loss of a host connection.
 35461  type HostConnectionLostEvent struct {
 35462  	HostEvent
 35463  }
 35464  
 35465  func init() {
 35466  	t["HostConnectionLostEvent"] = reflect.TypeOf((*HostConnectionLostEvent)(nil)).Elem()
 35467  }
 35468  
 35469  // The CpuIdInfo data object type is used to represent the CPU features of
 35470  // a particular host or product, or to specify what the CPU feature
 35471  // requirements are for a particular virtual machine or guest operating
 35472  // system.
 35473  //
 35474  // As of vSphere API 5.1 `FeatureMask` must be
 35475  // used for masking all hosts and is the recommended method for masking
 35476  // virtual machines with hardware version 9 and above (newer). CpuIdInfo
 35477  // should be used only to mask hardware version 8 and lower (older)
 35478  // virtual machines. Although CpuIdInfo can mask all virtual machines
 35479  // regardless of hardware version, its application is limited and has been
 35480  // superceded by FeatureMask.
 35481  //
 35482  // For each register (eax,ebx,ecx,edx), the string is a bit mask of the form:
 35483  //
 35484  //	????:????:????:????:????:????:????:????
 35485  //
 35486  // When used to represent the features of a specific processor package
 35487  // (`HostHardwareInfo.cpuPkg`), the features common to all
 35488  // processors on a host (`HostHardwareInfo.cpuFeature`), or the
 35489  // features supported by a virtualization platform
 35490  // (`HostCapability.supportedCpuFeature`), each bit is either '0'
 35491  // or '1', or '-' for unknown/unspecified. In these feature vectors, the
 35492  // vendor field is never set.
 35493  //
 35494  // Optional values in these feature vectors default to
 35495  // '----:----:----:----:----:----:----:----'.
 35496  //
 35497  // When specifying the required feature set for a virtual machine or a guest
 35498  // operating system, the bits can take on the values as described below, and
 35499  // the vendor field may be set. The total feature requirements for a virtual
 35500  // machine are composed by using any requirements listed in the virtual
 35501  // machine's configuration to override the requirements listed in the
 35502  // descriptor for the virtual machine's guest OS.
 35503  //
 35504  // Bits used for specifying requirements:
 35505  //   - `*x*`: Unused by guest software.
 35506  //   - `*T*`: Feature that the guest software requires to be enabled.
 35507  //   - `*F*`: Feature that the guest software requires to be disabled.
 35508  //   - `*1*`: Feature will be reported as enabled if queried by the guest
 35509  //     software.
 35510  //   - `*0*`: Feature will be reported as disabled if queried by the guest
 35511  //     software.
 35512  //   - `*R*`: Feature will be reported as disabled if queried by the guest
 35513  //     software; however, for VMotion the actual value of this
 35514  //     feature is required to be the same on both hosts.
 35515  //   - `*H*`: Used by guest software. For VMotion the value of this
 35516  //     feature is required to be the same on both hosts.
 35517  //   - `*-*`: This bit type is only used in the requirements stored in
 35518  //     the virtual machine's configuration. It indicates that, for
 35519  //     this bit position, the requirement from the guest OS
 35520  //     descriptor should be used instead.
 35521  //
 35522  // The values 'F' and '1' are rarely used but included for completeness. The
 35523  // '0' and '1' values do not promise a faithful virtualization of these
 35524  // features; whether the features work when forced to 0 or 1 is highly
 35525  // dependent on the guest software.
 35526  //
 35527  // Optional values in the requirements from the virtual machine's
 35528  // configuration default to '----:----:----:----:----:----:----:----'.
 35529  // Optional values in the requirements from the guest OS descriptor default
 35530  // to 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'.
 35531  //
 35532  // Once the feature requirements for a virtual machine have been composed
 35533  // from the virtual machine's configuration and guest OS descriptor, the bit
 35534  // types above are used to identify whether or not the virtual machine
 35535  // can be powered on or be migrated with VMotion to a particular host.
 35536  // The rules are as follows:
 35537  //   - `*Power-on*`: Requirements marked as 'T' or 'F' must match bits
 35538  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 35539  //     of the power-on host.
 35540  //   - `*VMotion*`: Requirements marked as 'T' or 'F' must match bits
 35541  //     '1' or '0', respectively, in the features advertised by the HardwareInfo
 35542  //     of the destination host. Also, at the positions where requirements are
 35543  //     marked 'H' or 'R', the advertised value of that feature for the source
 35544  //     host must match that of the destination host.
 35545  type HostCpuIdInfo struct {
 35546  	DynamicData
 35547  
 35548  	// Level (EAX input to CPUID).
 35549  	Level int32 `xml:"level" json:"level"`
 35550  	// Used if this mask is for a particular vendor.
 35551  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 35552  	// String representing the required EAX bits.
 35553  	Eax string `xml:"eax,omitempty" json:"eax,omitempty"`
 35554  	// String representing the required EBX bits.
 35555  	Ebx string `xml:"ebx,omitempty" json:"ebx,omitempty"`
 35556  	// String representing the required ECX bits.
 35557  	Ecx string `xml:"ecx,omitempty" json:"ecx,omitempty"`
 35558  	// String representing the required EDX bits.
 35559  	Edx string `xml:"edx,omitempty" json:"edx,omitempty"`
 35560  }
 35561  
 35562  func init() {
 35563  	t["HostCpuIdInfo"] = reflect.TypeOf((*HostCpuIdInfo)(nil)).Elem()
 35564  }
 35565  
 35566  // Information about the CPUs.
 35567  type HostCpuInfo struct {
 35568  	DynamicData
 35569  
 35570  	// Number of physical CPU packages on the host.
 35571  	NumCpuPackages int16 `xml:"numCpuPackages" json:"numCpuPackages"`
 35572  	// Number of physical CPU cores on the host.
 35573  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 35574  	// Number of physical CPU threads on the host.
 35575  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 35576  	// CPU speed per core.
 35577  	//
 35578  	// This might be an averaged value if the speed
 35579  	// is not uniform across all cores. The total CPU speed of the box is
 35580  	// defined as hz \* numCpuCores
 35581  	Hz int64 `xml:"hz" json:"hz"`
 35582  }
 35583  
 35584  func init() {
 35585  	t["HostCpuInfo"] = reflect.TypeOf((*HostCpuInfo)(nil)).Elem()
 35586  }
 35587  
 35588  // Information about a physical CPU package.
 35589  type HostCpuPackage struct {
 35590  	DynamicData
 35591  
 35592  	// Package index, starting from zero.
 35593  	Index int16 `xml:"index" json:"index"`
 35594  	// CPU vendor name, possible names currently are "Intel", "AMD",
 35595  	// "arm", "hygon", or "unknown".
 35596  	Vendor string `xml:"vendor" json:"vendor"`
 35597  	// CPU speed in HZ.
 35598  	Hz int64 `xml:"hz" json:"hz"`
 35599  	// Bus speed in HZ.
 35600  	BusHz int64 `xml:"busHz" json:"busHz"`
 35601  	// String summary description of CPU (for display purposes).
 35602  	Description string `xml:"description" json:"description"`
 35603  	// The logical CPU threads on this package.
 35604  	ThreadId []int16 `xml:"threadId" json:"threadId"`
 35605  	// The CPU feature bit on this particular CPU.
 35606  	//
 35607  	// This is independent of
 35608  	// the product and licensing capabilities.
 35609  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 35610  	// Family ID for the CPU
 35611  	Family int16 `xml:"family,omitempty" json:"family,omitempty" vim:"8.0.3.0"`
 35612  	// Model number of the CPU
 35613  	Model int16 `xml:"model,omitempty" json:"model,omitempty" vim:"8.0.3.0"`
 35614  	// Stepping ID of the CPU
 35615  	Stepping int16 `xml:"stepping,omitempty" json:"stepping,omitempty" vim:"8.0.3.0"`
 35616  }
 35617  
 35618  func init() {
 35619  	t["HostCpuPackage"] = reflect.TypeOf((*HostCpuPackage)(nil)).Elem()
 35620  }
 35621  
 35622  // The CpuPowerManagementInfo data object type describes supported
 35623  // power management and current policy.
 35624  type HostCpuPowerManagementInfo struct {
 35625  	DynamicData
 35626  
 35627  	// Information about current CPU power management policy.
 35628  	CurrentPolicy string `xml:"currentPolicy,omitempty" json:"currentPolicy,omitempty"`
 35629  	// Information about supported CPU power management.
 35630  	HardwareSupport string `xml:"hardwareSupport,omitempty" json:"hardwareSupport,omitempty"`
 35631  }
 35632  
 35633  func init() {
 35634  	t["HostCpuPowerManagementInfo"] = reflect.TypeOf((*HostCpuPowerManagementInfo)(nil)).Elem()
 35635  }
 35636  
 35637  // This data object describes the information related to the CPU scheduler
 35638  // running on the Host.
 35639  type HostCpuSchedulerInfo struct {
 35640  	DynamicData
 35641  
 35642  	// The `policy` active for CPU Scheduling.
 35643  	Policy string `xml:"policy" json:"policy"`
 35644  }
 35645  
 35646  func init() {
 35647  	t["HostCpuSchedulerInfo"] = reflect.TypeOf((*HostCpuSchedulerInfo)(nil)).Elem()
 35648  	minAPIVersionForType["HostCpuSchedulerInfo"] = "8.0.3.0"
 35649  }
 35650  
 35651  // The parameters of `HostVStorageObjectManager.HostCreateDisk_Task`.
 35652  type HostCreateDiskRequestType struct {
 35653  	This ManagedObjectReference `xml:"_this" json:"-"`
 35654  	// The specification of the virtual storage object
 35655  	// to be created.
 35656  	// 2
 35657  	Spec VslmCreateSpec `xml:"spec" json:"spec"`
 35658  }
 35659  
 35660  func init() {
 35661  	t["HostCreateDiskRequestType"] = reflect.TypeOf((*HostCreateDiskRequestType)(nil)).Elem()
 35662  }
 35663  
 35664  type HostCreateDisk_Task HostCreateDiskRequestType
 35665  
 35666  func init() {
 35667  	t["HostCreateDisk_Task"] = reflect.TypeOf((*HostCreateDisk_Task)(nil)).Elem()
 35668  }
 35669  
 35670  type HostCreateDisk_TaskResponse struct {
 35671  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 35672  }
 35673  
 35674  // This event records when HA has been disabled on a host.
 35675  type HostDasDisabledEvent struct {
 35676  	HostEvent
 35677  }
 35678  
 35679  func init() {
 35680  	t["HostDasDisabledEvent"] = reflect.TypeOf((*HostDasDisabledEvent)(nil)).Elem()
 35681  }
 35682  
 35683  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 35684  //
 35685  // This event records when HA is being disabled on a host.
 35686  type HostDasDisablingEvent struct {
 35687  	HostEvent
 35688  }
 35689  
 35690  func init() {
 35691  	t["HostDasDisablingEvent"] = reflect.TypeOf((*HostDasDisablingEvent)(nil)).Elem()
 35692  }
 35693  
 35694  // This event records when HA has been enabled on a host.
 35695  type HostDasEnabledEvent struct {
 35696  	HostEvent
 35697  }
 35698  
 35699  func init() {
 35700  	t["HostDasEnabledEvent"] = reflect.TypeOf((*HostDasEnabledEvent)(nil)).Elem()
 35701  }
 35702  
 35703  // This event records when HA is being enabled on a host.
 35704  type HostDasEnablingEvent struct {
 35705  	HostEvent
 35706  }
 35707  
 35708  func init() {
 35709  	t["HostDasEnablingEvent"] = reflect.TypeOf((*HostDasEnablingEvent)(nil)).Elem()
 35710  }
 35711  
 35712  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 35713  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.HA.HostAgentErrorEvent".
 35714  //
 35715  // This event records when there is a HA error on a host.
 35716  type HostDasErrorEvent struct {
 35717  	HostEvent
 35718  
 35719  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 35720  	// The reason for the failure.
 35721  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 35722  }
 35723  
 35724  func init() {
 35725  	t["HostDasErrorEvent"] = reflect.TypeOf((*HostDasErrorEvent)(nil)).Elem()
 35726  }
 35727  
 35728  // Top-level event for host DAS events to extend.
 35729  type HostDasEvent struct {
 35730  	HostEvent
 35731  }
 35732  
 35733  func init() {
 35734  	t["HostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem()
 35735  }
 35736  
 35737  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 35738  //
 35739  // This event records when HA on a host returns to normal after an error.
 35740  type HostDasOkEvent struct {
 35741  	HostEvent
 35742  }
 35743  
 35744  func init() {
 35745  	t["HostDasOkEvent"] = reflect.TypeOf((*HostDasOkEvent)(nil)).Elem()
 35746  }
 35747  
 35748  // DataTransportConnectionInfo contains common information about data transport
 35749  // connections on a host.
 35750  type HostDataTransportConnectionInfo struct {
 35751  	DynamicData
 35752  
 35753  	// Static memory consumption by a connection in bytes like buffer sizes, heap sizes, etc.
 35754  	StaticMemoryConsumed int64 `xml:"staticMemoryConsumed" json:"staticMemoryConsumed"`
 35755  }
 35756  
 35757  func init() {
 35758  	t["HostDataTransportConnectionInfo"] = reflect.TypeOf((*HostDataTransportConnectionInfo)(nil)).Elem()
 35759  	minAPIVersionForType["HostDataTransportConnectionInfo"] = "7.0.3.0"
 35760  }
 35761  
 35762  // This data object type contains the results of a search method for one datastore.
 35763  //
 35764  // A
 35765  // search method typically returns a set of these objects as an array.
 35766  type HostDatastoreBrowserSearchResults struct {
 35767  	DynamicData
 35768  
 35769  	// Datastore contains the results.
 35770  	//
 35771  	// Refers instance of `Datastore`.
 35772  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 35773  	// Relative path to the top-level folder.
 35774  	FolderPath string `xml:"folderPath,omitempty" json:"folderPath,omitempty"`
 35775  	// Set of matching files, if any.
 35776  	File []BaseFileInfo `xml:"file,omitempty,typeattr" json:"file,omitempty"`
 35777  }
 35778  
 35779  func init() {
 35780  	t["HostDatastoreBrowserSearchResults"] = reflect.TypeOf((*HostDatastoreBrowserSearchResults)(nil)).Elem()
 35781  }
 35782  
 35783  // The data object type describes a search for files in one or more datastores.
 35784  //
 35785  // The
 35786  // properties do not include the starting datastore path because that path is a
 35787  // separate parameter to the search method.
 35788  //
 35789  // A SearchSpec contains the query parameters and some global search modifiers.
 35790  type HostDatastoreBrowserSearchSpec struct {
 35791  	DynamicData
 35792  
 35793  	// The set of file types to match, search criteria specific to the file type, and
 35794  	// the amount of detail for a file.
 35795  	//
 35796  	// These search parameters are specific to a file
 35797  	// type, meaning that they can be specified only if the file type to which they
 35798  	// are associated is in the set. A file type cannot appear more than once in the
 35799  	// set.
 35800  	//
 35801  	// If this query object is not present, then all files providing only file level
 35802  	// details are matched.
 35803  	Query []BaseFileQuery `xml:"query,omitempty,typeattr" json:"query,omitempty"`
 35804  	// This object comprises a set of booleans that describe what details to return
 35805  	// for each file.
 35806  	//
 35807  	// The file level details apply globally to all matched files.
 35808  	Details *FileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 35809  	// This flag indicates whether or not to search using a case insensitive match on
 35810  	// type.
 35811  	//
 35812  	// In general the algorithm used to match file types relies on file
 35813  	// extensions. Although the specific file extensions used are encapsulated by this
 35814  	// API, clients are still allowed to modify the filtering behavior.
 35815  	//
 35816  	// By default, the DatastoreBrowser uses a platform-consistent algorithm to
 35817  	// determine if a file is of a type. Specifically on Linux, where case is
 35818  	// important, the search is case sensitive. On Windows, case is not important, so
 35819  	// the search is case insensitive.
 35820  	//
 35821  	// In an environment with heterogenous platforms, being platform-consistent may
 35822  	// not be desirable. As a result, the default behavior can be overridden by
 35823  	// setting this optional flag.
 35824  	SearchCaseInsensitive *bool `xml:"searchCaseInsensitive" json:"searchCaseInsensitive,omitempty"`
 35825  	// Specifies a list of file patterns that must match for a file to be returned.
 35826  	//
 35827  	// This search property is a filter that applies globally so that only files
 35828  	// matching the specified patterns are returned, regardless of the other search
 35829  	// parameters.
 35830  	MatchPattern []string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 35831  	// By default, files are sorted in alphabetical order regardless of file type.
 35832  	//
 35833  	// If
 35834  	// this flag is set to "true", folders are placed at the start of the list of
 35835  	// results in alphabetical order. The remaining files follow in alphabetical
 35836  	// order.
 35837  	SortFoldersFirst *bool `xml:"sortFoldersFirst" json:"sortFoldersFirst,omitempty"`
 35838  }
 35839  
 35840  func init() {
 35841  	t["HostDatastoreBrowserSearchSpec"] = reflect.TypeOf((*HostDatastoreBrowserSearchSpec)(nil)).Elem()
 35842  }
 35843  
 35844  // The base data object type for information about datastores on the host.
 35845  type HostDatastoreConnectInfo struct {
 35846  	DynamicData
 35847  
 35848  	// Basic datastore information.
 35849  	//
 35850  	// The managed object reference is not set.
 35851  	Summary DatastoreSummary `xml:"summary" json:"summary"`
 35852  }
 35853  
 35854  func init() {
 35855  	t["HostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem()
 35856  }
 35857  
 35858  // This data object type describes a datastore on the host that matches an existing
 35859  // datastore on VirtualCenter that has a different name.
 35860  type HostDatastoreExistsConnectInfo struct {
 35861  	HostDatastoreConnectInfo
 35862  
 35863  	// The name of a matching datastore on VirtualCenter.
 35864  	//
 35865  	// The datastore on the host
 35866  	// will be renamed to this name.
 35867  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 35868  }
 35869  
 35870  func init() {
 35871  	t["HostDatastoreExistsConnectInfo"] = reflect.TypeOf((*HostDatastoreExistsConnectInfo)(nil)).Elem()
 35872  }
 35873  
 35874  // This data object type describes a datastore on the host that has the same name as
 35875  // a different datastore on VirtualCenter.
 35876  type HostDatastoreNameConflictConnectInfo struct {
 35877  	HostDatastoreConnectInfo
 35878  
 35879  	// To resolve a conflict with existing datastores, a suggested new name of the
 35880  	// datastore can be provided.
 35881  	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
 35882  }
 35883  
 35884  func init() {
 35885  	t["HostDatastoreNameConflictConnectInfo"] = reflect.TypeOf((*HostDatastoreNameConflictConnectInfo)(nil)).Elem()
 35886  }
 35887  
 35888  // Capability vector indicating the available product features.
 35889  type HostDatastoreSystemCapabilities struct {
 35890  	DynamicData
 35891  
 35892  	// Indicates whether mounting the NFS volume is required to be done as part
 35893  	// of NAS datastore creation.
 35894  	//
 35895  	// If this is set to true, then NAS datastores
 35896  	// cannot be created for currently mounted NFS volumes.
 35897  	NfsMountCreationRequired bool `xml:"nfsMountCreationRequired" json:"nfsMountCreationRequired"`
 35898  	// Indicates whether mounting an NFS volume is supported
 35899  	// when a NAS datastore is created.
 35900  	//
 35901  	// If this option is false,
 35902  	// then NAS datastores corresponding to NFS volumes can be created
 35903  	// only for already mounted NFS volumes.
 35904  	NfsMountCreationSupported bool `xml:"nfsMountCreationSupported" json:"nfsMountCreationSupported"`
 35905  	// Indicates whether local datastores are supported.
 35906  	LocalDatastoreSupported bool `xml:"localDatastoreSupported" json:"localDatastoreSupported"`
 35907  	// Indicates whether vmfs extent expansion is supported.
 35908  	VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported" json:"vmfsExtentExpansionSupported,omitempty"`
 35909  }
 35910  
 35911  func init() {
 35912  	t["HostDatastoreSystemCapabilities"] = reflect.TypeOf((*HostDatastoreSystemCapabilities)(nil)).Elem()
 35913  }
 35914  
 35915  // Contains result of remove datastore request.
 35916  //
 35917  // Used as return value
 35918  // by `HostDatastoreSystem.RemoveDatastoreEx_Task`
 35919  type HostDatastoreSystemDatastoreResult struct {
 35920  	DynamicData
 35921  
 35922  	// Datastore removed
 35923  	//
 35924  	// Refers instance of `Datastore`.
 35925  	Key ManagedObjectReference `xml:"key" json:"key"`
 35926  	// Fault if removal fails
 35927  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 35928  }
 35929  
 35930  func init() {
 35931  	t["HostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*HostDatastoreSystemDatastoreResult)(nil)).Elem()
 35932  }
 35933  
 35934  // Specification for creating Virtual Volumed based datastore.
 35935  type HostDatastoreSystemVvolDatastoreSpec struct {
 35936  	DynamicData
 35937  
 35938  	// Name of the datastore.
 35939  	Name string `xml:"name" json:"name"`
 35940  	// Storage contained Id.
 35941  	//
 35942  	// This is used to retrieve configuration of the
 35943  	// storage container from SMS.
 35944  	ScId string `xml:"scId" json:"scId"`
 35945  }
 35946  
 35947  func init() {
 35948  	t["HostDatastoreSystemVvolDatastoreSpec"] = reflect.TypeOf((*HostDatastoreSystemVvolDatastoreSpec)(nil)).Elem()
 35949  }
 35950  
 35951  // This data object represents the dateTime configuration of the host.
 35952  type HostDateTimeConfig struct {
 35953  	DynamicData
 35954  
 35955  	// The time zone of the host.
 35956  	//
 35957  	// Must be one of the values of
 35958  	// `HostDateTimeSystemTimeZone.key`
 35959  	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
 35960  	// The NTP configuration on the host.
 35961  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 35962  	// The PTP configuration on the host.
 35963  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 35964  	// Specify which network time configuration to discipline vmkernel clock.
 35965  	//
 35966  	// See `HostDateTimeInfoProtocol_enum` for supported values.
 35967  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty" vim:"7.0.3.0"`
 35968  	// Bring Time services subsystem up or down.
 35969  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 35970  	// When Network Time service or Precision Time service are enabled
 35971  	// any detecteced failures will result in Events being sent to
 35972  	// Virtual Center.
 35973  	//
 35974  	// Use this setting to disable Time Events.
 35975  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 35976  	// When in PrecisionTimeSync, NTP configuration as set will be
 35977  	// running as backup.
 35978  	//
 35979  	// Use this setting to prevent NTP from becoming
 35980  	// the primary time protocol in the event of a PTP service failure.
 35981  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 35982  	// When this property is present and set true the existing
 35983  	// configuration for Time Services will be reset to factory default.
 35984  	//
 35985  	// The protocol property when set defines the scope of what is reset.
 35986  	// If additional configuration beyond protocol is provided host
 35987  	// will first perform factory reset followed by applying any configuration
 35988  	// present.
 35989  	ResetToFactoryDefaults *bool `xml:"resetToFactoryDefaults" json:"resetToFactoryDefaults,omitempty" vim:"7.0.3.0"`
 35990  }
 35991  
 35992  func init() {
 35993  	t["HostDateTimeConfig"] = reflect.TypeOf((*HostDateTimeConfig)(nil)).Elem()
 35994  }
 35995  
 35996  // This data object represents the dateTime configuration of the host.
 35997  type HostDateTimeInfo struct {
 35998  	DynamicData
 35999  
 36000  	// The time zone of the host.
 36001  	TimeZone HostDateTimeSystemTimeZone `xml:"timeZone" json:"timeZone"`
 36002  	// The system clock synchronization protocol.
 36003  	//
 36004  	// See `HostDateTimeInfoProtocol_enum` for possible values.
 36005  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
 36006  	// The NTP configuration on the host.
 36007  	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
 36008  	// The PTP configuration on the host.
 36009  	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
 36010  	// Present state of the time services subsystem.
 36011  	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
 36012  	// When not disabled Network Time service or Precision Time service
 36013  	// will send events to Virtual Center when service fails or recovers.
 36014  	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
 36015  	// When not disabled, if PrecisionTimeSync is configured, then the
 36016  	// NTP configuration can run as backup.
 36017  	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
 36018  	// Tracks if NTP is providing time to ESXi due to PTP service failure.
 36019  	//
 36020  	// This is set only if disableFallback is set to false.
 36021  	InFallbackState *bool `xml:"inFallbackState" json:"inFallbackState,omitempty" vim:"7.0.3.0"`
 36022  	// Report true if time is synchronized with remote time source
 36023  	// For PrecisionTimeSync this is obtained from PTP Port Status value.
 36024  	//
 36025  	// For NetworkTimeProtocol this obtained from Leap Indicator value.
 36026  	ServiceSync *bool `xml:"serviceSync" json:"serviceSync,omitempty" vim:"7.0.3.0"`
 36027  	// Timestamp when time services were last in sync with remote clock.
 36028  	//
 36029  	// If not set, time services have never established synchronization.
 36030  	LastSyncTime *time.Time `xml:"lastSyncTime" json:"lastSyncTime,omitempty" vim:"7.0.3.0"`
 36031  	// Provides the NTP server that the host is synced with from the
 36032  	// set of servers configured.
 36033  	RemoteNtpServer string `xml:"remoteNtpServer,omitempty" json:"remoteNtpServer,omitempty" vim:"7.0.3.0"`
 36034  	// Provides the total seconds ntpd process has been running for.
 36035  	NtpRunTime int64 `xml:"ntpRunTime,omitempty" json:"ntpRunTime,omitempty" vim:"7.0.3.0"`
 36036  	// Provides the total seconds ptpd process has been running for.
 36037  	PtpRunTime int64 `xml:"ptpRunTime,omitempty" json:"ptpRunTime,omitempty" vim:"7.0.3.0"`
 36038  	// Provides a duration in simplified, human-readable form
 36039  	// for the lifetime of the ntp service.
 36040  	NtpDuration string `xml:"ntpDuration,omitempty" json:"ntpDuration,omitempty" vim:"7.0.3.0"`
 36041  	// Provides a duration in simplified, human-readable form
 36042  	// for the lifetime of the ptp service.
 36043  	PtpDuration string `xml:"ptpDuration,omitempty" json:"ptpDuration,omitempty" vim:"7.0.3.0"`
 36044  }
 36045  
 36046  func init() {
 36047  	t["HostDateTimeInfo"] = reflect.TypeOf((*HostDateTimeInfo)(nil)).Elem()
 36048  }
 36049  
 36050  type HostDateTimeSystemServiceTestResult struct {
 36051  	DynamicData
 36052  
 36053  	// Value is true if time services are presently working normally.
 36054  	WorkingNormally bool `xml:"workingNormally" json:"workingNormally"`
 36055  	// Returns details of the checks done to verify time services are working.
 36056  	Report []string `xml:"report,omitempty" json:"report,omitempty"`
 36057  }
 36058  
 36059  func init() {
 36060  	t["HostDateTimeSystemServiceTestResult"] = reflect.TypeOf((*HostDateTimeSystemServiceTestResult)(nil)).Elem()
 36061  	minAPIVersionForType["HostDateTimeSystemServiceTestResult"] = "7.0.3.0"
 36062  }
 36063  
 36064  type HostDateTimeSystemTimeZone struct {
 36065  	DynamicData
 36066  
 36067  	// The identifier for the time zone.
 36068  	Key string `xml:"key" json:"key"`
 36069  	// The time zone name.
 36070  	Name string `xml:"name" json:"name"`
 36071  	// Description of the time zone.
 36072  	Description string `xml:"description" json:"description"`
 36073  	// The GMT offset in seconds that is currently applicable to the timezone
 36074  	// (with respect to the current time on the host).
 36075  	GmtOffset int32 `xml:"gmtOffset" json:"gmtOffset"`
 36076  }
 36077  
 36078  func init() {
 36079  	t["HostDateTimeSystemTimeZone"] = reflect.TypeOf((*HostDateTimeSystemTimeZone)(nil)).Elem()
 36080  }
 36081  
 36082  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObjectEx_Task`.
 36083  type HostDeleteVStorageObjectExRequestType struct {
 36084  	This ManagedObjectReference `xml:"_this" json:"-"`
 36085  	// The ID of the virtual storage object to be deleted.
 36086  	Id ID `xml:"id" json:"id"`
 36087  	// The datastore where the virtual storage object is
 36088  	// located.
 36089  	//
 36090  	// Refers instance of `Datastore`.
 36091  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36092  }
 36093  
 36094  func init() {
 36095  	t["HostDeleteVStorageObjectExRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectExRequestType)(nil)).Elem()
 36096  	minAPIVersionForType["HostDeleteVStorageObjectExRequestType"] = "7.0.2.0"
 36097  }
 36098  
 36099  type HostDeleteVStorageObjectEx_Task HostDeleteVStorageObjectExRequestType
 36100  
 36101  func init() {
 36102  	t["HostDeleteVStorageObjectEx_Task"] = reflect.TypeOf((*HostDeleteVStorageObjectEx_Task)(nil)).Elem()
 36103  }
 36104  
 36105  type HostDeleteVStorageObjectEx_TaskResponse struct {
 36106  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36107  }
 36108  
 36109  // The parameters of `HostVStorageObjectManager.HostDeleteVStorageObject_Task`.
 36110  type HostDeleteVStorageObjectRequestType struct {
 36111  	This ManagedObjectReference `xml:"_this" json:"-"`
 36112  	// The ID of the virtual storage object to be deleted.
 36113  	Id ID `xml:"id" json:"id"`
 36114  	// The datastore where the virtual storage object is
 36115  	// located.
 36116  	//
 36117  	// Refers instance of `Datastore`.
 36118  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36119  }
 36120  
 36121  func init() {
 36122  	t["HostDeleteVStorageObjectRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectRequestType)(nil)).Elem()
 36123  }
 36124  
 36125  type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType
 36126  
 36127  func init() {
 36128  	t["HostDeleteVStorageObject_Task"] = reflect.TypeOf((*HostDeleteVStorageObject_Task)(nil)).Elem()
 36129  }
 36130  
 36131  type HostDeleteVStorageObject_TaskResponse struct {
 36132  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36133  }
 36134  
 36135  // Data object describing the deployment information for a host.
 36136  type HostDeploymentInfo struct {
 36137  	DynamicData
 36138  
 36139  	// Flag indicating if the host was booted from stateless cache.
 36140  	BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache" json:"bootedFromStatelessCache,omitempty"`
 36141  }
 36142  
 36143  func init() {
 36144  	t["HostDeploymentInfo"] = reflect.TypeOf((*HostDeploymentInfo)(nil)).Elem()
 36145  }
 36146  
 36147  // This data object type defines a device on the host.
 36148  type HostDevice struct {
 36149  	DynamicData
 36150  
 36151  	// The name of the device on the host.
 36152  	//
 36153  	// For example,
 36154  	// /dev/cdrom or \\\\serverX\\device\_name.
 36155  	DeviceName string `xml:"deviceName" json:"deviceName"`
 36156  	// Device type when available:
 36157  	// floppy, mouse, cdrom, disk, scsi device, or adapter.
 36158  	DeviceType string `xml:"deviceType" json:"deviceType"`
 36159  }
 36160  
 36161  func init() {
 36162  	t["HostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem()
 36163  }
 36164  
 36165  // A dynamic host control protocol (DHCP) service instance serves IP
 36166  // addresses to a single virtual network subnet.
 36167  //
 36168  // The instances may
 36169  // be handled collectively by a single server. This decision can
 36170  // be made during implementation.
 36171  type HostDhcpService struct {
 36172  	DynamicData
 36173  
 36174  	// The instance ID of the DHCP service.
 36175  	Key string `xml:"key" json:"key"`
 36176  	// Configurable properties for the DHCP service.
 36177  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 36178  }
 36179  
 36180  func init() {
 36181  	t["HostDhcpService"] = reflect.TypeOf((*HostDhcpService)(nil)).Elem()
 36182  }
 36183  
 36184  // This data object type describes the configuration of a DHCP service
 36185  // instance representing both the configured properties
 36186  // on the instance and identification information.
 36187  type HostDhcpServiceConfig struct {
 36188  	DynamicData
 36189  
 36190  	// Indicates the change operation to apply on this configuration
 36191  	// specification.
 36192  	//
 36193  	// See also `HostConfigChangeOperation_enum`.
 36194  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 36195  	// The instance ID of the DHCP service.
 36196  	Key string `xml:"key" json:"key"`
 36197  	// Specification of the DHCP service.
 36198  	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
 36199  }
 36200  
 36201  func init() {
 36202  	t["HostDhcpServiceConfig"] = reflect.TypeOf((*HostDhcpServiceConfig)(nil)).Elem()
 36203  }
 36204  
 36205  type HostDhcpServiceSpec struct {
 36206  	DynamicData
 36207  
 36208  	// The name of the virtual switch to which DHCP service is connected.
 36209  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 36210  	// The default DHCP lease duration (minutes).
 36211  	DefaultLeaseDuration int32 `xml:"defaultLeaseDuration" json:"defaultLeaseDuration"`
 36212  	// The start of the IP address range served by the DHCP service.
 36213  	LeaseBeginIp string `xml:"leaseBeginIp" json:"leaseBeginIp"`
 36214  	// The end of the IP address range served by the DHCP service.
 36215  	LeaseEndIp string `xml:"leaseEndIp" json:"leaseEndIp"`
 36216  	// The maximum DHCP lease duration (minutes).
 36217  	MaxLeaseDuration int32 `xml:"maxLeaseDuration" json:"maxLeaseDuration"`
 36218  	// A flag to indicate whether or not unlimited DHCP lease
 36219  	// durations are allowed.
 36220  	UnlimitedLease bool `xml:"unlimitedLease" json:"unlimitedLease"`
 36221  	// Subnet served by DHCP service.
 36222  	IpSubnetAddr string `xml:"ipSubnetAddr" json:"ipSubnetAddr"`
 36223  	// Subnet mask of network served by DHCP service.
 36224  	IpSubnetMask string `xml:"ipSubnetMask" json:"ipSubnetMask"`
 36225  }
 36226  
 36227  func init() {
 36228  	t["HostDhcpServiceSpec"] = reflect.TypeOf((*HostDhcpServiceSpec)(nil)).Elem()
 36229  }
 36230  
 36231  // This data object type contains information about an available or active
 36232  // diagnostic partition.
 36233  type HostDiagnosticPartition struct {
 36234  	DynamicData
 36235  
 36236  	// Indicates the storage type of the diagnostic partition.
 36237  	//
 36238  	// See also `DiagnosticPartitionStorageType_enum`.
 36239  	StorageType string `xml:"storageType" json:"storageType"`
 36240  	// Indicates the type of the diagnostic partition.
 36241  	//
 36242  	// See also `DiagnosticPartitionType_enum`.
 36243  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36244  	// The number of slots in the diagnostic partition.
 36245  	Slots int32 `xml:"slots" json:"slots"`
 36246  	// Diagnostic partition identification information.
 36247  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 36248  }
 36249  
 36250  func init() {
 36251  	t["HostDiagnosticPartition"] = reflect.TypeOf((*HostDiagnosticPartition)(nil)).Elem()
 36252  }
 36253  
 36254  // The diagnostic partition create description details what will be done
 36255  // to create a new diagnostic partition on a disk.
 36256  //
 36257  // It contains a CreateSpec
 36258  // that can be submitted to create the partition and information that can
 36259  // be shown to the user.
 36260  type HostDiagnosticPartitionCreateDescription struct {
 36261  	DynamicData
 36262  
 36263  	// Layout describing the format of the disk
 36264  	// In releases after vSphere API 5.0, vSphere Servers might not
 36265  	// generate property collector update notifications for this property.
 36266  	//
 36267  	// To obtain the latest value of the property, you can use
 36268  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 36269  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 36270  	// an empty string for the version parameter.
 36271  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 36272  	// contain values for this property when some other property on the DataObject changes.
 36273  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 36274  	// version parameter, the value for this property may not be current.
 36275  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 36276  	// The UUID of the SCSI disk on which to create the diagnostic partition.
 36277  	//
 36278  	// This disk UUID will match that found in the identification field of the
 36279  	// creation spec.
 36280  	//
 36281  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 36282  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 36283  	// Creation specification for diagnostic partition
 36284  	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
 36285  }
 36286  
 36287  func init() {
 36288  	t["HostDiagnosticPartitionCreateDescription"] = reflect.TypeOf((*HostDiagnosticPartitionCreateDescription)(nil)).Elem()
 36289  }
 36290  
 36291  // This data object describes a disk that can be used to create a
 36292  // diagnostic partition.
 36293  type HostDiagnosticPartitionCreateOption struct {
 36294  	DynamicData
 36295  
 36296  	// Indicates the storage type of diagnostic partition to be created.
 36297  	//
 36298  	// See also `DiagnosticPartitionStorageType_enum`.
 36299  	StorageType string `xml:"storageType" json:"storageType"`
 36300  	// Indicates the type of the diagnostic partition to be created.
 36301  	//
 36302  	// See also `DiagnosticPartitionType_enum`.
 36303  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36304  	// The disk which has sufficient free space to contain a diagnostic
 36305  	// partition.
 36306  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 36307  }
 36308  
 36309  func init() {
 36310  	t["HostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*HostDiagnosticPartitionCreateOption)(nil)).Elem()
 36311  }
 36312  
 36313  // The diagnostic create specification is used by the system to create a new
 36314  // diagnostic partition on a SCSI disk.
 36315  type HostDiagnosticPartitionCreateSpec struct {
 36316  	DynamicData
 36317  
 36318  	// Indicates the storage type where the diagnostic partition
 36319  	// will be created.
 36320  	//
 36321  	// See also `DiagnosticPartitionStorageType_enum`.
 36322  	StorageType string `xml:"storageType" json:"storageType"`
 36323  	// Indicates the type of the diagnostic partition to be created.
 36324  	//
 36325  	// See also `DiagnosticPartitionType_enum`.
 36326  	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
 36327  	// Diagnostic partition identification information.
 36328  	Id HostScsiDiskPartition `xml:"id" json:"id"`
 36329  	// Partitioning specification.
 36330  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 36331  	// Indicates if the created diagnostic partition should be made the
 36332  	// active diagnostic partition.
 36333  	//
 36334  	// If not supplied, the system will
 36335  	// decide whether or not the created specification is active.
 36336  	Active *bool `xml:"active" json:"active,omitempty"`
 36337  }
 36338  
 36339  func init() {
 36340  	t["HostDiagnosticPartitionCreateSpec"] = reflect.TypeOf((*HostDiagnosticPartitionCreateSpec)(nil)).Elem()
 36341  }
 36342  
 36343  // This data object type describes the digest information
 36344  type HostDigestInfo struct {
 36345  	DynamicData
 36346  
 36347  	// Method in which the digest value is calculated.
 36348  	//
 36349  	// The set of possible
 36350  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 36351  	DigestMethod string `xml:"digestMethod" json:"digestMethod"`
 36352  	// The variable length byte array containing the digest value calculated by
 36353  	// the specified digestMethod.
 36354  	DigestValue ByteSlice `xml:"digestValue" json:"digestValue"`
 36355  	// The name of the object from which this digest value is calcaulated.
 36356  	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
 36357  }
 36358  
 36359  func init() {
 36360  	t["HostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem()
 36361  }
 36362  
 36363  // `HostDirectoryStoreInfo` is a base class for objects that
 36364  // provide information about directory-based authentication stores.
 36365  type HostDirectoryStoreInfo struct {
 36366  	HostAuthenticationStoreInfo
 36367  }
 36368  
 36369  func init() {
 36370  	t["HostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem()
 36371  }
 36372  
 36373  // This event records a disconnection from a host.
 36374  type HostDisconnectedEvent struct {
 36375  	HostEvent
 36376  
 36377  	// Reason why the host was disconnected.
 36378  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 36379  }
 36380  
 36381  func init() {
 36382  	t["HostDisconnectedEvent"] = reflect.TypeOf((*HostDisconnectedEvent)(nil)).Elem()
 36383  }
 36384  
 36385  // Disk configuration result returns success or fault of the
 36386  // operation on the disk.
 36387  type HostDiskConfigurationResult struct {
 36388  	DynamicData
 36389  
 36390  	// The device path.
 36391  	//
 36392  	// See `ScsiDisk`
 36393  	DevicePath string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 36394  	// Flag to indicate if the operation is successful
 36395  	Success *bool `xml:"success" json:"success,omitempty"`
 36396  	// 'fault' would be set if the operation was not successful
 36397  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 36398  }
 36399  
 36400  func init() {
 36401  	t["HostDiskConfigurationResult"] = reflect.TypeOf((*HostDiskConfigurationResult)(nil)).Elem()
 36402  }
 36403  
 36404  // This data object type describes multiple coordinate systems
 36405  // used to refer to a location or size on a disk.
 36406  type HostDiskDimensions struct {
 36407  	DynamicData
 36408  }
 36409  
 36410  func init() {
 36411  	t["HostDiskDimensions"] = reflect.TypeOf((*HostDiskDimensions)(nil)).Elem()
 36412  }
 36413  
 36414  // This data object type describes dimensions using the cylinder,
 36415  // head, sector (CHS) coordinate system.
 36416  //
 36417  // This coordinate system
 36418  // is generally needed for partitioning for legacy reasons. When defining
 36419  // partitions, many partitioning utilities do not function correctly when
 36420  // certain CHS constraints are not met.
 36421  type HostDiskDimensionsChs struct {
 36422  	DynamicData
 36423  
 36424  	// The number of cylinders.
 36425  	Cylinder int64 `xml:"cylinder" json:"cylinder"`
 36426  	// The number of heads per cylinders.
 36427  	Head int32 `xml:"head" json:"head"`
 36428  	// The number of sectors per head.
 36429  	Sector int32 `xml:"sector" json:"sector"`
 36430  }
 36431  
 36432  func init() {
 36433  	t["HostDiskDimensionsChs"] = reflect.TypeOf((*HostDiskDimensionsChs)(nil)).Elem()
 36434  }
 36435  
 36436  // This data object type describes the logical block addressing system
 36437  // that uses block numbers and block sizes to refer to a block.
 36438  //
 36439  // This
 36440  // scheme is employed by SCSI. If a SCSI disk is not involved,
 36441  // then blockSize is 512 bytes.
 36442  type HostDiskDimensionsLba struct {
 36443  	DynamicData
 36444  
 36445  	// The size of the blocks.
 36446  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 36447  	// The number of blocks.
 36448  	Block int64 `xml:"block" json:"block"`
 36449  }
 36450  
 36451  func init() {
 36452  	t["HostDiskDimensionsLba"] = reflect.TypeOf((*HostDiskDimensionsLba)(nil)).Elem()
 36453  }
 36454  
 36455  // The HostDiskMappingInfo data object type describes
 36456  // a virtual disk mapping to a host disk.
 36457  type HostDiskMappingInfo struct {
 36458  	DynamicData
 36459  
 36460  	// The partition used on the host, if not mapping
 36461  	// to a full disk device.
 36462  	PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 36463  	// Host resource name.
 36464  	Name string `xml:"name" json:"name"`
 36465  	// Flag to indicate whether or not the virtual machine has exclusive access
 36466  	// to the host device.
 36467  	Exclusive *bool `xml:"exclusive" json:"exclusive,omitempty"`
 36468  }
 36469  
 36470  func init() {
 36471  	t["HostDiskMappingInfo"] = reflect.TypeOf((*HostDiskMappingInfo)(nil)).Elem()
 36472  }
 36473  
 36474  // The HostDiskMappingOption data object type describes
 36475  // the options for a virtual disk mapping to a host disk.
 36476  type HostDiskMappingOption struct {
 36477  	DynamicData
 36478  
 36479  	// Array of valid partitions on this physical disk.
 36480  	//
 36481  	// There is no default for this array.
 36482  	PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
 36483  	// Host resource name.
 36484  	Name string `xml:"name" json:"name"`
 36485  }
 36486  
 36487  func init() {
 36488  	t["HostDiskMappingOption"] = reflect.TypeOf((*HostDiskMappingOption)(nil)).Elem()
 36489  }
 36490  
 36491  // The PhysicalPartitionInfo data class.
 36492  type HostDiskMappingPartitionInfo struct {
 36493  	DynamicData
 36494  
 36495  	// Partition name.
 36496  	Name string `xml:"name" json:"name"`
 36497  	// Filesystem, if the partition is formatted.
 36498  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 36499  	// Partition capacity, in KB.
 36500  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 36501  }
 36502  
 36503  func init() {
 36504  	t["HostDiskMappingPartitionInfo"] = reflect.TypeOf((*HostDiskMappingPartitionInfo)(nil)).Elem()
 36505  }
 36506  
 36507  // The PhysicalPartitionOption data class contains the options
 36508  // for a partition on a physical disk.
 36509  type HostDiskMappingPartitionOption struct {
 36510  	DynamicData
 36511  
 36512  	// Partition name.
 36513  	Name string `xml:"name" json:"name"`
 36514  	// File system, if the partition is formatted.
 36515  	FileSystem string `xml:"fileSystem" json:"fileSystem"`
 36516  	// Partition capacity, in KB.
 36517  	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
 36518  }
 36519  
 36520  func init() {
 36521  	t["HostDiskMappingPartitionOption"] = reflect.TypeOf((*HostDiskMappingPartitionOption)(nil)).Elem()
 36522  }
 36523  
 36524  // Information about a single disk partition.
 36525  //
 36526  // A partition is a contiguous
 36527  // set of blocks on a disk that is marked for use. The typeId identifies
 36528  // the purpose of the data in the partition.
 36529  type HostDiskPartitionAttributes struct {
 36530  	DynamicData
 36531  
 36532  	// The partition number.
 36533  	//
 36534  	// Must be a positive integer.
 36535  	Partition int32 `xml:"partition" json:"partition"`
 36536  	// The start sector.
 36537  	StartSector int64 `xml:"startSector" json:"startSector"`
 36538  	// The end sector.
 36539  	EndSector int64 `xml:"endSector" json:"endSector"`
 36540  	// Type of data in the partition.
 36541  	//
 36542  	// If it is a well-known partition type,
 36543  	// it will be one of the defined types. If it is not, then it will be
 36544  	// reported as a hexadecimal number. For example, "none", "vmfs", "linux",
 36545  	// and "0x20" are all valid values.
 36546  	//
 36547  	// See also `HostDiskPartitionInfoType_enum`.
 36548  	Type string `xml:"type" json:"type"`
 36549  	// Globally Unique Identifier of the partition, as defined by the GUID
 36550  	// Partition Table (GPT) format.
 36551  	//
 36552  	// This is available only for GPT formatted
 36553  	// disks.
 36554  	Guid string `xml:"guid,omitempty" json:"guid,omitempty"`
 36555  	// The flag to indicate whether or not the partition is
 36556  	// logical.
 36557  	//
 36558  	// If true, the partition
 36559  	// number should be greater than 4.
 36560  	Logical bool `xml:"logical" json:"logical"`
 36561  	// The attributes on the partition.
 36562  	Attributes byte `xml:"attributes" json:"attributes"`
 36563  	// Partition alignment in bytes.
 36564  	//
 36565  	// If unset, partition alignment value is unknown.
 36566  	PartitionAlignment int64 `xml:"partitionAlignment,omitempty" json:"partitionAlignment,omitempty"`
 36567  }
 36568  
 36569  func init() {
 36570  	t["HostDiskPartitionAttributes"] = reflect.TypeOf((*HostDiskPartitionAttributes)(nil)).Elem()
 36571  }
 36572  
 36573  // A BlockRange data object type describes a contiguous set of blocks
 36574  // on a disk.
 36575  //
 36576  // A BlockRange may describe either a partition or
 36577  // unpartitioned (primordial) blocks on the disk.
 36578  type HostDiskPartitionBlockRange struct {
 36579  	DynamicData
 36580  
 36581  	// Partition number.
 36582  	//
 36583  	// This number is a hint from the server indicating
 36584  	// what the partition number for this block range is if the range
 36585  	// corresponds to a partition. The partition number should correlate to
 36586  	// the one in the partition specification. If sent back to the server,
 36587  	// this property is ignored.
 36588  	Partition int32 `xml:"partition,omitempty" json:"partition,omitempty"`
 36589  	// The type of data in the partition.
 36590  	//
 36591  	// See also `HostDiskPartitionAttributes.type`.
 36592  	Type string `xml:"type" json:"type"`
 36593  	// The starting block address of the disk range.
 36594  	//
 36595  	// The block numbers start
 36596  	// from zero. The range is inclusive of the end address.
 36597  	Start HostDiskDimensionsLba `xml:"start" json:"start"`
 36598  	// The end block address of the disk range.
 36599  	//
 36600  	// The block numbers start
 36601  	// from zero. The range is inclusive of the end address.
 36602  	End HostDiskDimensionsLba `xml:"end" json:"end"`
 36603  }
 36604  
 36605  func init() {
 36606  	t["HostDiskPartitionBlockRange"] = reflect.TypeOf((*HostDiskPartitionBlockRange)(nil)).Elem()
 36607  }
 36608  
 36609  // Information about the partitions on a disk.
 36610  //
 36611  // A DiskPartitionInfo object
 36612  // provides two different views into the partitions on a disk:
 36613  //   - A detailed specification that is used to create the partition
 36614  //     table.
 36615  //   - A convenient view that shows the allocations
 36616  //     of blocks as a contiguous sequence of block ranges.
 36617  //
 36618  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.ComputeDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 36619  type HostDiskPartitionInfo struct {
 36620  	DynamicData
 36621  
 36622  	// The device name of the disk to which this partition information
 36623  	// corresponds.
 36624  	DeviceName string `xml:"deviceName" json:"deviceName"`
 36625  	// The detailed disk partition specification.
 36626  	//
 36627  	// Use this specification for
 36628  	// manipulating the file system.
 36629  	//
 36630  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 36631  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 36632  	// A convenient format for describing disk layout.
 36633  	//
 36634  	// This layout
 36635  	// specification can be converted to a Specification object.
 36636  	//
 36637  	// See also `HostStorageSystem.ComputeDiskPartitionInfo`.
 36638  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 36639  }
 36640  
 36641  func init() {
 36642  	t["HostDiskPartitionInfo"] = reflect.TypeOf((*HostDiskPartitionInfo)(nil)).Elem()
 36643  }
 36644  
 36645  // This data object type describes the disk partition layout
 36646  // specified as a list of ordered BlockRanges.
 36647  //
 36648  // This
 36649  // view of the disk partitions shows the data on the disk as a contiguous
 36650  // set of BlockRanges.
 36651  type HostDiskPartitionLayout struct {
 36652  	DynamicData
 36653  
 36654  	// Total number of blocks on a disk.
 36655  	Total *HostDiskDimensionsLba `xml:"total,omitempty" json:"total,omitempty"`
 36656  	// List of block ranges on the disk.
 36657  	Partition []HostDiskPartitionBlockRange `xml:"partition" json:"partition"`
 36658  }
 36659  
 36660  func init() {
 36661  	t["HostDiskPartitionLayout"] = reflect.TypeOf((*HostDiskPartitionLayout)(nil)).Elem()
 36662  }
 36663  
 36664  // This data object type describes the disk partition table
 36665  // specification used to configure the partitions on a
 36666  // disk.
 36667  //
 36668  // This data object represents the fundamental data needed to specify
 36669  // a partition table.
 36670  type HostDiskPartitionSpec struct {
 36671  	DynamicData
 36672  
 36673  	// Partition format type on the disk.
 36674  	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty"`
 36675  	// Disk dimensions expressed as cylinder, head, sector (CHS)
 36676  	// coordinates.
 36677  	Chs *HostDiskDimensionsChs `xml:"chs,omitempty" json:"chs,omitempty"`
 36678  	// Disk dimensions expressed as a total number of sectors.
 36679  	//
 36680  	// For sector size, see the `sectorSize` field.
 36681  	TotalSectors int64 `xml:"totalSectors,omitempty" json:"totalSectors,omitempty"`
 36682  	// List of partitions on the disk.
 36683  	Partition []HostDiskPartitionAttributes `xml:"partition,omitempty" json:"partition,omitempty"`
 36684  }
 36685  
 36686  func init() {
 36687  	t["HostDiskPartitionSpec"] = reflect.TypeOf((*HostDiskPartitionSpec)(nil)).Elem()
 36688  }
 36689  
 36690  // This data object type describes the DNS configuration.
 36691  //
 36692  // All IPv4 addresses, subnet addresses, and netmasks are specified using
 36693  // dotted decimal notation. For example, "192.0.2.1".
 36694  // IPv6 addresses are 128-bit addresses represented as
 36695  // eight fields of up to four hexadecimal digits.
 36696  // A colon separates each field (:). For example,
 36697  // 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 36698  // symbol '::' to represent multiple 16-bit groups of
 36699  // contiguous 0's only once in an address as described in RFC 2373.
 36700  type HostDnsConfig struct {
 36701  	DynamicData
 36702  
 36703  	// The flag to indicate whether or not DHCP (dynamic host control
 36704  	// protocol) is used to determine DNS configuration automatically.
 36705  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 36706  	// If DHCP is enabled, the DHCP DNS of the vmkernel nic will override
 36707  	// the system's DNS.
 36708  	//
 36709  	// This field applies to both IPv4 and IPv6 DNS settings
 36710  	// if `ipv6VirtualNicDevice`
 36711  	// is unset, otherwise it is applicable only for IPv4 setting.
 36712  	// This field is ignored if DHCP is disabled by the
 36713  	// `dhcp` property.
 36714  	VirtualNicDevice string `xml:"virtualNicDevice,omitempty" json:"virtualNicDevice,omitempty"`
 36715  	// If DHCP is enabled, the IPv6 DHCP DNS of the vmkernel nic will override
 36716  	// the system's IPv6 DNS.
 36717  	//
 36718  	// This field is ignored if DHCP is disabled by the
 36719  	// `dhcp` property.
 36720  	Ipv6VirtualNicDevice string `xml:"ipv6VirtualNicDevice,omitempty" json:"ipv6VirtualNicDevice,omitempty"`
 36721  	// The host name portion of DNS name.
 36722  	//
 36723  	// For example, "esx01".
 36724  	//
 36725  	// `*Note*`: When DHCP is not enabled, the property can be set
 36726  	// explicitly. When DHCP is enabled, the property reflects the current
 36727  	// DNS configuration, but cannot be set.
 36728  	// The hostName can't have character '.' in it when set explicitly.
 36729  	HostName string `xml:"hostName" json:"hostName"`
 36730  	// The domain name portion of the DNS name.
 36731  	//
 36732  	// For example, "vmware.com".
 36733  	//
 36734  	// `*Note*`: When DHCP is not enabled, the property can be set
 36735  	// explicitly. When DHCP is enabled, the property reflects the current
 36736  	// DNS configuration, but cannot be set.
 36737  	DomainName string `xml:"domainName" json:"domainName"`
 36738  	// The IP addresses of the DNS servers, placed in order of preference.
 36739  	//
 36740  	// `*Note*`: When DHCP is not enabled, the property can be set
 36741  	// explicitly. When DHCP is enabled, the property reflects the current
 36742  	// DNS configuration, but cannot be set.
 36743  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 36744  	// The domain in which to search for hosts, placed in order of preference.
 36745  	//
 36746  	// `*Note*`: When DHCP is not enabled, the property can be set
 36747  	// explicitly. When DHCP is enabled, the property reflects the current
 36748  	// DNS configuration, but cannot be set.
 36749  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 36750  }
 36751  
 36752  func init() {
 36753  	t["HostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem()
 36754  }
 36755  
 36756  // Dataobject for configuring the DNS settings on the host.
 36757  type HostDnsConfigSpec struct {
 36758  	HostDnsConfig
 36759  
 36760  	// Choose a Virtual nic based on what it is connected to.
 36761  	VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty" json:"virtualNicConnection,omitempty"`
 36762  	// Choose an IPv6 Virtual nic based on what it is connected to.
 36763  	VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty" json:"virtualNicConnectionV6,omitempty"`
 36764  }
 36765  
 36766  func init() {
 36767  	t["HostDnsConfigSpec"] = reflect.TypeOf((*HostDnsConfigSpec)(nil)).Elem()
 36768  }
 36769  
 36770  // Provides information about a single Device Virtualization Extensions (DVX)
 36771  // device class.
 36772  type HostDvxClass struct {
 36773  	DynamicData
 36774  
 36775  	// The class name.
 36776  	DeviceClass string `xml:"deviceClass" json:"deviceClass"`
 36777  	// Indicates whether checkpointing is supported.
 36778  	CheckpointSupported bool `xml:"checkpointSupported" json:"checkpointSupported"`
 36779  	// Indicates whether software Direct Memory Access (DMA)
 36780  	// tracing is supported.
 36781  	SwDMATracingSupported bool `xml:"swDMATracingSupported" json:"swDMATracingSupported"`
 36782  	// Indicates whether the devices of this class are SR-IOV NICs.
 36783  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 36784  }
 36785  
 36786  func init() {
 36787  	t["HostDvxClass"] = reflect.TypeOf((*HostDvxClass)(nil)).Elem()
 36788  	minAPIVersionForType["HostDvxClass"] = "8.0.0.1"
 36789  }
 36790  
 36791  // This event records the failure to restore some of the administrator's permissions.
 36792  type HostEnableAdminFailedEvent struct {
 36793  	HostEvent
 36794  
 36795  	Permissions []Permission `xml:"permissions" json:"permissions"`
 36796  }
 36797  
 36798  func init() {
 36799  	t["HostEnableAdminFailedEvent"] = reflect.TypeOf((*HostEnableAdminFailedEvent)(nil)).Elem()
 36800  }
 36801  
 36802  // EnterMaintenanceResult is the result returned to the
 36803  // `HostSystem.QueryWhatIfEnterMaintenance` method.
 36804  type HostEnterMaintenanceResult struct {
 36805  	DynamicData
 36806  
 36807  	// VM specific faults that would prevent host from
 36808  	// entering maintenance mode.
 36809  	VmFaults []FaultsByVM `xml:"vmFaults,omitempty" json:"vmFaults,omitempty"`
 36810  	// Host specific faults that would prevent host from
 36811  	// entering maintenance mode.
 36812  	HostFaults []FaultsByHost `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
 36813  }
 36814  
 36815  func init() {
 36816  	t["HostEnterMaintenanceResult"] = reflect.TypeOf((*HostEnterMaintenanceResult)(nil)).Elem()
 36817  }
 36818  
 36819  type HostEsxAgentHostManagerConfigInfo struct {
 36820  	DynamicData
 36821  
 36822  	// Datastore used for deploying Agent VMs on this host.
 36823  	//
 36824  	// Refers instance of `Datastore`.
 36825  	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
 36826  	// Management Network for Agent VMs on this host.
 36827  	//
 36828  	// Refers instance of `Network`.
 36829  	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
 36830  }
 36831  
 36832  func init() {
 36833  	t["HostEsxAgentHostManagerConfigInfo"] = reflect.TypeOf((*HostEsxAgentHostManagerConfigInfo)(nil)).Elem()
 36834  }
 36835  
 36836  // These are host-related events.
 36837  type HostEvent struct {
 36838  	Event
 36839  }
 36840  
 36841  func init() {
 36842  	t["HostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem()
 36843  }
 36844  
 36845  // The event argument is a Host object.
 36846  type HostEventArgument struct {
 36847  	EntityEventArgument
 36848  
 36849  	// The host object.
 36850  	//
 36851  	// Refers instance of `HostSystem`.
 36852  	Host ManagedObjectReference `xml:"host" json:"host"`
 36853  }
 36854  
 36855  func init() {
 36856  	t["HostEventArgument"] = reflect.TypeOf((*HostEventArgument)(nil)).Elem()
 36857  }
 36858  
 36859  // The parameters of `HostVStorageObjectManager.HostExtendDisk_Task`.
 36860  type HostExtendDiskRequestType struct {
 36861  	This ManagedObjectReference `xml:"_this" json:"-"`
 36862  	// The ID of the virtual disk to be extended.
 36863  	Id ID `xml:"id" json:"id"`
 36864  	// The datastore where the virtual disk is located.
 36865  	//
 36866  	// Refers instance of `Datastore`.
 36867  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 36868  	// The new capacity of the virtual disk in MB.
 36869  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 36870  }
 36871  
 36872  func init() {
 36873  	t["HostExtendDiskRequestType"] = reflect.TypeOf((*HostExtendDiskRequestType)(nil)).Elem()
 36874  }
 36875  
 36876  type HostExtendDisk_Task HostExtendDiskRequestType
 36877  
 36878  func init() {
 36879  	t["HostExtendDisk_Task"] = reflect.TypeOf((*HostExtendDisk_Task)(nil)).Elem()
 36880  }
 36881  
 36882  type HostExtendDisk_TaskResponse struct {
 36883  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 36884  }
 36885  
 36886  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 36887  //
 36888  // This event records the fact that a host has extra networks not used by
 36889  // other hosts for HA communication
 36890  type HostExtraNetworksEvent struct {
 36891  	HostDasEvent
 36892  
 36893  	// The comma-separated list of extra networks
 36894  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 36895  }
 36896  
 36897  func init() {
 36898  	t["HostExtraNetworksEvent"] = reflect.TypeOf((*HostExtraNetworksEvent)(nil)).Elem()
 36899  }
 36900  
 36901  // Data structure for component health information of a virtual machine.
 36902  type HostFaultToleranceManagerComponentHealthInfo struct {
 36903  	DynamicData
 36904  
 36905  	// Whether the virtual machine can access the datastores configured.
 36906  	IsStorageHealthy bool `xml:"isStorageHealthy" json:"isStorageHealthy"`
 36907  	// Whether the virtual machine can access the VM network configured.
 36908  	IsNetworkHealthy bool `xml:"isNetworkHealthy" json:"isNetworkHealthy"`
 36909  }
 36910  
 36911  func init() {
 36912  	t["HostFaultToleranceManagerComponentHealthInfo"] = reflect.TypeOf((*HostFaultToleranceManagerComponentHealthInfo)(nil)).Elem()
 36913  }
 36914  
 36915  // A feature that the host is able to provide at a particular value.
 36916  type HostFeatureCapability struct {
 36917  	DynamicData
 36918  
 36919  	// Accessor name to the feature capability.
 36920  	Key string `xml:"key" json:"key"`
 36921  	// Name of the feature.
 36922  	//
 36923  	// Identical to the key.
 36924  	FeatureName string `xml:"featureName" json:"featureName"`
 36925  	// Opaque value that the feature is capable at.
 36926  	Value string `xml:"value" json:"value"`
 36927  }
 36928  
 36929  func init() {
 36930  	t["HostFeatureCapability"] = reflect.TypeOf((*HostFeatureCapability)(nil)).Elem()
 36931  }
 36932  
 36933  // A mask that is applied to a host feature capability.
 36934  type HostFeatureMask struct {
 36935  	DynamicData
 36936  
 36937  	// Accessor name to the feature mask.
 36938  	Key string `xml:"key" json:"key"`
 36939  	// Name of the feature Identical to the key.
 36940  	FeatureName string `xml:"featureName" json:"featureName"`
 36941  	// Opaque value to change the host feature capability to.
 36942  	//
 36943  	// Masking operation is contained in the value.
 36944  	Value string `xml:"value" json:"value"`
 36945  }
 36946  
 36947  func init() {
 36948  	t["HostFeatureMask"] = reflect.TypeOf((*HostFeatureMask)(nil)).Elem()
 36949  }
 36950  
 36951  // Feature-specific version information for a host
 36952  type HostFeatureVersionInfo struct {
 36953  	DynamicData
 36954  
 36955  	// A unique key that identifies a feature, list of possible values are
 36956  	// specified in `HostFeatureVersionKey_enum`
 36957  	Key string `xml:"key" json:"key"`
 36958  	// The version string of this feature
 36959  	Value string `xml:"value" json:"value"`
 36960  }
 36961  
 36962  func init() {
 36963  	t["HostFeatureVersionInfo"] = reflect.TypeOf((*HostFeatureVersionInfo)(nil)).Elem()
 36964  }
 36965  
 36966  // This data object type describes the Fibre Channel host bus adapter.
 36967  type HostFibreChannelHba struct {
 36968  	HostHostBusAdapter
 36969  
 36970  	// The world wide port name for the adapter.
 36971  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 36972  	// The world wide node name for the adapter.
 36973  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 36974  	// The type of the fiber channel port.
 36975  	PortType FibreChannelPortType `xml:"portType" json:"portType"`
 36976  	// The current operating speed of the adapter in
 36977  	// bits per second.
 36978  	Speed int64 `xml:"speed" json:"speed"`
 36979  }
 36980  
 36981  func init() {
 36982  	t["HostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem()
 36983  }
 36984  
 36985  // This data object type describes the FCoE host bus adapter
 36986  // interface.
 36987  //
 36988  // Terminology is borrowed from T11's working draft of the Fibre Channel
 36989  // Backbone 5 standard (FC-BB-5). The draft can be found at
 36990  // http://www.t11.org.
 36991  type HostFibreChannelOverEthernetHba struct {
 36992  	HostFibreChannelHba
 36993  
 36994  	// The name associated with this FCoE HBA's underlying FcoeNic.
 36995  	UnderlyingNic string `xml:"underlyingNic" json:"underlyingNic"`
 36996  	// Link information that can be used to uniquely identify this FCoE HBA.
 36997  	LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo" json:"linkInfo"`
 36998  	// True if this host bus adapter is a software based FCoE initiator.
 36999  	IsSoftwareFcoe bool `xml:"isSoftwareFcoe" json:"isSoftwareFcoe"`
 37000  	// Deprecated as of vSphere API 8.0. Software FCoE not supported.
 37001  	//
 37002  	// True if this host bus adapter has been marked for removal.
 37003  	MarkedForRemoval *bool `xml:"markedForRemoval" json:"markedForRemoval,omitempty"`
 37004  }
 37005  
 37006  func init() {
 37007  	t["HostFibreChannelOverEthernetHba"] = reflect.TypeOf((*HostFibreChannelOverEthernetHba)(nil)).Elem()
 37008  }
 37009  
 37010  // Represents FCoE link information.
 37011  //
 37012  // The link information represents a VNPort to VFPort Virtual Link, as
 37013  // described in the FC-BB-5 standard, with the addition of the VLAN ID
 37014  // over which a link exists.
 37015  type HostFibreChannelOverEthernetHbaLinkInfo struct {
 37016  	DynamicData
 37017  
 37018  	// VNPort MAC address, as defined by the FC-BB-5 standard.
 37019  	//
 37020  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37021  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37022  	// addresses.
 37023  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 37024  	// FCF MAC address, also known as the VFPort MAC address in the FC-BB-5
 37025  	// standard.
 37026  	//
 37027  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37028  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37029  	// addresses.
 37030  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 37031  	// VLAN ID.
 37032  	//
 37033  	// This field represents the VLAN on which an FCoE HBA was
 37034  	// discovered. Valid numbers fall into the range \[0,4094\].
 37035  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 37036  }
 37037  
 37038  func init() {
 37039  	t["HostFibreChannelOverEthernetHbaLinkInfo"] = reflect.TypeOf((*HostFibreChannelOverEthernetHbaLinkInfo)(nil)).Elem()
 37040  }
 37041  
 37042  // Fibre Channel Over Ethernet transport information about a SCSI target.
 37043  //
 37044  // FCoE transport information is that of: the regular FC World Wide Node
 37045  // and Port Names; the VNPort MAC address and FCF MAC address which
 37046  // constitute a VN\_Port to VF\_Port Virtual Link; and the VLAN on which
 37047  // an FCoE target resides.
 37048  // More FCoE information can be found in the working draft of the T11's
 37049  // Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found
 37050  // at http://www.t11.org.
 37051  type HostFibreChannelOverEthernetTargetTransport struct {
 37052  	HostFibreChannelTargetTransport
 37053  
 37054  	// VNPort MAC address.
 37055  	//
 37056  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37057  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37058  	// addresses.
 37059  	VnportMac string `xml:"vnportMac" json:"vnportMac"`
 37060  	// FCF MAC address.
 37061  	//
 37062  	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
 37063  	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
 37064  	// addresses.
 37065  	FcfMac string `xml:"fcfMac" json:"fcfMac"`
 37066  	// VLAN ID.
 37067  	//
 37068  	// Valid VLAN IDs fall within the range \[0,4094\].
 37069  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 37070  }
 37071  
 37072  func init() {
 37073  	t["HostFibreChannelOverEthernetTargetTransport"] = reflect.TypeOf((*HostFibreChannelOverEthernetTargetTransport)(nil)).Elem()
 37074  }
 37075  
 37076  // Fibre Channel transport information about a SCSI target.
 37077  type HostFibreChannelTargetTransport struct {
 37078  	HostTargetTransport
 37079  
 37080  	// The world wide port name of the target.
 37081  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 37082  	// The world wide node name of the target.
 37083  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 37084  }
 37085  
 37086  func init() {
 37087  	t["HostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem()
 37088  }
 37089  
 37090  // This data object type contains a single access control
 37091  // entry for a file permissions list.
 37092  type HostFileAccess struct {
 37093  	DynamicData
 37094  
 37095  	// User or group to which the access applies.
 37096  	Who string `xml:"who" json:"who"`
 37097  	// Rights given to the user or group.
 37098  	What string `xml:"what" json:"what"`
 37099  }
 37100  
 37101  func init() {
 37102  	t["HostFileAccess"] = reflect.TypeOf((*HostFileAccess)(nil)).Elem()
 37103  }
 37104  
 37105  // The `HostFileSystemMountInfo` data object describes
 37106  // a host mount point for a file system.
 37107  type HostFileSystemMountInfo struct {
 37108  	DynamicData
 37109  
 37110  	// Information about the mount point.
 37111  	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
 37112  	// Information about the mounted volume.
 37113  	Volume BaseHostFileSystemVolume `xml:"volume,typeattr" json:"volume"`
 37114  	// vStorage hardware acceleration support status.
 37115  	//
 37116  	// This property
 37117  	// represents the volume's capability for storage acceleration.
 37118  	// See `FileSystemMountInfoVStorageSupportStatus_enum` for valid
 37119  	// values.
 37120  	//
 37121  	// If the ESX Server supports hardware acceleration, the Server
 37122  	// can offload specific virtual machine management operations
 37123  	// to a storage device with the hardware acceleration feature.
 37124  	// With hardware assistance, the host performs storage operations
 37125  	// faster and consumes less CPU, memory, and storage fabric bandwidth.
 37126  	//
 37127  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 37128  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 37129  }
 37130  
 37131  func init() {
 37132  	t["HostFileSystemMountInfo"] = reflect.TypeOf((*HostFileSystemMountInfo)(nil)).Elem()
 37133  }
 37134  
 37135  // Detailed information about a file system.
 37136  //
 37137  // This is a base type for derived types
 37138  // that have more specific details about specific filesystem types.
 37139  //
 37140  // # Typically a FileSystem is exposed as a datatore
 37141  //
 37142  // See also `DatastoreInfo`, `HostVmfsVolume`, `HostNasVolume`, `HostVffsVolume`, `HostLocalFileSystemVolume`
 37143  //
 37144  // However, a FileSystemVolume need not be exposed a datastore., `HostVfatVolume`.
 37145  type HostFileSystemVolume struct {
 37146  	DynamicData
 37147  
 37148  	// FileSystemType of this particular file system
 37149  	// See `HostFileSystemVolumeFileSystemType_enum`
 37150  	Type string `xml:"type" json:"type"`
 37151  	// Name of the file system volume.
 37152  	Name string `xml:"name" json:"name"`
 37153  	// The capacity of the file system volume, in bytes.
 37154  	Capacity int64 `xml:"capacity" json:"capacity"`
 37155  }
 37156  
 37157  func init() {
 37158  	t["HostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem()
 37159  }
 37160  
 37161  // The `HostFileSystemVolumeInfo` data object describes the file system volume
 37162  // information for the host.
 37163  //
 37164  // A file system volume refers to a storage abstraction that allows files
 37165  // to be created and organized. A host can have multiple file system
 37166  // volumes. File system volumes are typically mounted into a file namespace
 37167  // that allows all files in mounted file systems to be addressable from the
 37168  // host.
 37169  //
 37170  // A file system volume is backed by disk storage. It could span one or more
 37171  // disks but need not use an entire disk.
 37172  //
 37173  // A file system volume by definition must be mounted on the file system
 37174  // in order to exist.
 37175  type HostFileSystemVolumeInfo struct {
 37176  	DynamicData
 37177  
 37178  	// The list of supported file system volume types.
 37179  	VolumeTypeList []string `xml:"volumeTypeList,omitempty" json:"volumeTypeList,omitempty"`
 37180  	// The list of file system volumes mounted on the host.
 37181  	MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty" json:"mountInfo,omitempty"`
 37182  }
 37183  
 37184  func init() {
 37185  	t["HostFileSystemVolumeInfo"] = reflect.TypeOf((*HostFileSystemVolumeInfo)(nil)).Elem()
 37186  }
 37187  
 37188  // DataObject used for firewall configuration
 37189  type HostFirewallConfig struct {
 37190  	DynamicData
 37191  
 37192  	// Rules determining firewall settings.
 37193  	Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty" json:"rule,omitempty"`
 37194  	// Default settings for the firewall,
 37195  	// used for ports that are not explicitly opened.
 37196  	DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy" json:"defaultBlockingPolicy"`
 37197  }
 37198  
 37199  func init() {
 37200  	t["HostFirewallConfig"] = reflect.TypeOf((*HostFirewallConfig)(nil)).Elem()
 37201  }
 37202  
 37203  type HostFirewallConfigRuleSetConfig struct {
 37204  	DynamicData
 37205  
 37206  	// Id of the ruleset.
 37207  	RulesetId string `xml:"rulesetId" json:"rulesetId"`
 37208  	// Flag indicating if the specified ruleset should be enabled.
 37209  	Enabled bool `xml:"enabled" json:"enabled"`
 37210  	// The list of allowed ip addresses
 37211  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty"`
 37212  }
 37213  
 37214  func init() {
 37215  	t["HostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*HostFirewallConfigRuleSetConfig)(nil)).Elem()
 37216  }
 37217  
 37218  // Default settings for the firewall, used for ports
 37219  // that are not explicitly opened.
 37220  type HostFirewallDefaultPolicy struct {
 37221  	DynamicData
 37222  
 37223  	// Flag indicating whether incoming traffic should be blocked by default.
 37224  	IncomingBlocked *bool `xml:"incomingBlocked" json:"incomingBlocked,omitempty"`
 37225  	// Flag indicating whether outgoing traffic should be blocked by default.
 37226  	OutgoingBlocked *bool `xml:"outgoingBlocked" json:"outgoingBlocked,omitempty"`
 37227  }
 37228  
 37229  func init() {
 37230  	t["HostFirewallDefaultPolicy"] = reflect.TypeOf((*HostFirewallDefaultPolicy)(nil)).Elem()
 37231  }
 37232  
 37233  // Data object describing the firewall configuration.
 37234  type HostFirewallInfo struct {
 37235  	DynamicData
 37236  
 37237  	// Default firewall policy.
 37238  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 37239  	// List of configured rulesets.
 37240  	Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 37241  }
 37242  
 37243  func init() {
 37244  	t["HostFirewallInfo"] = reflect.TypeOf((*HostFirewallInfo)(nil)).Elem()
 37245  }
 37246  
 37247  // This data object type describes a port (or range of ports),
 37248  // identified by port number(s), direction and protocol.
 37249  //
 37250  // It is
 37251  // used as a convenient way for users to express what ports they
 37252  // want to permit through the firewall.
 37253  type HostFirewallRule struct {
 37254  	DynamicData
 37255  
 37256  	// The port number.
 37257  	Port int32 `xml:"port" json:"port"`
 37258  	// For a port range, the ending port number.
 37259  	EndPort int32 `xml:"endPort,omitempty" json:"endPort,omitempty"`
 37260  	// The port direction.
 37261  	Direction HostFirewallRuleDirection `xml:"direction" json:"direction"`
 37262  	// The port type.
 37263  	PortType HostFirewallRulePortType `xml:"portType,omitempty" json:"portType,omitempty"`
 37264  	// The port protocol.
 37265  	//
 37266  	// Valid values are defined by the
 37267  	// `HostFirewallRuleProtocol_enum` enumeration.
 37268  	Protocol string `xml:"protocol" json:"protocol"`
 37269  }
 37270  
 37271  func init() {
 37272  	t["HostFirewallRule"] = reflect.TypeOf((*HostFirewallRule)(nil)).Elem()
 37273  }
 37274  
 37275  // Data object that describes a single network ruleset that can be
 37276  // allowed or blocked by the firewall using the `HostFirewallSystem` object.
 37277  type HostFirewallRuleset struct {
 37278  	DynamicData
 37279  
 37280  	// Brief identifier for the ruleset.
 37281  	Key string `xml:"key" json:"key"`
 37282  	// Display label for the ruleset.
 37283  	Label string `xml:"label" json:"label"`
 37284  	// Flag indicating whether the ruleset is required and cannot be disabled.
 37285  	Required bool `xml:"required" json:"required"`
 37286  	// List of rules within the ruleset.
 37287  	Rule []HostFirewallRule `xml:"rule" json:"rule"`
 37288  	// Managed service (if any) that uses this ruleset.
 37289  	//
 37290  	// Must be one of
 37291  	// the services listed in `HostServiceInfo.service`.
 37292  	Service string `xml:"service,omitempty" json:"service,omitempty"`
 37293  	// Flag indicating whether the ruleset is enabled.
 37294  	//
 37295  	// If the
 37296  	// ruleset is enabled, all ports specified in the ruleset are
 37297  	// opened by the firewall.
 37298  	Enabled bool `xml:"enabled" json:"enabled"`
 37299  	// List of ipaddress to allow access to the service
 37300  	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty"`
 37301  	// Flag indicating whether user can enable/disable the firewall ruleset.
 37302  	UserControllable *bool `xml:"userControllable" json:"userControllable,omitempty" vim:"8.0.2.0"`
 37303  	// Flag indicating whether user can modify the allowed IP list of the
 37304  	// firewall ruleset.
 37305  	IpListUserConfigurable *bool `xml:"ipListUserConfigurable" json:"ipListUserConfigurable,omitempty" vim:"8.0.2.0"`
 37306  }
 37307  
 37308  func init() {
 37309  	t["HostFirewallRuleset"] = reflect.TypeOf((*HostFirewallRuleset)(nil)).Elem()
 37310  }
 37311  
 37312  type HostFirewallRulesetIpList struct {
 37313  	DynamicData
 37314  
 37315  	// The list of ipAddresses.
 37316  	//
 37317  	// All IPv4 addresses are specified as strings using dotted
 37318  	// decimal format. For example, "192.0.20.10".
 37319  	// IPv6 addresses are 128-bit addresses represented
 37320  	// as eight fields of up to four hexadecimal digits. A colon separates each
 37321  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 37322  	// also consist of symbol '::' to represent multiple 16-bit groups of
 37323  	// contiguous 0's only once in an address as described in RFC 2373.
 37324  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 37325  	// The list of networks
 37326  	IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty" json:"ipNetwork,omitempty"`
 37327  	// Flag indicating whether the ruleset works for all ip addresses.
 37328  	AllIp bool `xml:"allIp" json:"allIp"`
 37329  }
 37330  
 37331  func init() {
 37332  	t["HostFirewallRulesetIpList"] = reflect.TypeOf((*HostFirewallRulesetIpList)(nil)).Elem()
 37333  }
 37334  
 37335  type HostFirewallRulesetIpNetwork struct {
 37336  	DynamicData
 37337  
 37338  	// The IPv4 or IPv6 network.
 37339  	//
 37340  	// All IPv4 subnet addresses are specified as strings using dotted
 37341  	// decimal format. For example, "192.0.20.0".
 37342  	// IPv6 addresses are 128-bit addresses represented
 37343  	// as eight fields of up to four hexadecimal digits. A colon separates each
 37344  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 37345  	// also consist of symbol '::' to represent multiple 16-bit groups of
 37346  	// contiguous 0's only once in an address as described in RFC 2373.
 37347  	Network string `xml:"network" json:"network"`
 37348  	// The prefix length for the network.
 37349  	//
 37350  	// For example the prefix length for a network 10.20.120/22 is 22
 37351  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 37352  }
 37353  
 37354  func init() {
 37355  	t["HostFirewallRulesetIpNetwork"] = reflect.TypeOf((*HostFirewallRulesetIpNetwork)(nil)).Elem()
 37356  }
 37357  
 37358  // The ruleset update specification.
 37359  type HostFirewallRulesetRulesetSpec struct {
 37360  	DynamicData
 37361  
 37362  	// The list of allowed ip addresses
 37363  	AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts" json:"allowedHosts"`
 37364  }
 37365  
 37366  func init() {
 37367  	t["HostFirewallRulesetRulesetSpec"] = reflect.TypeOf((*HostFirewallRulesetRulesetSpec)(nil)).Elem()
 37368  }
 37369  
 37370  // The FlagInfo data object type encapsulates the flag settings for a host.
 37371  //
 37372  // These properties are optional since the same structure is used to change
 37373  // the values during an edit or create operation.
 37374  type HostFlagInfo struct {
 37375  	DynamicData
 37376  
 37377  	// Flag to specify whether background snapshots are enabled.
 37378  	BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled" json:"backgroundSnapshotsEnabled,omitempty"`
 37379  }
 37380  
 37381  func init() {
 37382  	t["HostFlagInfo"] = reflect.TypeOf((*HostFlagInfo)(nil)).Elem()
 37383  }
 37384  
 37385  // When the system detects a copy of a VmfsVolume, it will not be
 37386  // auto-mounted on the host and it will be detected as
 37387  // 'UnresolvedVmfsVolume'.
 37388  //
 37389  // If user decides to keep the original Uuid and mount it on the host,
 37390  // it will have 'forceMounted' flag and 'forceMountedInfo' set.
 37391  // 'ForceMountedInfo' provides additional information specific to
 37392  // user-mounted VmfsVolume.
 37393  type HostForceMountedInfo struct {
 37394  	DynamicData
 37395  
 37396  	// Indicates if the vmfsExtent information persistent across
 37397  	// host reboots.
 37398  	Persist bool `xml:"persist" json:"persist"`
 37399  	// Indicates if the volume is currently mounted on the host
 37400  	Mounted bool `xml:"mounted" json:"mounted"`
 37401  }
 37402  
 37403  func init() {
 37404  	t["HostForceMountedInfo"] = reflect.TypeOf((*HostForceMountedInfo)(nil)).Elem()
 37405  }
 37406  
 37407  // Data object representing the hardware vendor identity
 37408  // for a given hardware component in the host.
 37409  type HostFru struct {
 37410  	DynamicData
 37411  
 37412  	// Report the FRU type if available `HostFruFruType_enum`
 37413  	Type string `xml:"type" json:"type"`
 37414  	// Part Name is used for ordering replacement.
 37415  	PartName string `xml:"partName" json:"partName"`
 37416  	// Part Number is used for ordering replacement.
 37417  	PartNumber string `xml:"partNumber" json:"partNumber"`
 37418  	// The name of the manufacturer.
 37419  	Manufacturer string `xml:"manufacturer" json:"manufacturer"`
 37420  	// The serial number of the part.
 37421  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 37422  	// The time, if any, when this FRU entry was created by manufacturer.
 37423  	MfgTimeStamp *time.Time `xml:"mfgTimeStamp" json:"mfgTimeStamp,omitempty"`
 37424  }
 37425  
 37426  func init() {
 37427  	t["HostFru"] = reflect.TypeOf((*HostFru)(nil)).Elem()
 37428  	minAPIVersionForType["HostFru"] = "8.0.0.1"
 37429  }
 37430  
 37431  // Deprecated not supported since vSphere 6.5.
 37432  //
 37433  // Settings for a gateway used to communicate with a host.
 37434  type HostGatewaySpec struct {
 37435  	DynamicData
 37436  
 37437  	// The type of the gateway used for the communication to the host.
 37438  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 37439  	// Identifier of the gateway to be used for communction to the host.
 37440  	//
 37441  	// If
 37442  	// omitted a random gateway of this type will be selected.
 37443  	GatewayId string `xml:"gatewayId,omitempty" json:"gatewayId,omitempty"`
 37444  	// An opaque string that the gateway may need to validate that the host
 37445  	// it connects to is the correct host.
 37446  	TrustVerificationToken string `xml:"trustVerificationToken,omitempty" json:"trustVerificationToken,omitempty"`
 37447  	// Additional opaque authentication data that the gateway may need to
 37448  	// authenticate to the host.
 37449  	HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty" json:"hostAuthParams,omitempty"`
 37450  }
 37451  
 37452  func init() {
 37453  	t["HostGatewaySpec"] = reflect.TypeOf((*HostGatewaySpec)(nil)).Elem()
 37454  }
 37455  
 37456  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 37457  //
 37458  // This event records that hostname -s failed or returned a name containing '.'.
 37459  type HostGetShortNameFailedEvent struct {
 37460  	HostEvent
 37461  }
 37462  
 37463  func init() {
 37464  	t["HostGetShortNameFailedEvent"] = reflect.TypeOf((*HostGetShortNameFailedEvent)(nil)).Elem()
 37465  }
 37466  
 37467  type HostGetVFlashModuleDefaultConfig HostGetVFlashModuleDefaultConfigRequestType
 37468  
 37469  func init() {
 37470  	t["HostGetVFlashModuleDefaultConfig"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfig)(nil)).Elem()
 37471  }
 37472  
 37473  // The parameters of `HostVFlashManager.HostGetVFlashModuleDefaultConfig`.
 37474  type HostGetVFlashModuleDefaultConfigRequestType struct {
 37475  	This ManagedObjectReference `xml:"_this" json:"-"`
 37476  	// Name of the vFlash module
 37477  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 37478  }
 37479  
 37480  func init() {
 37481  	t["HostGetVFlashModuleDefaultConfigRequestType"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfigRequestType)(nil)).Elem()
 37482  }
 37483  
 37484  type HostGetVFlashModuleDefaultConfigResponse struct {
 37485  	Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval" json:"returnval"`
 37486  }
 37487  
 37488  // Data object used for graphics configuration
 37489  type HostGraphicsConfig struct {
 37490  	DynamicData
 37491  
 37492  	// The host default graphics type.
 37493  	//
 37494  	// See `HostGraphicsConfigGraphicsType_enum` for list
 37495  	// of supported values. This default value can be overridden by specifying
 37496  	// graphics type for an individual device. If host supports a single
 37497  	// graphics type, specifying an individual graphics device is optional.
 37498  	HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType" json:"hostDefaultGraphicsType"`
 37499  	// The policy for assigning shared passthrough VMs to a host graphics
 37500  	// device.
 37501  	//
 37502  	// See `HostGraphicsConfigSharedPassthruAssignmentPolicy_enum` for list of
 37503  	// supported values.
 37504  	SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy" json:"sharedPassthruAssignmentPolicy"`
 37505  	// Graphics devices and their associated type.
 37506  	DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 37507  }
 37508  
 37509  func init() {
 37510  	t["HostGraphicsConfig"] = reflect.TypeOf((*HostGraphicsConfig)(nil)).Elem()
 37511  }
 37512  
 37513  // A particular graphics device with its associated type and mode.
 37514  type HostGraphicsConfigDeviceType struct {
 37515  	DynamicData
 37516  
 37517  	// Graphics device identifier (ex.
 37518  	//
 37519  	// PCI ID).
 37520  	DeviceId string `xml:"deviceId" json:"deviceId"`
 37521  	// Graphics type for this device.
 37522  	//
 37523  	// See `HostGraphicsConfigGraphicsType_enum` for list of
 37524  	// supported values.
 37525  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 37526  	// vGPU mode for this device.
 37527  	//
 37528  	// See `HostGraphicsConfigVgpuMode_enum` for list of supported
 37529  	// values. If this value is unset, the mode remains unchanged.
 37530  	VgpuMode string `xml:"vgpuMode,omitempty" json:"vgpuMode,omitempty" vim:"8.0.3.0"`
 37531  }
 37532  
 37533  func init() {
 37534  	t["HostGraphicsConfigDeviceType"] = reflect.TypeOf((*HostGraphicsConfigDeviceType)(nil)).Elem()
 37535  }
 37536  
 37537  // This data object type describes information about a single
 37538  // graphics device.
 37539  type HostGraphicsInfo struct {
 37540  	DynamicData
 37541  
 37542  	// The device name.
 37543  	DeviceName string `xml:"deviceName" json:"deviceName"`
 37544  	// The vendor name.
 37545  	VendorName string `xml:"vendorName" json:"vendorName"`
 37546  	// PCI ID of this device composed of "bus:slot.function".
 37547  	PciId string `xml:"pciId" json:"pciId"`
 37548  	// Graphics type for this device.
 37549  	//
 37550  	// See `HostGraphicsInfoGraphicsType_enum` for list
 37551  	// of supported values.
 37552  	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
 37553  	// vGPU mode for this device.
 37554  	//
 37555  	// See `HostGraphicsInfoVgpuMode_enum` for list of supported
 37556  	// values. If vgpuMode is not set, it is treated as value "none".
 37557  	VgpuMode string `xml:"vgpuMode,omitempty" json:"vgpuMode,omitempty" vim:"8.0.3.0"`
 37558  	// Memory capacity of graphics device or zero if not available.
 37559  	MemorySizeInKB int64 `xml:"memorySizeInKB" json:"memorySizeInKB"`
 37560  	// Virtual machines using this graphics device.
 37561  	//
 37562  	// Refers instances of `VirtualMachine`.
 37563  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 37564  }
 37565  
 37566  func init() {
 37567  	t["HostGraphicsInfo"] = reflect.TypeOf((*HostGraphicsInfo)(nil)).Elem()
 37568  }
 37569  
 37570  // Data object describing the operational status of a physical
 37571  // element.
 37572  type HostHardwareElementInfo struct {
 37573  	DynamicData
 37574  
 37575  	// The name of the physical element
 37576  	Name string `xml:"name" json:"name"`
 37577  	// The operational status of the physical element.
 37578  	//
 37579  	// The status is one of
 37580  	// the values specified in HostHardwareElementStatus.
 37581  	//
 37582  	// See also `HostHardwareElementStatus_enum`.
 37583  	Status BaseElementDescription `xml:"status,typeattr" json:"status"`
 37584  }
 37585  
 37586  func init() {
 37587  	t["HostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem()
 37588  }
 37589  
 37590  // The HardwareInfo data object type describes the hardware
 37591  // configuration of the host.
 37592  type HostHardwareInfo struct {
 37593  	DynamicData
 37594  
 37595  	// Information about the system as a whole.
 37596  	SystemInfo             HostSystemInfo              `xml:"systemInfo" json:"systemInfo"`
 37597  	CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty" json:"cpuPowerManagementInfo,omitempty"`
 37598  	// Overall CPU information.
 37599  	CpuInfo HostCpuInfo `xml:"cpuInfo" json:"cpuInfo"`
 37600  	// Information about each of the physical CPU packages on the host.
 37601  	CpuPkg []HostCpuPackage `xml:"cpuPkg" json:"cpuPkg"`
 37602  	// Total amount of physical memory on the host in bytes.
 37603  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 37604  	// Information about the NUMA (non-uniform memory access).
 37605  	NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty"`
 37606  	// Presence of System Management Controller, indicates the host is
 37607  	// Apple hardware, and thus capable of running Mac OS guest as VM.
 37608  	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty"`
 37609  	// The list of Peripheral Component Interconnect (PCI) devices
 37610  	// available on this host.
 37611  	PciDevice []HostPciDevice `xml:"pciDevice,omitempty" json:"pciDevice,omitempty"`
 37612  	// The list of Device Virtualization Extensions (DVX) classes
 37613  	// available on this host.
 37614  	DvxClasses []HostDvxClass `xml:"dvxClasses,omitempty" json:"dvxClasses,omitempty" vim:"8.0.0.1"`
 37615  	// CPU feature set that is supported by the hardware.
 37616  	//
 37617  	// This is the
 37618  	// intersection of the feature sets supported by the individual CPU
 37619  	// packages. This feature set is modified by the
 37620  	// `supportedCpuFeature`
 37621  	// array in the host capabilities to obtain the feature set supported by
 37622  	// the virtualization platform.
 37623  	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
 37624  	// Information about the system BIOS
 37625  	BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty" json:"biosInfo,omitempty"`
 37626  	// Information about reliable memory.
 37627  	ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty" json:"reliableMemoryInfo,omitempty"`
 37628  	// Persistent memory configuration on this host.
 37629  	PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty" json:"persistentMemoryInfo,omitempty"`
 37630  	// SGX configuration on this host.
 37631  	SgxInfo *HostSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 37632  	// SEV configuration on this host.
 37633  	SevInfo *HostSevInfo `xml:"sevInfo,omitempty" json:"sevInfo,omitempty" vim:"7.0.1.0"`
 37634  	// Type of memory tiering configured on this host.
 37635  	//
 37636  	// See `HostMemoryTieringType_enum` for
 37637  	// supported values. This field will be unset for legacy hosts as well as
 37638  	// for hosts that don't support memory tiering.
 37639  	MemoryTieringType string `xml:"memoryTieringType,omitempty" json:"memoryTieringType,omitempty" vim:"7.0.3.0"`
 37640  	// Configuration of each memory tier on this host.
 37641  	//
 37642  	// The array is populated in the
 37643  	// order of tiers (ie, tier 0 at array index 0, tier 1 at array index 1,
 37644  	// and so on).
 37645  	MemoryTierInfo []HostMemoryTierInfo `xml:"memoryTierInfo,omitempty" json:"memoryTierInfo,omitempty" vim:"7.0.3.0"`
 37646  }
 37647  
 37648  func init() {
 37649  	t["HostHardwareInfo"] = reflect.TypeOf((*HostHardwareInfo)(nil)).Elem()
 37650  }
 37651  
 37652  // Data object representing the status of the
 37653  // hardware components of the host.
 37654  type HostHardwareStatusInfo struct {
 37655  	DynamicData
 37656  
 37657  	// Status of the physical memory
 37658  	MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr" json:"memoryStatusInfo,omitempty"`
 37659  	// Status of the CPU packages
 37660  	CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr" json:"cpuStatusInfo,omitempty"`
 37661  	// Status of the physical storage system
 37662  	StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty" json:"storageStatusInfo,omitempty"`
 37663  	// Status of one or more DPU elements
 37664  	DpuStatusInfo []DpuStatusInfo `xml:"dpuStatusInfo,omitempty" json:"dpuStatusInfo,omitempty" vim:"8.0.0.1"`
 37665  }
 37666  
 37667  func init() {
 37668  	t["HostHardwareStatusInfo"] = reflect.TypeOf((*HostHardwareStatusInfo)(nil)).Elem()
 37669  }
 37670  
 37671  // This data object type summarizes hardware used by the host.
 37672  type HostHardwareSummary struct {
 37673  	DynamicData
 37674  
 37675  	// The hardware vendor identification.
 37676  	Vendor string `xml:"vendor" json:"vendor"`
 37677  	// The system model identification.
 37678  	Model string `xml:"model" json:"model"`
 37679  	// The hardware BIOS identification.
 37680  	Uuid string `xml:"uuid" json:"uuid"`
 37681  	// Other identification information.
 37682  	//
 37683  	// This information may be vendor
 37684  	// specific.
 37685  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty"`
 37686  	// The physical memory size in bytes.
 37687  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 37688  	// The CPU model.
 37689  	CpuModel string `xml:"cpuModel" json:"cpuModel"`
 37690  	// The speed of the CPU cores.
 37691  	//
 37692  	// This is an average value if there are multiple
 37693  	// speeds. The product of cpuMhz and numCpuCores is approximately equal to the
 37694  	// sum of the MHz for all the individual cores on the host.
 37695  	CpuMhz int32 `xml:"cpuMhz" json:"cpuMhz"`
 37696  	// Number of physical CPU packages on the host.
 37697  	//
 37698  	// Physical CPU packages are chips
 37699  	// that contain one or more processors. Processors contained by a package are
 37700  	// also known as CPU cores. For example, one dual-core package is comprised of
 37701  	// one chip that contains two CPU cores.
 37702  	NumCpuPkgs int16 `xml:"numCpuPkgs" json:"numCpuPkgs"`
 37703  	// Number of physical CPU cores on the host.
 37704  	//
 37705  	// Physical CPU cores are the
 37706  	// processors contained by a CPU package.
 37707  	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
 37708  	// Number of physical CPU threads on the host.
 37709  	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
 37710  	// The number of network adapters.
 37711  	NumNics int32 `xml:"numNics" json:"numNics"`
 37712  	// The number of host bus adapters (HBAs).
 37713  	NumHBAs int32 `xml:"numHBAs" json:"numHBAs"`
 37714  }
 37715  
 37716  func init() {
 37717  	t["HostHardwareSummary"] = reflect.TypeOf((*HostHardwareSummary)(nil)).Elem()
 37718  }
 37719  
 37720  // The host has a component failure and thus can cause issues for VMs running or
 37721  // to be running on it.
 37722  type HostHasComponentFailure struct {
 37723  	VimFault
 37724  
 37725  	// The host that has the component failure.
 37726  	HostName string `xml:"hostName" json:"hostName"`
 37727  	// The type of the component that has failed.
 37728  	//
 37729  	// Values come from `HostHasComponentFailureHostComponentType_enum`.
 37730  	ComponentType string `xml:"componentType" json:"componentType"`
 37731  	// The name of the component that has failed.
 37732  	ComponentName string `xml:"componentName" json:"componentName"`
 37733  }
 37734  
 37735  func init() {
 37736  	t["HostHasComponentFailure"] = reflect.TypeOf((*HostHasComponentFailure)(nil)).Elem()
 37737  }
 37738  
 37739  type HostHasComponentFailureFault HostHasComponentFailure
 37740  
 37741  func init() {
 37742  	t["HostHasComponentFailureFault"] = reflect.TypeOf((*HostHasComponentFailureFault)(nil)).Elem()
 37743  }
 37744  
 37745  // A data object which specifies the parameters needed
 37746  // to create a software host bus adapter of a specific kind.
 37747  type HostHbaCreateSpec struct {
 37748  	DynamicData
 37749  }
 37750  
 37751  func init() {
 37752  	t["HostHbaCreateSpec"] = reflect.TypeOf((*HostHbaCreateSpec)(nil)).Elem()
 37753  	minAPIVersionForType["HostHbaCreateSpec"] = "7.0.3.0"
 37754  }
 37755  
 37756  // This data object type describes the bus adapter for
 37757  // the host.
 37758  //
 37759  // A host bus adapter (HBA) is a hardware
 37760  // or software adapter that connects the host to storage devices.
 37761  type HostHostBusAdapter struct {
 37762  	DynamicData
 37763  
 37764  	// The linkable identifier.
 37765  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 37766  	// The device name of host bus adapter.
 37767  	Device string `xml:"device" json:"device"`
 37768  	// The host bus number.
 37769  	Bus int32 `xml:"bus" json:"bus"`
 37770  	// The operational status of the adapter.
 37771  	//
 37772  	// Valid values include "online",
 37773  	// "offline", "unbound", and "unknown".
 37774  	Status string `xml:"status" json:"status"`
 37775  	// The model name of the host bus adapter.
 37776  	Model string `xml:"model" json:"model"`
 37777  	// The name of the driver.
 37778  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 37779  	// The Peripheral Connect Interface (PCI) ID of the device
 37780  	// representing the host bus adapter.
 37781  	Pci string `xml:"pci,omitempty" json:"pci,omitempty"`
 37782  	// The type of protocol supported by the host bus adapter.
 37783  	//
 37784  	// The list of supported values is described in
 37785  	// `HostStorageProtocol_enum`.
 37786  	// When unset, a default value of "scsi" is assumed.
 37787  	StorageProtocol string `xml:"storageProtocol,omitempty" json:"storageProtocol,omitempty"`
 37788  }
 37789  
 37790  func init() {
 37791  	t["HostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem()
 37792  }
 37793  
 37794  // This data object type describes the CpuSchedulerSystem configuration
 37795  // for optimizing hyperthreading.
 37796  //
 37797  // The primary hyperthreading
 37798  // optimization employed by the CpuSchedulerSystem is to utilize
 37799  // hyperthreads as additional schedulable resources. Although
 37800  // hyperthreads provide limited additional concurrency,
 37801  // certain workloads (such as idling) can take advantage of
 37802  // these hyperthreads. This is particularly useful for SMP virtual
 37803  // machines that use gang scheduling. (Gang scheduling refers to a
 37804  // situation in which all of a parallel program's tasks are grouped
 37805  // into a "gang" and concurrently scheduled on distinct
 37806  // processors of a parallel computer system.)
 37807  //
 37808  // Changes to the hyperthreading optimization can take effect only
 37809  // after a system restart. Therefore, while it is possible to change
 37810  // the configuration at any time, the change will take effect only
 37811  // on the next boot.
 37812  type HostHyperThreadScheduleInfo struct {
 37813  	DynamicData
 37814  
 37815  	// The flag to indicate whether or not hyperthreading
 37816  	// optimization is available on the system.
 37817  	//
 37818  	// This property
 37819  	// is set by VMware prior to installation.
 37820  	Available bool `xml:"available" json:"available"`
 37821  	// The flag to indicate whether or not the CPU scheduler is
 37822  	// currently treating
 37823  	// hyperthreads as schedulable resources.
 37824  	//
 37825  	// Setting this property
 37826  	// involves a successful invocation of either the
 37827  	// `enableHyperThreading()` method ("true") or the
 37828  	// `disableHyperthreading()` method
 37829  	// ("false"). The property is set once the system is rebooted.
 37830  	Active bool `xml:"active" json:"active"`
 37831  	// The flag to indicate whether or not the CPU scheduler
 37832  	// should treat hyperthreads as
 37833  	// schedulable resources the next time the CPU scheduler starts.
 37834  	//   - This property is set to "true" by successfully invoking the
 37835  	//     `enableHyperThreading()` method.
 37836  	//   - This property is set to "false" by successfully invoking the
 37837  	//     `disableHyperthreading()` method.
 37838  	Config bool `xml:"config" json:"config"`
 37839  }
 37840  
 37841  func init() {
 37842  	t["HostHyperThreadScheduleInfo"] = reflect.TypeOf((*HostHyperThreadScheduleInfo)(nil)).Elem()
 37843  }
 37844  
 37845  type HostImageConfigGetAcceptance HostImageConfigGetAcceptanceRequestType
 37846  
 37847  func init() {
 37848  	t["HostImageConfigGetAcceptance"] = reflect.TypeOf((*HostImageConfigGetAcceptance)(nil)).Elem()
 37849  }
 37850  
 37851  type HostImageConfigGetAcceptanceRequestType struct {
 37852  	This ManagedObjectReference `xml:"_this" json:"-"`
 37853  }
 37854  
 37855  func init() {
 37856  	t["HostImageConfigGetAcceptanceRequestType"] = reflect.TypeOf((*HostImageConfigGetAcceptanceRequestType)(nil)).Elem()
 37857  }
 37858  
 37859  type HostImageConfigGetAcceptanceResponse struct {
 37860  	Returnval string `xml:"returnval" json:"returnval"`
 37861  }
 37862  
 37863  type HostImageConfigGetProfile HostImageConfigGetProfileRequestType
 37864  
 37865  func init() {
 37866  	t["HostImageConfigGetProfile"] = reflect.TypeOf((*HostImageConfigGetProfile)(nil)).Elem()
 37867  }
 37868  
 37869  type HostImageConfigGetProfileRequestType struct {
 37870  	This ManagedObjectReference `xml:"_this" json:"-"`
 37871  }
 37872  
 37873  func init() {
 37874  	t["HostImageConfigGetProfileRequestType"] = reflect.TypeOf((*HostImageConfigGetProfileRequestType)(nil)).Elem()
 37875  }
 37876  
 37877  type HostImageConfigGetProfileResponse struct {
 37878  	Returnval HostImageProfileSummary `xml:"returnval" json:"returnval"`
 37879  }
 37880  
 37881  // Summary of an image profile
 37882  type HostImageProfileSummary struct {
 37883  	DynamicData
 37884  
 37885  	// The name of the image profile
 37886  	Name string `xml:"name" json:"name"`
 37887  	// The organization publishing the image profile.
 37888  	Vendor string `xml:"vendor" json:"vendor"`
 37889  }
 37890  
 37891  func init() {
 37892  	t["HostImageProfileSummary"] = reflect.TypeOf((*HostImageProfileSummary)(nil)).Elem()
 37893  }
 37894  
 37895  // Host is booted in audit mode.
 37896  type HostInAuditModeEvent struct {
 37897  	HostEvent
 37898  }
 37899  
 37900  func init() {
 37901  	t["HostInAuditModeEvent"] = reflect.TypeOf((*HostInAuditModeEvent)(nil)).Elem()
 37902  }
 37903  
 37904  // Fault indicating that an operation cannot be performed while
 37905  // the host is part of a Windows domain.
 37906  type HostInDomain struct {
 37907  	HostConfigFault
 37908  }
 37909  
 37910  func init() {
 37911  	t["HostInDomain"] = reflect.TypeOf((*HostInDomain)(nil)).Elem()
 37912  }
 37913  
 37914  type HostInDomainFault HostInDomain
 37915  
 37916  func init() {
 37917  	t["HostInDomainFault"] = reflect.TypeOf((*HostInDomainFault)(nil)).Elem()
 37918  }
 37919  
 37920  // This fault is thrown when an attempt is made to configure a fault tolerant
 37921  // virtual machine on a host that is incompatible.
 37922  type HostIncompatibleForFaultTolerance struct {
 37923  	VmFaultToleranceIssue
 37924  
 37925  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 37926  	// The specific reason why the host does not support fault tolerance.
 37927  	//
 37928  	// Values should come from `HostIncompatibleForFaultToleranceReason_enum`.
 37929  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 37930  }
 37931  
 37932  func init() {
 37933  	t["HostIncompatibleForFaultTolerance"] = reflect.TypeOf((*HostIncompatibleForFaultTolerance)(nil)).Elem()
 37934  }
 37935  
 37936  type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance
 37937  
 37938  func init() {
 37939  	t["HostIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceFault)(nil)).Elem()
 37940  }
 37941  
 37942  // Deprecated as of vSphere API 6.0.
 37943  //
 37944  // This fault is thrown when an attempt is made record or replay
 37945  // a virtual machine on a host that is incompatible.
 37946  type HostIncompatibleForRecordReplay struct {
 37947  	VimFault
 37948  
 37949  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 37950  	// The specific reason why the host does not support record/replay.
 37951  	//
 37952  	// Values should come from `HostIncompatibleForRecordReplayReason_enum`.
 37953  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 37954  }
 37955  
 37956  func init() {
 37957  	t["HostIncompatibleForRecordReplay"] = reflect.TypeOf((*HostIncompatibleForRecordReplay)(nil)).Elem()
 37958  }
 37959  
 37960  type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay
 37961  
 37962  func init() {
 37963  	t["HostIncompatibleForRecordReplayFault"] = reflect.TypeOf((*HostIncompatibleForRecordReplayFault)(nil)).Elem()
 37964  }
 37965  
 37966  // The parameters of `HostVStorageObjectManager.HostInflateDisk_Task`.
 37967  type HostInflateDiskRequestType struct {
 37968  	This ManagedObjectReference `xml:"_this" json:"-"`
 37969  	// The ID of the virtual disk to be inflated.
 37970  	Id ID `xml:"id" json:"id"`
 37971  	// The datastore where the virtual disk is located.
 37972  	//
 37973  	// Refers instance of `Datastore`.
 37974  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 37975  }
 37976  
 37977  func init() {
 37978  	t["HostInflateDiskRequestType"] = reflect.TypeOf((*HostInflateDiskRequestType)(nil)).Elem()
 37979  }
 37980  
 37981  type HostInflateDisk_Task HostInflateDiskRequestType
 37982  
 37983  func init() {
 37984  	t["HostInflateDisk_Task"] = reflect.TypeOf((*HostInflateDisk_Task)(nil)).Elem()
 37985  }
 37986  
 37987  type HostInflateDisk_TaskResponse struct {
 37988  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 37989  }
 37990  
 37991  // This data object type describes the iSCSI host bus adapter
 37992  // interface.
 37993  type HostInternetScsiHba struct {
 37994  	HostHostBusAdapter
 37995  
 37996  	// True if this host bus adapter is a software based initiator
 37997  	// utilizing the hosting system's existing TCP/IP network connection
 37998  	IsSoftwareBased bool `xml:"isSoftwareBased" json:"isSoftwareBased"`
 37999  	// Can this adapter be disabled
 38000  	CanBeDisabled *bool `xml:"canBeDisabled" json:"canBeDisabled,omitempty"`
 38001  	// Specifies if this iSCSI Adapter requires a bound network
 38002  	// interface to function.
 38003  	NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty" json:"networkBindingSupport,omitempty"`
 38004  	// The discovery capabilities for this host bus adapter.
 38005  	DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities" json:"discoveryCapabilities"`
 38006  	// The discovery settings for this host bus adapter.
 38007  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 38008  	// The authentication capabilities for this host bus adapter.
 38009  	AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities" json:"authenticationCapabilities"`
 38010  	// The authentication settings for this host bus adapter.
 38011  	//
 38012  	// All static and discovery targets will inherit the use of these
 38013  	// settings unless their authentication settings are explicitly set.
 38014  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 38015  	// The authentication capabilities for this host bus adapter.
 38016  	DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty" json:"digestCapabilities,omitempty"`
 38017  	// The digest settings for this host bus adapter.
 38018  	//
 38019  	// All static and discovery targets will inherit the use of these
 38020  	// properties unless their digest settings are explicitly set.
 38021  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 38022  	// The IP capabilities for this host bus adapter.
 38023  	IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities" json:"ipCapabilities"`
 38024  	// The IP settings for this host bus adapter.
 38025  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 38026  	// A list of supported key/value pair advanced options for the
 38027  	// host bus adapter including their type information.
 38028  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 38029  	// A list of the current options settings for the host bus adapter.
 38030  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 38031  	// The iSCSI name of this host bus adapter.
 38032  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38033  	// The iSCSI alias of this host bus adapter.
 38034  	IScsiAlias string `xml:"iScsiAlias,omitempty" json:"iScsiAlias,omitempty"`
 38035  	// The configured iSCSI send target entries.
 38036  	ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty" json:"configuredSendTarget,omitempty"`
 38037  	// The configured iSCSI static target entries.
 38038  	ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty" json:"configuredStaticTarget,omitempty"`
 38039  	// The maximum supported link speed of the port in megabits per second.
 38040  	MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty" json:"maxSpeedMb,omitempty"`
 38041  	// The Current operating link speed of the port in megabits per second.
 38042  	CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty" json:"currentSpeedMb,omitempty"`
 38043  }
 38044  
 38045  func init() {
 38046  	t["HostInternetScsiHba"] = reflect.TypeOf((*HostInternetScsiHba)(nil)).Elem()
 38047  }
 38048  
 38049  // The authentication capabilities for this host bus adapter.
 38050  type HostInternetScsiHbaAuthenticationCapabilities struct {
 38051  	DynamicData
 38052  
 38053  	// True if this host bus adapter supports changing the configuration
 38054  	// state of CHAP authentication.
 38055  	//
 38056  	// CHAP is mandatory, however some
 38057  	// adapter may not allow disabling this authentication method.
 38058  	ChapAuthSettable bool `xml:"chapAuthSettable" json:"chapAuthSettable"`
 38059  	// Always false in this version of the API.
 38060  	Krb5AuthSettable bool `xml:"krb5AuthSettable" json:"krb5AuthSettable"`
 38061  	// Always false in this version of the API.
 38062  	SrpAuthSettable bool `xml:"srpAuthSettable" json:"srpAuthSettable"`
 38063  	// Always false in this version of the API.
 38064  	SpkmAuthSettable bool `xml:"spkmAuthSettable" json:"spkmAuthSettable"`
 38065  	// When chapAuthSettable is TRUE, this describes if Mutual CHAP
 38066  	// configuration is allowed as well.
 38067  	MutualChapSettable *bool `xml:"mutualChapSettable" json:"mutualChapSettable,omitempty"`
 38068  	// When targetChapSettable is TRUE, this describes if
 38069  	// CHAP configuration is allowed on targets associated
 38070  	// with the adapter.
 38071  	TargetChapSettable *bool `xml:"targetChapSettable" json:"targetChapSettable,omitempty"`
 38072  	// When targetMutualChapSettable is TRUE, this describes if
 38073  	// Mutual CHAP configuration is allowed on targets associated
 38074  	// with the adapter.
 38075  	TargetMutualChapSettable *bool `xml:"targetMutualChapSettable" json:"targetMutualChapSettable,omitempty"`
 38076  }
 38077  
 38078  func init() {
 38079  	t["HostInternetScsiHbaAuthenticationCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationCapabilities)(nil)).Elem()
 38080  }
 38081  
 38082  // The authentication settings for this host bus adapter or target.
 38083  type HostInternetScsiHbaAuthenticationProperties struct {
 38084  	DynamicData
 38085  
 38086  	// True if CHAP is currently enabled
 38087  	ChapAuthEnabled bool `xml:"chapAuthEnabled" json:"chapAuthEnabled"`
 38088  	// The CHAP user name if enabled
 38089  	ChapName string `xml:"chapName,omitempty" json:"chapName,omitempty"`
 38090  	// The CHAP secret if enabled
 38091  	ChapSecret string `xml:"chapSecret,omitempty" json:"chapSecret,omitempty"`
 38092  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 38093  	ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty" json:"chapAuthenticationType,omitempty"`
 38094  	// CHAP settings are inherited
 38095  	ChapInherited *bool `xml:"chapInherited" json:"chapInherited,omitempty"`
 38096  	// When Mutual-CHAP is enabled, the user name that target needs to
 38097  	// use to authenticate with the initiator
 38098  	MutualChapName string `xml:"mutualChapName,omitempty" json:"mutualChapName,omitempty"`
 38099  	// When Mutual-CHAP is enabled, the secret that target needs to
 38100  	// use to authenticate with the initiator
 38101  	MutualChapSecret string `xml:"mutualChapSecret,omitempty" json:"mutualChapSecret,omitempty"`
 38102  	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
 38103  	MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty" json:"mutualChapAuthenticationType,omitempty"`
 38104  	// Mutual-CHAP settings are inherited
 38105  	MutualChapInherited *bool `xml:"mutualChapInherited" json:"mutualChapInherited,omitempty"`
 38106  }
 38107  
 38108  func init() {
 38109  	t["HostInternetScsiHbaAuthenticationProperties"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationProperties)(nil)).Elem()
 38110  }
 38111  
 38112  // The digest capabilities for this host bus adapter.
 38113  type HostInternetScsiHbaDigestCapabilities struct {
 38114  	DynamicData
 38115  
 38116  	// True if this host bus adapter supports the configuration
 38117  	// of the use of header digest.
 38118  	//
 38119  	// Defaults to false, in which
 38120  	// case no header digests will be used.
 38121  	HeaderDigestSettable *bool `xml:"headerDigestSettable" json:"headerDigestSettable,omitempty"`
 38122  	// True if this host bus adapter supports the configuration
 38123  	// of the use of data digest.
 38124  	//
 38125  	// Defaults to false, in which
 38126  	// case no data digests will be used.
 38127  	DataDigestSettable *bool `xml:"dataDigestSettable" json:"dataDigestSettable,omitempty"`
 38128  	// True if configuration of the use of header digest is supported
 38129  	// on the targets associated with the host bus adapter.
 38130  	//
 38131  	// Defaults to
 38132  	// false, in which case no header digests will be used.
 38133  	TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable" json:"targetHeaderDigestSettable,omitempty"`
 38134  	// True if configuration of the use of data digest is supported
 38135  	// on the targets associated with the host bus adapter.
 38136  	//
 38137  	// Defaults to
 38138  	// false, in which case no data digests will be used.
 38139  	TargetDataDigestSettable *bool `xml:"targetDataDigestSettable" json:"targetDataDigestSettable,omitempty"`
 38140  }
 38141  
 38142  func init() {
 38143  	t["HostInternetScsiHbaDigestCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDigestCapabilities)(nil)).Elem()
 38144  }
 38145  
 38146  // The digest settings for this host bus adapter.
 38147  type HostInternetScsiHbaDigestProperties struct {
 38148  	DynamicData
 38149  
 38150  	// The header digest preference if header digest is enabled
 38151  	HeaderDigestType string `xml:"headerDigestType,omitempty" json:"headerDigestType,omitempty"`
 38152  	// Header digest setting is inherited
 38153  	HeaderDigestInherited *bool `xml:"headerDigestInherited" json:"headerDigestInherited,omitempty"`
 38154  	// The data digest preference if data digest is enabled
 38155  	DataDigestType string `xml:"dataDigestType,omitempty" json:"dataDigestType,omitempty"`
 38156  	// Data digest setting is inherited
 38157  	DataDigestInherited *bool `xml:"dataDigestInherited" json:"dataDigestInherited,omitempty"`
 38158  }
 38159  
 38160  func init() {
 38161  	t["HostInternetScsiHbaDigestProperties"] = reflect.TypeOf((*HostInternetScsiHbaDigestProperties)(nil)).Elem()
 38162  }
 38163  
 38164  // The discovery capabilities for this host bus adapter.
 38165  //
 38166  // At least one discovery mode must always be active.
 38167  // Multiple modes may be active at the same time.
 38168  type HostInternetScsiHbaDiscoveryCapabilities struct {
 38169  	DynamicData
 38170  
 38171  	// True if this host bus adapter supports iSNS
 38172  	ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable" json:"iSnsDiscoverySettable"`
 38173  	// True if this host bus adapter supports SLP
 38174  	SlpDiscoverySettable bool `xml:"slpDiscoverySettable" json:"slpDiscoverySettable"`
 38175  	// True if this host bus adapter supports static discovery
 38176  	StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable" json:"staticTargetDiscoverySettable"`
 38177  	// True if this host bus adapter supports changing the configuration
 38178  	// state of send targets discovery.
 38179  	//
 38180  	// Send targets is mandatory, however
 38181  	// some adapters may not allow disabling this discovery method.
 38182  	SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable" json:"sendTargetsDiscoverySettable"`
 38183  }
 38184  
 38185  func init() {
 38186  	t["HostInternetScsiHbaDiscoveryCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryCapabilities)(nil)).Elem()
 38187  }
 38188  
 38189  // The discovery settings for this host bus adapter.
 38190  //
 38191  // At least one discovery mode must always be active.
 38192  // Multiple modes may be active at the same time.
 38193  type HostInternetScsiHbaDiscoveryProperties struct {
 38194  	DynamicData
 38195  
 38196  	// True if iSNS is currently enabled
 38197  	ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled" json:"iSnsDiscoveryEnabled"`
 38198  	// The iSNS discovery method in use when iSNS is enabled.
 38199  	//
 38200  	// Must be one of the values of
 38201  	// `InternetScsiSnsDiscoveryMethod_enum`
 38202  	ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty" json:"iSnsDiscoveryMethod,omitempty"`
 38203  	// For STATIC iSNS, this is the iSNS server address
 38204  	ISnsHost string `xml:"iSnsHost,omitempty" json:"iSnsHost,omitempty"`
 38205  	// True if SLP is enabled
 38206  	SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled" json:"slpDiscoveryEnabled"`
 38207  	// The current SLP discovery method when SLP is enabled.
 38208  	//
 38209  	// Must be one of the values of
 38210  	// `SlpDiscoveryMethod_enum`
 38211  	SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty" json:"slpDiscoveryMethod,omitempty"`
 38212  	// When the SLP discovery method is set to MANUAL, this property
 38213  	// reflects the hostname, and optionally port number of the SLP DA.
 38214  	SlpHost string `xml:"slpHost,omitempty" json:"slpHost,omitempty"`
 38215  	// True if static target discovery is enabled
 38216  	StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled" json:"staticTargetDiscoveryEnabled"`
 38217  	// True if send targets discovery is enabled
 38218  	SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled" json:"sendTargetsDiscoveryEnabled"`
 38219  }
 38220  
 38221  func init() {
 38222  	t["HostInternetScsiHbaDiscoveryProperties"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryProperties)(nil)).Elem()
 38223  }
 38224  
 38225  // The IP Capabilities for the host bus adapter
 38226  type HostInternetScsiHbaIPCapabilities struct {
 38227  	DynamicData
 38228  
 38229  	// True if the host bus adapter supports setting its IPv4 address.
 38230  	AddressSettable bool `xml:"addressSettable" json:"addressSettable"`
 38231  	// True if the host bus adapter supports DHCPv4.
 38232  	IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable" json:"ipConfigurationMethodSettable"`
 38233  	// True if the host bus adapter supports setting its IPv4 subnet mask.
 38234  	SubnetMaskSettable bool `xml:"subnetMaskSettable" json:"subnetMaskSettable"`
 38235  	// True if the host bus adapter supports setting its IPv4 gateway.
 38236  	DefaultGatewaySettable bool `xml:"defaultGatewaySettable" json:"defaultGatewaySettable"`
 38237  	// True if the host bus adapter supports setting its primary DNS.
 38238  	PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable" json:"primaryDnsServerAddressSettable"`
 38239  	// True if the host bus adapter supports setting its secondary DNS.
 38240  	AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable" json:"alternateDnsServerAddressSettable"`
 38241  	// True if the host bus adapter supports the use of IPv6 addresses
 38242  	Ipv6Supported *bool `xml:"ipv6Supported" json:"ipv6Supported,omitempty"`
 38243  	// True if the host bus adapter supports setting its ARP Redirect value
 38244  	ArpRedirectSettable *bool `xml:"arpRedirectSettable" json:"arpRedirectSettable,omitempty"`
 38245  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 38246  	// Frames, etc)
 38247  	MtuSettable *bool `xml:"mtuSettable" json:"mtuSettable,omitempty"`
 38248  	// True if the discovery and static targets can be configured with
 38249  	// a host name as opposed to an IP address.
 38250  	HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress" json:"hostNameAsTargetAddress,omitempty"`
 38251  	// True if the host bus adapter supports setting its name and alias
 38252  	NameAliasSettable *bool `xml:"nameAliasSettable" json:"nameAliasSettable,omitempty"`
 38253  	// True if IPv4 addresssing can be enabled or disabled on the host bus adapter.
 38254  	Ipv4EnableSettable *bool `xml:"ipv4EnableSettable" json:"ipv4EnableSettable,omitempty"`
 38255  	// True if IPv6 addresssing can be enabled or disabled on the host bus adapter.
 38256  	Ipv6EnableSettable *bool `xml:"ipv6EnableSettable" json:"ipv6EnableSettable,omitempty"`
 38257  	// True if the Host bus adapter supports setting IPv6 Prefix Length.
 38258  	Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable" json:"ipv6PrefixLengthSettable,omitempty"`
 38259  	// Provides the value that user should be using if host bus adapter
 38260  	// does not support changing of prefix length.
 38261  	Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty" json:"ipv6PrefixLength,omitempty"`
 38262  	// True if the Host bus adapter supports DHCPv6 configuration.
 38263  	Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable" json:"ipv6DhcpConfigurationSettable,omitempty"`
 38264  	// True if the Host bus adapter supports setting configuration of its IPv6 link local address
 38265  	// User can specify link local static address if link local auto configuration is set to false.
 38266  	//
 38267  	// link local address usually starts with fe80: and has prefix 64.
 38268  	Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable" json:"ipv6LinkLocalAutoConfigurationSettable,omitempty"`
 38269  	// True if the Host bus adapter supports router advertisement configuration method.
 38270  	//
 38271  	// Note: Currently Qlogic adapter does not support plumbing of any user specified
 38272  	// static address if router advertisement method is enabled.
 38273  	Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable" json:"ipv6RouterAdvertisementConfigurationSettable,omitempty"`
 38274  	// True if the Host bus adapter supports setting its IPv6 default gateway.
 38275  	Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable" json:"ipv6DefaultGatewaySettable,omitempty"`
 38276  	// The maximum number of supported IPv6 static addresses on the
 38277  	// host bus adapter that user can set.
 38278  	Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty" json:"ipv6MaxStaticAddressesSupported,omitempty"`
 38279  }
 38280  
 38281  func init() {
 38282  	t["HostInternetScsiHbaIPCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaIPCapabilities)(nil)).Elem()
 38283  }
 38284  
 38285  // The IP properties for the host bus adapter
 38286  type HostInternetScsiHbaIPProperties struct {
 38287  	DynamicData
 38288  
 38289  	// The MAC address.
 38290  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 38291  	// The current IPv4 address.
 38292  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 38293  	// True if the host bus adapter fetches its IP using DHCP.
 38294  	DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled" json:"dhcpConfigurationEnabled"`
 38295  	// The current IPv4 subnet mask.
 38296  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 38297  	// The current IPv4 gateway.
 38298  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 38299  	// The current primary DNS address.
 38300  	PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty" json:"primaryDnsServerAddress,omitempty"`
 38301  	// The current secondary DNS address.
 38302  	AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty" json:"alternateDnsServerAddress,omitempty"`
 38303  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38304  	//
 38305  	// The current IPv6 address.
 38306  	Ipv6Address string `xml:"ipv6Address,omitempty" json:"ipv6Address,omitempty"`
 38307  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38308  	//
 38309  	// The current IPv6 subnet mask.
 38310  	Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty" json:"ipv6SubnetMask,omitempty"`
 38311  	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
 38312  	//
 38313  	// The current IPv6 default gateway.
 38314  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
 38315  	// True if ARP Redirect is enabled
 38316  	ArpRedirectEnabled *bool `xml:"arpRedirectEnabled" json:"arpRedirectEnabled,omitempty"`
 38317  	// True if the host bus adapter supports setting its MTU, (for Jumbo
 38318  	// Frames, etc)
 38319  	// Setting enableJumboFrames and not a numeric mtu value implies
 38320  	// autoselection of appropriate MTU value for Jumbo Frames.
 38321  	Mtu                int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 38322  	JumboFramesEnabled *bool `xml:"jumboFramesEnabled" json:"jumboFramesEnabled,omitempty"`
 38323  	// True if IPv4 is enabled.
 38324  	//
 38325  	// Unset value will keep existing IPv4 enabled state as is.
 38326  	Ipv4Enabled *bool `xml:"ipv4Enabled" json:"ipv4Enabled,omitempty"`
 38327  	// True if IPv6 is enabled.
 38328  	//
 38329  	// Unset value will keep existing IPv6 enabled state as is.
 38330  	Ipv6Enabled *bool `xml:"ipv6Enabled" json:"ipv6Enabled,omitempty"`
 38331  	// IPv6 properties.
 38332  	//
 38333  	// It is set only if { @link #ipv6Enabled } is true.
 38334  	Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty" json:"ipv6properties,omitempty"`
 38335  }
 38336  
 38337  func init() {
 38338  	t["HostInternetScsiHbaIPProperties"] = reflect.TypeOf((*HostInternetScsiHbaIPProperties)(nil)).Elem()
 38339  }
 38340  
 38341  // The IPv6 properties for the host bus adapter.
 38342  type HostInternetScsiHbaIPv6Properties struct {
 38343  	DynamicData
 38344  
 38345  	// There can be multiple IPv6 addressed plumbed onto the Host Bus Adapter.
 38346  	IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty" json:"iscsiIpv6Address,omitempty"`
 38347  	// True if DHCPv6 is enabled on the host bus adapter.
 38348  	//
 38349  	// User can keep this field unset while changing other IPv6 properties
 38350  	// without altering current DHCP configuration.
 38351  	Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled" json:"ipv6DhcpConfigurationEnabled,omitempty"`
 38352  	// True if auto configuration of link local address is enabled on the host bus adapter.
 38353  	//
 38354  	// User can keep this field unset while changing other IPv6 properties
 38355  	// without altering current link local auto configuration.
 38356  	Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled" json:"ipv6LinkLocalAutoConfigurationEnabled,omitempty"`
 38357  	// True if the router advertisement configuration is enabled on the host bus adapter.
 38358  	//
 38359  	// User can keep this field unset while changing other IPv6 properties
 38360  	// without altering current router advertisement configuration.
 38361  	Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled" json:"ipv6RouterAdvertisementConfigurationEnabled,omitempty"`
 38362  	// The current IPv6 default gateway.
 38363  	//
 38364  	// User can keep this field unset while changing other IPv6 properties
 38365  	// without altering current default gateway configuration.
 38366  	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
 38367  }
 38368  
 38369  func init() {
 38370  	t["HostInternetScsiHbaIPv6Properties"] = reflect.TypeOf((*HostInternetScsiHbaIPv6Properties)(nil)).Elem()
 38371  }
 38372  
 38373  // The IPv6 address.
 38374  type HostInternetScsiHbaIscsiIpv6Address struct {
 38375  	DynamicData
 38376  
 38377  	// IPv6 address.
 38378  	Address string `xml:"address" json:"address"`
 38379  	// IPv6 address prefix length.
 38380  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38381  	// Type of the address.
 38382  	//
 38383  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::AddressConfigurationType }.
 38384  	// Note: While setting IPv6 address, value of origin should be set to static.
 38385  	Origin string `xml:"origin" json:"origin"`
 38386  	// Operation to be performed with the IP address.
 38387  	//
 38388  	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::IPv6AddressOperation }.
 38389  	// Note: This field/operation is used only while setting the IPProperties on host bus adapter.
 38390  	// This field would not have any value (Unset) while viewing IPProperties
 38391  	// of the host bus adapter.
 38392  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 38393  }
 38394  
 38395  func init() {
 38396  	t["HostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6Address)(nil)).Elem()
 38397  }
 38398  
 38399  // Describes the the value of an iSCSI parameter, and whether
 38400  // the value is being inherited.
 38401  type HostInternetScsiHbaParamValue struct {
 38402  	OptionValue
 38403  
 38404  	// Indicates if the value is inherited from some other source.
 38405  	//
 38406  	// If unset, the value is not inheritable.
 38407  	// isInherited can be modified only if it has already been set.
 38408  	// If value is to being modified, isInherited should be set to true.
 38409  	// Setting isInherited to false will result in the value being
 38410  	// once again inherited from the source.
 38411  	IsInherited *bool `xml:"isInherited" json:"isInherited,omitempty"`
 38412  }
 38413  
 38414  func init() {
 38415  	t["HostInternetScsiHbaParamValue"] = reflect.TypeOf((*HostInternetScsiHbaParamValue)(nil)).Elem()
 38416  }
 38417  
 38418  // The iSCSI send target.
 38419  type HostInternetScsiHbaSendTarget struct {
 38420  	DynamicData
 38421  
 38422  	// The IP address or hostname of the storage device.
 38423  	Address string `xml:"address" json:"address"`
 38424  	// The TCP port of the storage device.
 38425  	//
 38426  	// If not specified, the standard default of 3260 is used.
 38427  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 38428  	// The authentication settings for this discovery target.
 38429  	//
 38430  	// All static targets discovered via this target will inherit the
 38431  	// use of these settings unless the static target's authentication
 38432  	// settings are explicitly set.
 38433  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty"`
 38434  	// The digest settings for this discovery target.
 38435  	//
 38436  	// All static targets discovered via this target will inherit the
 38437  	// use of these settings unless the static target's digest
 38438  	// settings are explicitly set.
 38439  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 38440  	// A list of supported key/value pair advanced options for the
 38441  	// host bus adapter including their type information.
 38442  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 38443  	// A list of the current options settings for the host bus adapter.
 38444  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 38445  	// The device name of the host bus adapter from which settings
 38446  	// can be inherited.
 38447  	Parent string `xml:"parent,omitempty" json:"parent,omitempty"`
 38448  }
 38449  
 38450  func init() {
 38451  	t["HostInternetScsiHbaSendTarget"] = reflect.TypeOf((*HostInternetScsiHbaSendTarget)(nil)).Elem()
 38452  }
 38453  
 38454  // The iSCSI static target.
 38455  type HostInternetScsiHbaStaticTarget struct {
 38456  	DynamicData
 38457  
 38458  	// The IP address or hostname of the storage device.
 38459  	Address string `xml:"address" json:"address"`
 38460  	// The TCP port of the storage device.
 38461  	//
 38462  	// If not specified, the standard default of 3260 is used.
 38463  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 38464  	// The iSCSI name of the storage device.
 38465  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38466  	// Discovery method
 38467  	// each static target is discovered by some method
 38468  	// define in TargetDiscoveryMethod.
 38469  	DiscoveryMethod string `xml:"discoveryMethod,omitempty" json:"discoveryMethod,omitempty"`
 38470  	// The authentication settings for this target.
 38471  	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty"`
 38472  	// The digest settings for this target.
 38473  	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty"`
 38474  	// A list of supported key/value pair advanced options for the
 38475  	// host bus adapter including their type information.
 38476  	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty"`
 38477  	// A list of the current options settings for the host bus adapter.
 38478  	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty"`
 38479  	// The parent entity from which settings can be inherited.
 38480  	//
 38481  	// It can either
 38482  	// be unset, or set to the device name of the host bus adapter or the
 38483  	// name of the SendTarget.
 38484  	Parent string `xml:"parent,omitempty" json:"parent,omitempty"`
 38485  }
 38486  
 38487  func init() {
 38488  	t["HostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*HostInternetScsiHbaStaticTarget)(nil)).Elem()
 38489  }
 38490  
 38491  // A collection of one or more static targets or discovery addresses.
 38492  //
 38493  // At least one of the arrays must be non-empty.
 38494  type HostInternetScsiHbaTargetSet struct {
 38495  	DynamicData
 38496  
 38497  	StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty" json:"staticTargets,omitempty"`
 38498  	SendTargets   []HostInternetScsiHbaSendTarget   `xml:"sendTargets,omitempty" json:"sendTargets,omitempty"`
 38499  }
 38500  
 38501  func init() {
 38502  	t["HostInternetScsiHbaTargetSet"] = reflect.TypeOf((*HostInternetScsiHbaTargetSet)(nil)).Elem()
 38503  }
 38504  
 38505  // Internet SCSI transport information about a SCSI target.
 38506  type HostInternetScsiTargetTransport struct {
 38507  	HostTargetTransport
 38508  
 38509  	// The iSCSI name of the target.
 38510  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 38511  	// The iSCSI alias of the target.
 38512  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 38513  	// The IP addresses through which the target may be reached.
 38514  	Address []string `xml:"address,omitempty" json:"address,omitempty"`
 38515  }
 38516  
 38517  func init() {
 38518  	t["HostInternetScsiTargetTransport"] = reflect.TypeOf((*HostInternetScsiTargetTransport)(nil)).Elem()
 38519  }
 38520  
 38521  // A HostInventoryFull is thrown if the inventory has reach the max capacity of hosts.
 38522  type HostInventoryFull struct {
 38523  	NotEnoughLicenses
 38524  
 38525  	Capacity int32 `xml:"capacity" json:"capacity"`
 38526  }
 38527  
 38528  func init() {
 38529  	t["HostInventoryFull"] = reflect.TypeOf((*HostInventoryFull)(nil)).Elem()
 38530  }
 38531  
 38532  // This event records if the inventory of hosts has reached capacity.
 38533  type HostInventoryFullEvent struct {
 38534  	LicenseEvent
 38535  
 38536  	Capacity int32 `xml:"capacity" json:"capacity"`
 38537  }
 38538  
 38539  func init() {
 38540  	t["HostInventoryFullEvent"] = reflect.TypeOf((*HostInventoryFullEvent)(nil)).Elem()
 38541  }
 38542  
 38543  type HostInventoryFullFault HostInventoryFull
 38544  
 38545  func init() {
 38546  	t["HostInventoryFullFault"] = reflect.TypeOf((*HostInventoryFullFault)(nil)).Elem()
 38547  }
 38548  
 38549  // Event indicating that the virtual machine inventory
 38550  // file on the host is damaged or unreadable.
 38551  type HostInventoryUnreadableEvent struct {
 38552  	Event
 38553  }
 38554  
 38555  func init() {
 38556  	t["HostInventoryUnreadableEvent"] = reflect.TypeOf((*HostInventoryUnreadableEvent)(nil)).Elem()
 38557  }
 38558  
 38559  // Information about an IO Filter installed on a host.
 38560  type HostIoFilterInfo struct {
 38561  	IoFilterInfo
 38562  
 38563  	// Whether or not the filter is available for use.
 38564  	Available bool `xml:"available" json:"available"`
 38565  }
 38566  
 38567  func init() {
 38568  	t["HostIoFilterInfo"] = reflect.TypeOf((*HostIoFilterInfo)(nil)).Elem()
 38569  }
 38570  
 38571  // This event records a change in host IP address.
 38572  type HostIpChangedEvent struct {
 38573  	HostEvent
 38574  
 38575  	// Old IP address of the host.
 38576  	OldIP string `xml:"oldIP" json:"oldIP"`
 38577  	// New IP address of the host.
 38578  	NewIP string `xml:"newIP" json:"newIP"`
 38579  }
 38580  
 38581  func init() {
 38582  	t["HostIpChangedEvent"] = reflect.TypeOf((*HostIpChangedEvent)(nil)).Elem()
 38583  }
 38584  
 38585  // The IP configuration.
 38586  type HostIpConfig struct {
 38587  	DynamicData
 38588  
 38589  	// The flag to indicate whether or not DHCP (dynamic host
 38590  	// control protocol) is enabled.
 38591  	//
 38592  	// If this property is set to true,
 38593  	// the ipAddress and the subnetMask strings cannot be set explicitly.
 38594  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 38595  	// The IP address currently used by the network adapter.
 38596  	//
 38597  	// All IP addresses are specified using IPv4 dot notation.
 38598  	// For example, "192.168.0.1". Subnet addresses and netmasks are
 38599  	// specified using the same notation.
 38600  	//
 38601  	// `*Note*`: When DHCP is enabled, this property reflects the
 38602  	// current IP configuration and cannot be set. When DHCP is not
 38603  	// enabled, this property can be set explicitly.
 38604  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 38605  	// The subnet mask.
 38606  	//
 38607  	// `*Note*`: When DHCP is not enabled, this property can be
 38608  	// set explicitly. When DHCP is enabled, this property reflects the
 38609  	// current IP configuration and cannot be set.
 38610  	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
 38611  	// The ipv6 configuration
 38612  	IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty" json:"ipV6Config,omitempty"`
 38613  }
 38614  
 38615  func init() {
 38616  	t["HostIpConfig"] = reflect.TypeOf((*HostIpConfig)(nil)).Elem()
 38617  }
 38618  
 38619  // The ipv6 address specification
 38620  type HostIpConfigIpV6Address struct {
 38621  	DynamicData
 38622  
 38623  	// The ipv6 address.
 38624  	//
 38625  	// When DHCP is enabled, this property
 38626  	// reflects the current IP configuration and cannot be set.
 38627  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 38628  	// The prefix length.
 38629  	//
 38630  	// An ipv6 prefixLength is a decimal value that indicates
 38631  	// the number of contiguous, higher-order bits of the address that make up the
 38632  	// network portion of the address.
 38633  	// For example, 10FA:6604:8136:6502::/64 is a possible IPv6 prefix. The prefix
 38634  	// length in this case is 64.
 38635  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38636  	// The type of the ipv6 address configuration on the interface.
 38637  	//
 38638  	// This can be one of the types defined my the enum
 38639  	// `HostIpConfigIpV6AddressConfigType_enum`.
 38640  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 38641  	// The state of this ipAddress.
 38642  	//
 38643  	// Can be one of
 38644  	// `HostIpConfigIpV6AddressStatus_enum`
 38645  	DadState string `xml:"dadState,omitempty" json:"dadState,omitempty"`
 38646  	// The time when will this address expire.
 38647  	//
 38648  	// If not set
 38649  	// the address lifetime is unlimited.
 38650  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 38651  	// Valid values are "add" and "remove".
 38652  	//
 38653  	// See `HostConfigChangeOperation_enum`.
 38654  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 38655  }
 38656  
 38657  func init() {
 38658  	t["HostIpConfigIpV6Address"] = reflect.TypeOf((*HostIpConfigIpV6Address)(nil)).Elem()
 38659  }
 38660  
 38661  // The ipv6 address configuration
 38662  type HostIpConfigIpV6AddressConfiguration struct {
 38663  	DynamicData
 38664  
 38665  	// Ipv6 adrresses configured on the interface.
 38666  	//
 38667  	// The global addresses can be configured
 38668  	// through DHCP, stateless or manual configuration. Link local addresses can be
 38669  	// only configured with the origin set to
 38670  	// `other`.
 38671  	IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty" json:"ipV6Address,omitempty"`
 38672  	// Specify if IPv6 address and routing information information
 38673  	// be enabled or not as per RFC 2462.
 38674  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 38675  	// The flag to indicate whether or not DHCP (dynamic host
 38676  	// control protocol) is enabled to obtain an ipV6 address.
 38677  	//
 38678  	// If this property is set to true, an ipV6 address is configured through dhcpV6.
 38679  	DhcpV6Enabled *bool `xml:"dhcpV6Enabled" json:"dhcpV6Enabled,omitempty"`
 38680  }
 38681  
 38682  func init() {
 38683  	t["HostIpConfigIpV6AddressConfiguration"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfiguration)(nil)).Elem()
 38684  }
 38685  
 38686  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 38687  //
 38688  // This event records that the IP address resolution returned different
 38689  // addresses on the host.
 38690  //
 38691  // Please check your host's network configuration.
 38692  type HostIpInconsistentEvent struct {
 38693  	HostEvent
 38694  
 38695  	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
 38696  	IpAddress2 string `xml:"ipAddress2" json:"ipAddress2"`
 38697  }
 38698  
 38699  func init() {
 38700  	t["HostIpInconsistentEvent"] = reflect.TypeOf((*HostIpInconsistentEvent)(nil)).Elem()
 38701  }
 38702  
 38703  // IP Route Configuration.
 38704  //
 38705  // All IPv4 addresses, subnet addresses, and
 38706  // netmasks are specified as strings using dotted decimal notation.
 38707  // For example, "192.0.2.1".
 38708  // IPv6 addresses are 128-bit addresses represented
 38709  // as eight fields of up to four hexadecimal digits. A colon separates each
 38710  // field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 38711  // also consist of symbol '::' to represent multiple 16-bit groups of
 38712  // contiguous 0's only once in an address as described in RFC 2373.
 38713  type HostIpRouteConfig struct {
 38714  	DynamicData
 38715  
 38716  	// The default gateway address.
 38717  	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
 38718  	// The gateway device.
 38719  	//
 38720  	// This applies to service console gateway only, it
 38721  	// is ignored otherwise.
 38722  	GatewayDevice string `xml:"gatewayDevice,omitempty" json:"gatewayDevice,omitempty"`
 38723  	// The default ipv6 gateway address
 38724  	IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty" json:"ipV6DefaultGateway,omitempty"`
 38725  	// The ipv6 gateway device.
 38726  	//
 38727  	// This applies to service console gateway only, it
 38728  	IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty" json:"ipV6GatewayDevice,omitempty"`
 38729  }
 38730  
 38731  func init() {
 38732  	t["HostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem()
 38733  }
 38734  
 38735  // Dataobject specifying the configuration for IpRoute
 38736  type HostIpRouteConfigSpec struct {
 38737  	HostIpRouteConfig
 38738  
 38739  	// Choose a gateway device based on what the VirtualNic is connected to.
 38740  	//
 38741  	// This applies to service console gateway only, it
 38742  	// is ignored otherwise.
 38743  	GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty" json:"gatewayDeviceConnection,omitempty"`
 38744  	// The ipv6 gateway device based on what the VirtualNic is connected to.
 38745  	//
 38746  	// This applies to service console gateway only, it
 38747  	// is ignored otherwise.
 38748  	IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty" json:"ipV6GatewayDeviceConnection,omitempty"`
 38749  }
 38750  
 38751  func init() {
 38752  	t["HostIpRouteConfigSpec"] = reflect.TypeOf((*HostIpRouteConfigSpec)(nil)).Elem()
 38753  }
 38754  
 38755  // IpRouteEntry.
 38756  //
 38757  // Routing entries are individual static routes which combined
 38758  // with the default route form all of the routing rules for a host.
 38759  type HostIpRouteEntry struct {
 38760  	DynamicData
 38761  
 38762  	// Network of the routing entry
 38763  	// Of the format "10.20.120.0" or "2001:db8::1428:57"
 38764  	Network string `xml:"network" json:"network"`
 38765  	// Prefix length of the network (this is the 22 in 10.20.120.0/22)
 38766  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 38767  	// Gateway for the routing entry
 38768  	Gateway string `xml:"gateway" json:"gateway"`
 38769  	// If available the property indicates the device associated with the
 38770  	// routing entry.
 38771  	//
 38772  	// This property can only be read from the server.
 38773  	// It will be ignored if set by the client.
 38774  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
 38775  }
 38776  
 38777  func init() {
 38778  	t["HostIpRouteEntry"] = reflect.TypeOf((*HostIpRouteEntry)(nil)).Elem()
 38779  }
 38780  
 38781  // Routing Entry Operation.
 38782  //
 38783  // Routing entries are individual static routes
 38784  // which combined with the default route form all of the routing rules for
 38785  // a host.
 38786  type HostIpRouteOp struct {
 38787  	DynamicData
 38788  
 38789  	// This property indicates the change operation to apply on
 38790  	// this configuration specification.
 38791  	//
 38792  	// See also `HostConfigChangeOperation_enum`.
 38793  	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
 38794  	// The routing entry itself
 38795  	Route HostIpRouteEntry `xml:"route" json:"route"`
 38796  }
 38797  
 38798  func init() {
 38799  	t["HostIpRouteOp"] = reflect.TypeOf((*HostIpRouteOp)(nil)).Elem()
 38800  }
 38801  
 38802  // IpRouteEntry.
 38803  //
 38804  // Routing entries are individual static routes which combined
 38805  // with the default route form all of the routing rules for a host.
 38806  type HostIpRouteTableConfig struct {
 38807  	DynamicData
 38808  
 38809  	// The array of Routing ops (routes to be added/removed)
 38810  	IpRoute   []HostIpRouteOp `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 38811  	Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 38812  }
 38813  
 38814  func init() {
 38815  	t["HostIpRouteTableConfig"] = reflect.TypeOf((*HostIpRouteTableConfig)(nil)).Elem()
 38816  }
 38817  
 38818  // IpRouteTableInfo.
 38819  //
 38820  // This is the list of all static routes on the host
 38821  type HostIpRouteTableInfo struct {
 38822  	DynamicData
 38823  
 38824  	// The array of IpRouteEntry
 38825  	IpRoute   []HostIpRouteEntry `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 38826  	Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
 38827  }
 38828  
 38829  func init() {
 38830  	t["HostIpRouteTableInfo"] = reflect.TypeOf((*HostIpRouteTableInfo)(nil)).Elem()
 38831  }
 38832  
 38833  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 38834  //
 38835  // This event records that the host's IP address could not be resolved to a short name.
 38836  type HostIpToShortNameFailedEvent struct {
 38837  	HostEvent
 38838  }
 38839  
 38840  func init() {
 38841  	t["HostIpToShortNameFailedEvent"] = reflect.TypeOf((*HostIpToShortNameFailedEvent)(nil)).Elem()
 38842  }
 38843  
 38844  // The IpmiInfo data object contains IPMI (Intelligent Platform Management Interface)
 38845  // and BMC (Baseboard Management Controller) information for the host.
 38846  type HostIpmiInfo struct {
 38847  	DynamicData
 38848  
 38849  	// IP address of the BMC on the host.
 38850  	//
 38851  	// It should be null terminated.
 38852  	BmcIpAddress string `xml:"bmcIpAddress,omitempty" json:"bmcIpAddress,omitempty"`
 38853  	// MAC address of the BMC on the host.
 38854  	//
 38855  	// The MAC address should be of the
 38856  	// form xx:xx:xx:xx:xx:xx where each x is a hex digit. It should be null
 38857  	// terminated.
 38858  	BmcMacAddress string `xml:"bmcMacAddress,omitempty" json:"bmcMacAddress,omitempty"`
 38859  	// User ID for logging into the BMC.
 38860  	//
 38861  	// BMC usernames may be up to 16
 38862  	// characters and must be null terminated. Hence, a login comprises
 38863  	// 17 or fewer characters.
 38864  	Login string `xml:"login,omitempty" json:"login,omitempty"`
 38865  	// Password for logging into the BMC.
 38866  	//
 38867  	// Only used for configuration, returned as unset
 38868  	// while reading. The password can be up to 16 characters and must be null
 38869  	// terminated. Hence, a password comprises 17 or fewer characters.
 38870  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 38871  }
 38872  
 38873  func init() {
 38874  	t["HostIpmiInfo"] = reflect.TypeOf((*HostIpmiInfo)(nil)).Elem()
 38875  }
 38876  
 38877  // This event records that the isolation address could not be pinged.
 38878  //
 38879  // The default isolation address is the service console's default gateway.
 38880  type HostIsolationIpPingFailedEvent struct {
 38881  	HostDasEvent
 38882  
 38883  	IsolationIp string `xml:"isolationIp" json:"isolationIp"`
 38884  }
 38885  
 38886  func init() {
 38887  	t["HostIsolationIpPingFailedEvent"] = reflect.TypeOf((*HostIsolationIpPingFailedEvent)(nil)).Elem()
 38888  }
 38889  
 38890  // Encapsulates information about all licensable resources on the host.
 38891  type HostLicensableResourceInfo struct {
 38892  	DynamicData
 38893  
 38894  	// List of currently supported resources.
 38895  	//
 38896  	// The type of every value is long. The key can be one of `HostLicensableResourceKey_enum`
 38897  	// or arbitrary string.
 38898  	//
 38899  	// NOTE:
 38900  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 38901  	Resource []KeyAnyValue `xml:"resource" json:"resource"`
 38902  }
 38903  
 38904  func init() {
 38905  	t["HostLicensableResourceInfo"] = reflect.TypeOf((*HostLicensableResourceInfo)(nil)).Elem()
 38906  }
 38907  
 38908  // This data object type describes license information stored on the host.
 38909  type HostLicenseConnectInfo struct {
 38910  	DynamicData
 38911  
 38912  	// License information.
 38913  	License LicenseManagerLicenseInfo `xml:"license" json:"license"`
 38914  	// Evaluation information.
 38915  	Evaluation LicenseManagerEvaluationInfo `xml:"evaluation" json:"evaluation"`
 38916  	// Licensable resources information.
 38917  	//
 38918  	// NOTE:
 38919  	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
 38920  	Resource *HostLicensableResourceInfo `xml:"resource,omitempty" json:"resource,omitempty"`
 38921  }
 38922  
 38923  func init() {
 38924  	t["HostLicenseConnectInfo"] = reflect.TypeOf((*HostLicenseConnectInfo)(nil)).Elem()
 38925  }
 38926  
 38927  // This event records an expired host license.
 38928  type HostLicenseExpiredEvent struct {
 38929  	LicenseEvent
 38930  }
 38931  
 38932  func init() {
 38933  	t["HostLicenseExpiredEvent"] = reflect.TypeOf((*HostLicenseExpiredEvent)(nil)).Elem()
 38934  }
 38935  
 38936  type HostLicenseSpec struct {
 38937  	DynamicData
 38938  
 38939  	// License source to be used
 38940  	Source BaseLicenseSource `xml:"source,omitempty,typeattr" json:"source,omitempty"`
 38941  	// License edition to use
 38942  	EditionKey string `xml:"editionKey,omitempty" json:"editionKey,omitempty"`
 38943  	// Disabled features.
 38944  	//
 38945  	// When an edition is set, all the features in it
 38946  	// are enabled by default. The following parameter gives a finer
 38947  	// control on which features are disabled.
 38948  	DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty" json:"disabledFeatureKey,omitempty"`
 38949  	// Enabled features
 38950  	EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty" json:"enabledFeatureKey,omitempty"`
 38951  }
 38952  
 38953  func init() {
 38954  	t["HostLicenseSpec"] = reflect.TypeOf((*HostLicenseSpec)(nil)).Elem()
 38955  }
 38956  
 38957  // This data object type encapsulates a typical set of host information that is useful
 38958  // for list views and summary pages.
 38959  //
 38960  // VirtualCenter can retrieve this information very efficiently, even for a large set
 38961  // of hosts.
 38962  type HostListSummary struct {
 38963  	DynamicData
 38964  
 38965  	// The reference to the host-managed object.
 38966  	//
 38967  	// Refers instance of `HostSystem`.
 38968  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 38969  	// Basic hardware information, if known.
 38970  	Hardware *HostHardwareSummary `xml:"hardware,omitempty" json:"hardware,omitempty"`
 38971  	// Basic runtime information, if known.
 38972  	Runtime *HostRuntimeInfo `xml:"runtime,omitempty" json:"runtime,omitempty"`
 38973  	// Basic configuration information, if known.
 38974  	Config HostConfigSummary `xml:"config" json:"config"`
 38975  	// Basic host statistics.
 38976  	QuickStats HostListSummaryQuickStats `xml:"quickStats" json:"quickStats"`
 38977  	// The overall alarm status of the host.
 38978  	//
 38979  	// In releases after vSphere API 5.0, vSphere Servers might not
 38980  	// generate property collector update notifications for this property.
 38981  	// To obtain the latest value of the property, you can use
 38982  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 38983  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 38984  	// an empty string for the version parameter.
 38985  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 38986  	// contain values for this property when some other property on the DataObject changes.
 38987  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 38988  	// version parameter, the value for this property may not be current.
 38989  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 38990  	// Indicates whether or not the host requires a reboot due to a configuration
 38991  	// change.
 38992  	RebootRequired bool `xml:"rebootRequired" json:"rebootRequired"`
 38993  	// The customized field values.
 38994  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 38995  	// IP address of the VirtualCenter server managing this host, if any.
 38996  	ManagementServerIp string `xml:"managementServerIp,omitempty" json:"managementServerIp,omitempty"`
 38997  	// The most capable Enhanced VMotion Compatibility mode supported by the
 38998  	// host hardware and software; unset if this host cannot participate in
 38999  	// any EVC mode.
 39000  	//
 39001  	// See also `Capability.supportedEVCMode`.
 39002  	MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty" json:"maxEVCModeKey,omitempty"`
 39003  	// The Enhanced VMotion Compatibility mode that is currently in effect
 39004  	// for this host.
 39005  	//
 39006  	// If the host is in a cluster where EVC is active, this
 39007  	// will match the cluster's EVC mode; otherwise this will be unset.
 39008  	//
 39009  	// See also `Capability.supportedEVCMode`.
 39010  	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
 39011  	// The Enhanced VMotion Compatibility Graphics mode that is currently in
 39012  	// effect for this host.
 39013  	//
 39014  	// If the host is in a cluster where EVC is active,
 39015  	// this will match the cluster's EVC Graphics mode; otherwise this will
 39016  	// be unset.
 39017  	//
 39018  	// See also `Capability.supportedEVCGraphicsMode`.
 39019  	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
 39020  	// Gateway configuration, if vCenter server manages the host via a gateway
 39021  	Gateway        *HostListSummaryGatewaySummary `xml:"gateway,omitempty" json:"gateway,omitempty"`
 39022  	TpmAttestation *HostTpmAttestationInfo        `xml:"tpmAttestation,omitempty" json:"tpmAttestation,omitempty"`
 39023  	// The attestation information for the host as retrieved from any Trust
 39024  	// Authority attestation services configured in the host's parent compute
 39025  	// resource.
 39026  	//
 39027  	// This field will be set only if there is any Trust Authority
 39028  	// attestation service configured for the host's parent compute resource,
 39029  	// and unset otherwise.
 39030  	TrustAuthorityAttestationInfos []HostTrustAuthorityAttestationInfo `xml:"trustAuthorityAttestationInfos,omitempty" json:"trustAuthorityAttestationInfos,omitempty" vim:"7.0.1.0"`
 39031  }
 39032  
 39033  func init() {
 39034  	t["HostListSummary"] = reflect.TypeOf((*HostListSummary)(nil)).Elem()
 39035  }
 39036  
 39037  // This data object type describes information about a host gateway server
 39038  // that is used for the connection between vCenter Server and the host.
 39039  //
 39040  // Gateway servers are identified by type and id. In order to use
 39041  // a gateway server it has to be registered with the respective type and id
 39042  // in the vCenter Lookup Service.
 39043  type HostListSummaryGatewaySummary struct {
 39044  	DynamicData
 39045  
 39046  	// The type of the gateway server used for communication with the host.
 39047  	//
 39048  	// This is an opaque string that depends on how the gateway server is
 39049  	// registered with the vCenter Component Manager Service. There might be
 39050  	// several gateway servers for the same type.
 39051  	GatewayType string `xml:"gatewayType" json:"gatewayType"`
 39052  	// Unique ID of the gateway server used for communication with the host.
 39053  	//
 39054  	// This ID must be a unique identifier for the gateway server as
 39055  	// registered in the vCenter Component Manager Service. There must be
 39056  	// only one gateway server with the same ID.
 39057  	GatewayId string `xml:"gatewayId" json:"gatewayId"`
 39058  }
 39059  
 39060  func init() {
 39061  	t["HostListSummaryGatewaySummary"] = reflect.TypeOf((*HostListSummaryGatewaySummary)(nil)).Elem()
 39062  }
 39063  
 39064  // Basic host statistics.
 39065  //
 39066  // Included in the host statistics are fairness scores. Fairness scores are
 39067  // represented in units with relative values, meaning they are evaluated relative to
 39068  // the scores of other hosts. They should not be thought of as having any particular
 39069  // absolute value. Each fairness unit represents an increment of 0.001 in a fairness
 39070  // score. The further the fairness score diverges from 1, the less fair the
 39071  // allocation. Therefore, a fairness score of 990, representing 0.990, is more fair
 39072  // than a fairness score of 1015, which represents 1.015. This is because 1.015 is
 39073  // further from 1 than 0.990.
 39074  type HostListSummaryQuickStats struct {
 39075  	DynamicData
 39076  
 39077  	// Aggregated CPU usage across all cores on the host in MHz.
 39078  	//
 39079  	// This is only
 39080  	// available if the host is connected.
 39081  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 39082  	// Physical memory usage on the host in MB.
 39083  	//
 39084  	// This is only available if the
 39085  	// host is connected.
 39086  	OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty" json:"overallMemoryUsage,omitempty"`
 39087  	// The fairness of distributed CPU resource allocation on the host.
 39088  	DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty" json:"distributedCpuFairness,omitempty"`
 39089  	// The fairness of distributed memory resource allocation on the host.
 39090  	DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty" json:"distributedMemoryFairness,omitempty"`
 39091  	// The available capacity in MB.
 39092  	AvailablePMemCapacity int32 `xml:"availablePMemCapacity,omitempty" json:"availablePMemCapacity,omitempty"`
 39093  	// The system uptime of the host in seconds.
 39094  	Uptime int32 `xml:"uptime,omitempty" json:"uptime,omitempty"`
 39095  }
 39096  
 39097  func init() {
 39098  	t["HostListSummaryQuickStats"] = reflect.TypeOf((*HostListSummaryQuickStats)(nil)).Elem()
 39099  }
 39100  
 39101  type HostListVStorageObject HostListVStorageObjectRequestType
 39102  
 39103  func init() {
 39104  	t["HostListVStorageObject"] = reflect.TypeOf((*HostListVStorageObject)(nil)).Elem()
 39105  }
 39106  
 39107  // The parameters of `HostVStorageObjectManager.HostListVStorageObject`.
 39108  type HostListVStorageObjectRequestType struct {
 39109  	This ManagedObjectReference `xml:"_this" json:"-"`
 39110  	// The datastore to query for the virtual storage objects.
 39111  	//
 39112  	// Refers instance of `Datastore`.
 39113  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 39114  }
 39115  
 39116  func init() {
 39117  	t["HostListVStorageObjectRequestType"] = reflect.TypeOf((*HostListVStorageObjectRequestType)(nil)).Elem()
 39118  }
 39119  
 39120  type HostListVStorageObjectResponse struct {
 39121  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 39122  }
 39123  
 39124  // The `HostLocalAuthenticationInfo` data object represents
 39125  // local authentication on the ESX host.
 39126  //
 39127  // Local authentication
 39128  // is always enabled.
 39129  type HostLocalAuthenticationInfo struct {
 39130  	HostAuthenticationStoreInfo
 39131  }
 39132  
 39133  func init() {
 39134  	t["HostLocalAuthenticationInfo"] = reflect.TypeOf((*HostLocalAuthenticationInfo)(nil)).Elem()
 39135  }
 39136  
 39137  // Local file system volume.
 39138  type HostLocalFileSystemVolume struct {
 39139  	HostFileSystemVolume
 39140  
 39141  	// The device of the local file system.
 39142  	Device string `xml:"device" json:"device"`
 39143  }
 39144  
 39145  func init() {
 39146  	t["HostLocalFileSystemVolume"] = reflect.TypeOf((*HostLocalFileSystemVolume)(nil)).Elem()
 39147  }
 39148  
 39149  // The specification for creating a new local file system volume.
 39150  type HostLocalFileSystemVolumeSpec struct {
 39151  	DynamicData
 39152  
 39153  	// The device of the local file system.
 39154  	Device string `xml:"device" json:"device"`
 39155  	// The file path on the host where the file system is mounted.
 39156  	LocalPath string `xml:"localPath" json:"localPath"`
 39157  }
 39158  
 39159  func init() {
 39160  	t["HostLocalFileSystemVolumeSpec"] = reflect.TypeOf((*HostLocalFileSystemVolumeSpec)(nil)).Elem()
 39161  }
 39162  
 39163  // This event records when host local port is created to recover from
 39164  // management network connectivity loss.
 39165  type HostLocalPortCreatedEvent struct {
 39166  	DvsEvent
 39167  
 39168  	// The configuration of the new host local port.
 39169  	HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort" json:"hostLocalPort"`
 39170  }
 39171  
 39172  func init() {
 39173  	t["HostLocalPortCreatedEvent"] = reflect.TypeOf((*HostLocalPortCreatedEvent)(nil)).Elem()
 39174  }
 39175  
 39176  // File layout spec of a virtual disk.
 39177  //
 39178  // The disk could be either a base-disk
 39179  // or a delta disk.
 39180  type HostLowLevelProvisioningManagerDiskLayoutSpec struct {
 39181  	DynamicData
 39182  
 39183  	// Disk controller type, e.g.
 39184  	//
 39185  	// vim.vm.device.VirtualSCSIController or
 39186  	// vim.vm.device.VirtualIDEController.
 39187  	ControllerType string `xml:"controllerType" json:"controllerType"`
 39188  	// Bus number associated with the controller for this disk.
 39189  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 39190  	// Unit number of this disk on its controller.
 39191  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 39192  	// Source disk filename in datastore path.
 39193  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 39194  	// Destination filename in datastore path.
 39195  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 39196  }
 39197  
 39198  func init() {
 39199  	t["HostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem()
 39200  }
 39201  
 39202  type HostLowLevelProvisioningManagerFileDeleteResult struct {
 39203  	DynamicData
 39204  
 39205  	FileName string               `xml:"fileName" json:"fileName"`
 39206  	Fault    LocalizedMethodFault `xml:"fault" json:"fault"`
 39207  }
 39208  
 39209  func init() {
 39210  	t["HostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem()
 39211  }
 39212  
 39213  type HostLowLevelProvisioningManagerFileDeleteSpec struct {
 39214  	DynamicData
 39215  
 39216  	FileName string `xml:"fileName" json:"fileName"`
 39217  	FileType string `xml:"fileType" json:"fileType"`
 39218  }
 39219  
 39220  func init() {
 39221  	t["HostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem()
 39222  }
 39223  
 39224  // A FileReserveResult object describles the information of a file reserved
 39225  // by the ReserveFiles method.
 39226  //
 39227  // This includes the original input ReserveFiles
 39228  // method so that the caller can map the input with the reserved file. All
 39229  // paths will be the complete local path in the url format.
 39230  type HostLowLevelProvisioningManagerFileReserveResult struct {
 39231  	DynamicData
 39232  
 39233  	BaseName     string `xml:"baseName" json:"baseName"`
 39234  	ParentDir    string `xml:"parentDir" json:"parentDir"`
 39235  	ReservedName string `xml:"reservedName" json:"reservedName"`
 39236  }
 39237  
 39238  func init() {
 39239  	t["HostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem()
 39240  }
 39241  
 39242  type HostLowLevelProvisioningManagerFileReserveSpec struct {
 39243  	DynamicData
 39244  
 39245  	BaseName       string `xml:"baseName" json:"baseName"`
 39246  	ParentDir      string `xml:"parentDir" json:"parentDir"`
 39247  	FileType       string `xml:"fileType" json:"fileType"`
 39248  	StorageProfile string `xml:"storageProfile" json:"storageProfile"`
 39249  }
 39250  
 39251  func init() {
 39252  	t["HostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem()
 39253  }
 39254  
 39255  // File layout spec of a snapshot, including path to the vmsn file of the
 39256  // snapshot and the layout of virtual disks when the snapshot was taken.
 39257  type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
 39258  	DynamicData
 39259  
 39260  	// The unique identifier of the snapshot
 39261  	Id int32 `xml:"id" json:"id"`
 39262  	// Name of the source snapshot file in datastore path.
 39263  	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
 39264  	// Name of the destination snapshot file in datastore path.
 39265  	DstFilename string `xml:"dstFilename" json:"dstFilename"`
 39266  	// Layout of each virtual disk of the virtual machine when the
 39267  	// snapshot was taken.
 39268  	Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty" json:"disk,omitempty"`
 39269  }
 39270  
 39271  func init() {
 39272  	t["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem()
 39273  }
 39274  
 39275  // The status of a virtual machine migration operation.
 39276  type HostLowLevelProvisioningManagerVmMigrationStatus struct {
 39277  	DynamicData
 39278  
 39279  	// Unique identifier for this operation, currently it's unique
 39280  	// within one virtual center instance.
 39281  	MigrationId int64 `xml:"migrationId" json:"migrationId"`
 39282  	// Manner in which the migration process is performed.
 39283  	//
 39284  	// The set of
 39285  	// possible values is described in
 39286  	// `HostVMotionManagerVMotionType_enum`.
 39287  	Type string `xml:"type" json:"type"`
 39288  	// Whether the virtual machine is the source of the migration.
 39289  	//
 39290  	// For disk only migration, the value is always true.
 39291  	Source bool `xml:"source" json:"source"`
 39292  	// Whether the operation is considered successful.
 39293  	//
 39294  	// A migration
 39295  	// operation is considered successful if its switch over phase has
 39296  	// completed successfully.
 39297  	//
 39298  	// More specifically, for an in-progress migration, it is considered
 39299  	// successful if it has had a sucessful switch over, otherwise it is
 39300  	// considered unsuccessful. Likewise, the status of a completed
 39301  	// migration operation is also based on the switch over completion
 39302  	// status.
 39303  	//
 39304  	// The difference between a completed vs. in-progress migration with
 39305  	// the same consideredSuccessful property is that in the former case
 39306  	// the server is able to complete the clean up process thus leaves
 39307  	// nothing for the recovery process to clean up.
 39308  	ConsideredSuccessful bool `xml:"consideredSuccessful" json:"consideredSuccessful"`
 39309  }
 39310  
 39311  func init() {
 39312  	t["HostLowLevelProvisioningManagerVmMigrationStatus"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmMigrationStatus)(nil)).Elem()
 39313  }
 39314  
 39315  // Virtual machine information that can be used for recovery, for
 39316  // example, to decide whether to register a virtual machine with a
 39317  // server if the virtual machine is currently unregistered.
 39318  //
 39319  // This data
 39320  // object does not contain a complete virtual machine configuration,
 39321  // but a subset of information available from `VirtualMachineConfigInfo`, all of which are available via virtual machine
 39322  // configuration files.
 39323  //
 39324  // The documentation for each property in this data object describes
 39325  // the property in `VirtualMachineConfigInfo` that contains the same
 39326  // information if available.
 39327  type HostLowLevelProvisioningManagerVmRecoveryInfo struct {
 39328  	DynamicData
 39329  
 39330  	// The hardware version of this virtual machine.
 39331  	//
 39332  	// Same as
 39333  	// `VirtualMachineConfigInfo.version`.
 39334  	Version string `xml:"version" json:"version"`
 39335  	// 128-bit SMBIOS UUID of this virtual machine.
 39336  	//
 39337  	// Same as
 39338  	// `VirtualMachineConfigInfo.uuid`.
 39339  	BiosUUID string `xml:"biosUUID" json:"biosUUID"`
 39340  	// VirtualCenter-specific 128-bit UUID of this virtual machine.
 39341  	//
 39342  	// Same
 39343  	// as `VirtualMachineConfigInfo.instanceUuid`.
 39344  	InstanceUUID string `xml:"instanceUUID" json:"instanceUUID"`
 39345  	// Fault Tolerance settings for this virtual machine.
 39346  	//
 39347  	// Same as
 39348  	// `VirtualMachineConfigInfo.ftInfo`. Unset if non FT.
 39349  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 39350  }
 39351  
 39352  func init() {
 39353  	t["HostLowLevelProvisioningManagerVmRecoveryInfo"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmRecoveryInfo)(nil)).Elem()
 39354  }
 39355  
 39356  // The `HostMaintenanceSpec` data object may be used to specify
 39357  // actions to be taken by a host upon entering maintenance mode.
 39358  //
 39359  // If the `HostMaintenanceSpec` or any of its fields are omitted in a
 39360  // call to `HostSystem.EnterMaintenanceMode_Task`, default actions
 39361  // will be chosen as documented for each field's type.
 39362  //
 39363  // See also `HostSystem.EnterMaintenanceMode_Task`, `VsanHostDecommissionMode`.
 39364  type HostMaintenanceSpec struct {
 39365  	DynamicData
 39366  
 39367  	// The `VsanHostDecommissionMode` for this MaintenanceSpec.
 39368  	VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty" json:"vsanMode,omitempty"`
 39369  	// Maintenance mode reason code.
 39370  	//
 39371  	// See `HostMaintenanceSpecPurpose_enum` for valid values.
 39372  	Purpose string `xml:"purpose,omitempty" json:"purpose,omitempty"`
 39373  }
 39374  
 39375  func init() {
 39376  	t["HostMaintenanceSpec"] = reflect.TypeOf((*HostMaintenanceSpec)(nil)).Elem()
 39377  }
 39378  
 39379  // This class defines healthcheck result of the vSphere Distributed Switch.
 39380  type HostMemberHealthCheckResult struct {
 39381  	DynamicData
 39382  
 39383  	// The summary of health check result.
 39384  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 39385  }
 39386  
 39387  func init() {
 39388  	t["HostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem()
 39389  }
 39390  
 39391  // The `HostMemberRuntimeInfo` data object
 39392  // contains healthcheck and status information about a host
 39393  // member of a distributed virtual switch.
 39394  type HostMemberRuntimeInfo struct {
 39395  	DynamicData
 39396  
 39397  	// The host.
 39398  	//
 39399  	// Refers instance of `HostSystem`.
 39400  	Host ManagedObjectReference `xml:"host" json:"host"`
 39401  	// Host proxy switch status.
 39402  	//
 39403  	// See
 39404  	// `HostComponentState` for valid values.
 39405  	// This property replaces the deprecated
 39406  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.status`.
 39407  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 39408  	// Additional information regarding the current membership status of the host.
 39409  	//
 39410  	// This property replaces the deprecated
 39411  	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.statusDetail`.
 39412  	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
 39413  	// NSX-T component status.
 39414  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty"`
 39415  	// Additional information regarding the NSX-T component status.
 39416  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty"`
 39417  	// Health check result for the host that joined the distributed virtual switch.
 39418  	HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr" json:"healthCheckResult,omitempty"`
 39419  	// Indicate the runtime state of uplink on the host.
 39420  	//
 39421  	// It is only applicable when `DistributedVirtualSwitchHostMemberConfigInfo.networkOffloadingEnabled`
 39422  	// is true.
 39423  	HostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"hostUplinkState,omitempty" json:"hostUplinkState,omitempty" vim:"8.0.3.0"`
 39424  }
 39425  
 39426  func init() {
 39427  	t["HostMemberRuntimeInfo"] = reflect.TypeOf((*HostMemberRuntimeInfo)(nil)).Elem()
 39428  }
 39429  
 39430  // This class defines healthcheck result of a specified Uplink port
 39431  // in vSphere Distributed Switch.
 39432  type HostMemberUplinkHealthCheckResult struct {
 39433  	HostMemberHealthCheckResult
 39434  
 39435  	// The uplink port key.
 39436  	UplinkPortKey string `xml:"uplinkPortKey" json:"uplinkPortKey"`
 39437  }
 39438  
 39439  func init() {
 39440  	t["HostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem()
 39441  }
 39442  
 39443  // The `HostMemoryProfile` data object represents
 39444  // memory configuration for the host.
 39445  //
 39446  // This may not be valid all versions of the host.
 39447  //
 39448  // Use the `ApplyProfile.policy` list for access to configuration data
 39449  // for the host memory profile. Use the `ApplyProfile.property` list
 39450  // for access to subprofile configuration data, if any.
 39451  type HostMemoryProfile struct {
 39452  	ApplyProfile
 39453  }
 39454  
 39455  func init() {
 39456  	t["HostMemoryProfile"] = reflect.TypeOf((*HostMemoryProfile)(nil)).Elem()
 39457  }
 39458  
 39459  // DataObject used for configuring the memory setting
 39460  type HostMemorySpec struct {
 39461  	DynamicData
 39462  
 39463  	// Service Console reservation in bytes.
 39464  	ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty" json:"serviceConsoleReservation,omitempty"`
 39465  }
 39466  
 39467  func init() {
 39468  	t["HostMemorySpec"] = reflect.TypeOf((*HostMemorySpec)(nil)).Elem()
 39469  }
 39470  
 39471  // Information about a memory tier on this host.
 39472  type HostMemoryTierInfo struct {
 39473  	DynamicData
 39474  
 39475  	// Descriptive name for the memory tier.
 39476  	Name string `xml:"name" json:"name"`
 39477  	// Type of the memory tier.
 39478  	//
 39479  	// See `HostMemoryTierType_enum` for supported values.
 39480  	Type string `xml:"type" json:"type"`
 39481  	// Flags pertaining to the memory tier.
 39482  	//
 39483  	// See `HostMemoryTierFlags_enum` for supported
 39484  	// values.
 39485  	Flags []string `xml:"flags,omitempty" json:"flags,omitempty"`
 39486  	// System internal flags pertaining to the memory tier.
 39487  	//
 39488  	// See
 39489  	// `HostMemoryTierInternalFlags_enum` for supported values.
 39490  	InternalFlags []string `xml:"internalFlags,omitempty" json:"internalFlags,omitempty" vim:"8.0.3.0"`
 39491  	// Size of the memory tier in bytes.
 39492  	Size int64 `xml:"size" json:"size"`
 39493  }
 39494  
 39495  func init() {
 39496  	t["HostMemoryTierInfo"] = reflect.TypeOf((*HostMemoryTierInfo)(nil)).Elem()
 39497  	minAPIVersionForType["HostMemoryTierInfo"] = "7.0.3.0"
 39498  }
 39499  
 39500  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 39501  //
 39502  // This event records the fact that a host is missing networks that
 39503  // other hosts are using for HA communication
 39504  type HostMissingNetworksEvent struct {
 39505  	HostDasEvent
 39506  
 39507  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 39508  }
 39509  
 39510  func init() {
 39511  	t["HostMissingNetworksEvent"] = reflect.TypeOf((*HostMissingNetworksEvent)(nil)).Elem()
 39512  }
 39513  
 39514  // This event records when host monitoring state has changed.
 39515  type HostMonitoringStateChangedEvent struct {
 39516  	ClusterEvent
 39517  
 39518  	// The service state in
 39519  	// `ClusterDasConfigInfoServiceState_enum`
 39520  	State string `xml:"state" json:"state"`
 39521  	// The previous service state in
 39522  	// `ClusterDasConfigInfoServiceState_enum`
 39523  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 39524  }
 39525  
 39526  func init() {
 39527  	t["HostMonitoringStateChangedEvent"] = reflect.TypeOf((*HostMonitoringStateChangedEvent)(nil)).Elem()
 39528  }
 39529  
 39530  // The `HostMountInfo` data object provides information related
 39531  // to a configured mount point.
 39532  //
 39533  // This object does not include information
 39534  // about the mounted file system. (See `HostFileSystemMountInfo`.)
 39535  type HostMountInfo struct {
 39536  	DynamicData
 39537  
 39538  	// Local file path where file system volume is mounted, if applicable.
 39539  	//
 39540  	// This path identifies the file system volume from the point of view
 39541  	// of the host.
 39542  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 39543  	// Access mode to the underlying file system for this host.
 39544  	AccessMode string `xml:"accessMode" json:"accessMode"`
 39545  	// The mount state of this mount point.
 39546  	//
 39547  	// For a discovered
 39548  	// volume, which is mounted, this is true. When this value is
 39549  	// unset, the default value is true.
 39550  	Mounted *bool `xml:"mounted" json:"mounted,omitempty"`
 39551  	// Flag that indicates if the datastore is currently accessible from
 39552  	// the host.
 39553  	//
 39554  	// For the case of a standalone host, this property has the same value as
 39555  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 39556  	// You can use the `DatastoreSummary` property if the `HostMountInfo`
 39557  	// property is not set. The VirtualCenter Server will always make
 39558  	// sure the `DatastoreSummary` property is set correctly.
 39559  	Accessible *bool `xml:"accessible" json:"accessible,omitempty"`
 39560  	// This optional property for inaccessible reason is reported only if
 39561  	// a datastore becomes inaccessible as reported by
 39562  	// `HostMountInfo.accessible` and
 39563  	// `DatastoreSummary*.*DatastoreSummary.accessible`.
 39564  	//
 39565  	// The values for inaccessible reason are defined in the enum
 39566  	// `HostMountInfoInaccessibleReason_enum`
 39567  	// This helps to determine host specific reason for datastore inaccessibility.
 39568  	// If the datastore becomes accessible following an inaccessible condition,
 39569  	// the property `HostMountInfo.inaccessibleReason` will be unset.
 39570  	InaccessibleReason string `xml:"inaccessibleReason,omitempty" json:"inaccessibleReason,omitempty"`
 39571  	// The name of the vmknic used during mount.
 39572  	//
 39573  	// Populated by the vmk control layer if the NAS
 39574  	// volume is mounted successfully with a vmknic binding.
 39575  	VmknicName string `xml:"vmknicName,omitempty" json:"vmknicName,omitempty" vim:"8.0.1.0"`
 39576  	// Indicates whether vmknic is active or inactive.
 39577  	//
 39578  	// This field will be populated by vmk control layer during
 39579  	// NAS volume mount, and will be set to true if the
 39580  	// vmknic binding is active.
 39581  	VmknicActive *bool `xml:"vmknicActive" json:"vmknicActive,omitempty" vim:"8.0.1.0"`
 39582  	// The optional property which gives the reason for mount operation
 39583  	// failure of NFS datastore.
 39584  	//
 39585  	// This field is applicable for only those
 39586  	// mounts for which retry mount operation is configured.
 39587  	// The values for the mount failed reason are defined in the enum
 39588  	// `HostMountInfoMountFailedReason_enum`.
 39589  	// If mount operation on NFS volume succeeds in the retry, then
 39590  	// the property `HostMountInfo.mountFailedReason` will be unset.
 39591  	MountFailedReason string `xml:"mountFailedReason,omitempty" json:"mountFailedReason,omitempty" vim:"8.0.0.1"`
 39592  	// Maintained for each Host, it indicates the total number of TCP
 39593  	// connections for the NAS datastore
 39594  	NumTcpConnections int32 `xml:"numTcpConnections,omitempty" json:"numTcpConnections,omitempty" vim:"8.0.1.0"`
 39595  }
 39596  
 39597  func init() {
 39598  	t["HostMountInfo"] = reflect.TypeOf((*HostMountInfo)(nil)).Elem()
 39599  }
 39600  
 39601  // The `HostMultipathInfo` data object describes the multipathing policy
 39602  // configuration to determine the storage failover policies
 39603  // for a SCSI logical unit.
 39604  //
 39605  // The multipathing policy configuration operates on
 39606  // SCSI logical units and the paths to the logical units.
 39607  //
 39608  // Multipath policy configuration is only possible on storage devices
 39609  // provided by the native multipathing plug-store plugin. Storage devices
 39610  // using the native multipathing storage plugin will have an entry
 39611  // in this data object. Storage devices provided by a different
 39612  // storage plugin will not appear in the inventory represented by
 39613  // this data object.
 39614  //
 39615  // Legacy note: In hosts where `HostMultipathStateInfo` is not
 39616  // defined or does not exist on the `HostStorageDeviceInfo` object,
 39617  // only native multipathing exists. That means for these hosts, the
 39618  // MultipathInfo object contains the complete set of LUNs and paths on the LUNs
 39619  // available on the host.
 39620  type HostMultipathInfo struct {
 39621  	DynamicData
 39622  
 39623  	// List of logical units that can be configured for multipathing.
 39624  	Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty" json:"lun,omitempty"`
 39625  }
 39626  
 39627  func init() {
 39628  	t["HostMultipathInfo"] = reflect.TypeOf((*HostMultipathInfo)(nil)).Elem()
 39629  }
 39630  
 39631  // The `HostMultipathInfoFixedLogicalUnitPolicy` data object
 39632  // describes a multipathing policy for a logical unit which uses
 39633  // a preferred path whenever possible.
 39634  type HostMultipathInfoFixedLogicalUnitPolicy struct {
 39635  	HostMultipathInfoLogicalUnitPolicy
 39636  
 39637  	// Preferred path used for the `*fixed*` policy.
 39638  	Prefer string `xml:"prefer" json:"prefer"`
 39639  }
 39640  
 39641  func init() {
 39642  	t["HostMultipathInfoFixedLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoFixedLogicalUnitPolicy)(nil)).Elem()
 39643  }
 39644  
 39645  // The `HostMultipathInfoHppLogicalUnitPolicy` data object
 39646  // describes a multipathing policy for a HPP claimed logical unit and
 39647  // its configuration.
 39648  type HostMultipathInfoHppLogicalUnitPolicy struct {
 39649  	HostMultipathInfoLogicalUnitPolicy
 39650  
 39651  	// Byte count on the paths will be used as criteria to switch path
 39652  	// for the device.
 39653  	//
 39654  	// Allowed values 1 to (100\`1024\`1024)
 39655  	// Default Value 10\`1024\`1024
 39656  	Bytes int64 `xml:"bytes,omitempty" json:"bytes,omitempty"`
 39657  	// IOPS count on the paths will be used as criteria to switch path
 39658  	// for the device.
 39659  	//
 39660  	// Allowed values 1 to 10000
 39661  	// Default Value 1000
 39662  	Iops int64 `xml:"iops,omitempty" json:"iops,omitempty"`
 39663  	// The preferred path for the given device.
 39664  	//
 39665  	// If no prefered path is specified by the user, algorithem at ESX
 39666  	// side will choose the random possible path.
 39667  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 39668  	// This value can control at what interval (in ms) the latency of
 39669  	// paths should be evaluated.
 39670  	//
 39671  	// Allowed values 10000 to (300 \* 1000) in ms
 39672  	// Default Value 30 \* 1000
 39673  	LatencyEvalTime int64 `xml:"latencyEvalTime,omitempty" json:"latencyEvalTime,omitempty"`
 39674  	// This value will control how many sample IOs should be issued on
 39675  	// each path to calculate latency of the path.
 39676  	//
 39677  	// Allowed values 16 to 160
 39678  	// Default Value 16
 39679  	SamplingIosPerPath int64 `xml:"samplingIosPerPath,omitempty" json:"samplingIosPerPath,omitempty"`
 39680  }
 39681  
 39682  func init() {
 39683  	t["HostMultipathInfoHppLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoHppLogicalUnitPolicy)(nil)).Elem()
 39684  }
 39685  
 39686  // The `HostMultipathInfoLogicalUnit` data object
 39687  // represents a storage entity that provides disk blocks to a host.
 39688  type HostMultipathInfoLogicalUnit struct {
 39689  	DynamicData
 39690  
 39691  	// Linkable identifier.
 39692  	Key string `xml:"key" json:"key"`
 39693  	// Identifier of LogicalUnit.
 39694  	//
 39695  	// Use this id to configure LogicalUnit multipathing policy using `HostStorageSystem.SetMultipathLunPolicy`.
 39696  	Id string `xml:"id" json:"id"`
 39697  	// SCSI device corresponding to logical unit.
 39698  	Lun string `xml:"lun" json:"lun"`
 39699  	// Array of paths available to access this LogicalUnit.
 39700  	Path []HostMultipathInfoPath `xml:"path" json:"path"`
 39701  	// Policy that the logical unit should use when selecting a path.
 39702  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 39703  	// Policy used to determine how a storage device is accessed.
 39704  	//
 39705  	// This policy
 39706  	// is currently immutable.
 39707  	StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty" json:"storageArrayTypePolicy,omitempty"`
 39708  }
 39709  
 39710  func init() {
 39711  	t["HostMultipathInfoLogicalUnit"] = reflect.TypeOf((*HostMultipathInfoLogicalUnit)(nil)).Elem()
 39712  }
 39713  
 39714  // The `HostMultipathInfoLogicalUnitPolicy` data object
 39715  // describes a path selection policy for a device.
 39716  //
 39717  // This policy determines
 39718  // how paths should be utilized when accessing a device.
 39719  type HostMultipathInfoLogicalUnitPolicy struct {
 39720  	DynamicData
 39721  
 39722  	// String representing the path selection policy for a device.
 39723  	//
 39724  	// Use one of the following
 39725  	// strings:
 39726  	// For NMP plugin
 39727  	//   - <code>VMW\_PSP\_FIXED</code> - Use a preferred path whenever possible.
 39728  	//   - <code>VMW\_PSP\_RR</code> - Load balance.
 39729  	//   - <code>VMW\_PSP\_MRU</code> - Use the most recently used path.
 39730  	//
 39731  	// For HPP plugin
 39732  	//   - <code>FIXED</code> - Use a preferred path whenever possible.
 39733  	//   - <code>LB-RR</code> - Load Balance - round robin.
 39734  	//   - <code>LB-IOPS</code> - Load Balance - iops.
 39735  	//   - <code>LB-BYTES</code> - Load Balance - bytes.
 39736  	//   - <code>LB--Latency</code> - Load balance - least latency.
 39737  	//
 39738  	// You can also use the
 39739  	// `HostStorageSystem.QueryPathSelectionPolicyOptions` method
 39740  	// to retrieve the set of valid strings.
 39741  	// Use the key from the resulting structure
 39742  	// `HostPathSelectionPolicyOption`.
 39743  	Policy string `xml:"policy" json:"policy"`
 39744  }
 39745  
 39746  func init() {
 39747  	t["HostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem()
 39748  }
 39749  
 39750  // The `HostMultipathInfoLogicalUnitStorageArrayTypePolicy`
 39751  // data object describes a storage array type policy for
 39752  // for a device.
 39753  //
 39754  // This policy determines how device I/O and management
 39755  // is performed.
 39756  type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct {
 39757  	DynamicData
 39758  
 39759  	// String indicating the storage array type policy.
 39760  	Policy string `xml:"policy" json:"policy"`
 39761  }
 39762  
 39763  func init() {
 39764  	t["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitStorageArrayTypePolicy)(nil)).Elem()
 39765  }
 39766  
 39767  // The `HostMultipathInfoPath` data object
 39768  // is a storage entity that represents a topological path from a
 39769  // host bus adapter to a SCSI logical unit.
 39770  //
 39771  // Each path is unique although each
 39772  // host bus adapter/SCSI logical unit pair can have multiple paths.
 39773  //
 39774  // Path objects are identified by a key. The specifics of how
 39775  // the key is formatted are dependent on the implementation. Example
 39776  // implementations include using strings like "vmhba1:0:0:0".
 39777  type HostMultipathInfoPath struct {
 39778  	DynamicData
 39779  
 39780  	// Identifier of the path.
 39781  	Key string `xml:"key" json:"key"`
 39782  	// Name of path.
 39783  	//
 39784  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 39785  	Name string `xml:"name" json:"name"`
 39786  	// Deprecated as of VI API 4.0:
 39787  	//   - System reported path states are available in `HostMultipathInfoPath.state`.
 39788  	//   - Paths slated for I/O can be found using `HostMultipathInfoPath.isWorkingPath`.
 39789  	//
 39790  	// State of the path.
 39791  	//
 39792  	// Must be one of the values of
 39793  	// `MultipathState_enum`
 39794  	// <dl>
 39795  	// <dt>active</dt>
 39796  	// <dd>Path can be used for I/O and is currently a working path.</dd>
 39797  	// <dt>standby</dt>
 39798  	// <dd>Path can be used for I/O but is not a working path or can be
 39799  	// used if active paths fail.</dd>
 39800  	// <dt>disabled</dt>
 39801  	// <dd>Path has been administratively disabled.</dd>
 39802  	// <dt>dead</dt>
 39803  	// <dd>Path cannot be used for I/O.</dd>
 39804  	// <dt>unknown</dt>
 39805  	// <dd>Path is in unknown error state.</dd>
 39806  	// </dl>
 39807  	PathState string `xml:"pathState" json:"pathState"`
 39808  	// System-reported state of the path.
 39809  	//
 39810  	// Must be one of the values of
 39811  	// `MultipathState_enum`
 39812  	// <dl>
 39813  	// <dt>active</dt>
 39814  	// <dd>Path can be used for I/O.</dd>
 39815  	// <dt>standby</dt>
 39816  	// <dd>Path can be used for I/O if active paths fail.</dd>
 39817  	// <dt>disabled</dt>
 39818  	// <dd>Path has been administratively disabled.</dd>
 39819  	// <dt>dead</dt>
 39820  	// <dd>Path cannot be used for I/O.</dd>
 39821  	// <dt>unknown</dt>
 39822  	// <dd>Path is in unknown error state.</dd>
 39823  	// </dl>
 39824  	State string `xml:"state,omitempty" json:"state,omitempty"`
 39825  	// A path, managed by a given path selection policy(psp) plugin, is
 39826  	// denoted to be a Working Path if the psp plugin is likely to select the
 39827  	// path for performing I/O in the near future.
 39828  	IsWorkingPath *bool `xml:"isWorkingPath" json:"isWorkingPath,omitempty"`
 39829  	// The host bus adapter at one endpoint of this path.
 39830  	Adapter string `xml:"adapter" json:"adapter"`
 39831  	// The logical unit at one endpoint of this path.
 39832  	Lun string `xml:"lun" json:"lun"`
 39833  	// Transport information for the target end of the path.
 39834  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 39835  }
 39836  
 39837  func init() {
 39838  	t["HostMultipathInfoPath"] = reflect.TypeOf((*HostMultipathInfoPath)(nil)).Elem()
 39839  }
 39840  
 39841  // This data object type describes the state of storage paths on the host.
 39842  //
 39843  // All storage paths on the host are enumerated in this data object.
 39844  //
 39845  // The reason all path state information is encapsulated in this data
 39846  // object is because the path may actively change. This data object
 39847  // ensures that a request to gather path state changes only needs to
 39848  // fetch this data object.
 39849  type HostMultipathStateInfo struct {
 39850  	DynamicData
 39851  
 39852  	// List of paths on the system and their path states.
 39853  	Path []HostMultipathStateInfoPath `xml:"path,omitempty" json:"path,omitempty"`
 39854  }
 39855  
 39856  func init() {
 39857  	t["HostMultipathStateInfo"] = reflect.TypeOf((*HostMultipathStateInfo)(nil)).Elem()
 39858  }
 39859  
 39860  // Data object indicating state of storage path for a named path.
 39861  type HostMultipathStateInfoPath struct {
 39862  	DynamicData
 39863  
 39864  	// Name of path.
 39865  	//
 39866  	// Use this name to enable or disable storage paths `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 39867  	//
 39868  	// In addition to being the identifier for the path state
 39869  	// operations, the name is used to correlate this object to the
 39870  	// corresponding Path object in other contexts.
 39871  	//
 39872  	// See also `HostPlugStoreTopologyPath.name`.
 39873  	Name string `xml:"name" json:"name"`
 39874  	// The state of the path.
 39875  	//
 39876  	// Must be one of the values of
 39877  	// `MultipathState_enum`.
 39878  	PathState string `xml:"pathState" json:"pathState"`
 39879  }
 39880  
 39881  func init() {
 39882  	t["HostMultipathStateInfoPath"] = reflect.TypeOf((*HostMultipathStateInfoPath)(nil)).Elem()
 39883  }
 39884  
 39885  type HostNasVolume struct {
 39886  	HostFileSystemVolume
 39887  
 39888  	// The host that runs the NFS/CIFS server.
 39889  	//
 39890  	// Clients must plan to use remoteHostNames for both NFS v3
 39891  	// as well as NFS v4.1 because this field remoteHost may be
 39892  	// deprecated in future.
 39893  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 39894  	// The remote path of NFS/CIFS mount point.
 39895  	RemotePath string `xml:"remotePath" json:"remotePath"`
 39896  	// In case of CIFS, the user name used while connecting to the server.
 39897  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 39898  	// This field will hold host names (or ip addresses) of all
 39899  	// remote hosts configured for the datastore.
 39900  	//
 39901  	// In case of NFS v3 it will have one hostname which will be
 39902  	// the same value as in remoteHost defined above.
 39903  	// In case of NFS v4.1 if the NFS Client detects additional
 39904  	// hostnames or ip addresses during its negotiations with the
 39905  	// NFS server, those additional host names (connections) will be
 39906  	// added to this list after the datastore is created.
 39907  	// Addition of hostnames to this list is limited to MDS server host names
 39908  	// or the IP addresses. In other words, the Data Server host names IP addresses
 39909  	// will not be appended to this list.
 39910  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty"`
 39911  	// Security type the volume is currently using.
 39912  	//
 39913  	// See `HostNasVolumeSecurityType_enum`
 39914  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty"`
 39915  	// Indicates that this NAS volume is protocol endpoint.
 39916  	//
 39917  	// This
 39918  	// property will be populated if and only if host supports
 39919  	// VirtualVolume based Datastore. Check the host capability
 39920  	// `HostCapability.virtualVolumeDatastoreSupported`.
 39921  	// See `HostProtocolEndpoint`.
 39922  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty"`
 39923  }
 39924  
 39925  func init() {
 39926  	t["HostNasVolume"] = reflect.TypeOf((*HostNasVolume)(nil)).Elem()
 39927  }
 39928  
 39929  // This describes the NAS Volume configuration containing
 39930  // the configurable properties on a NAS Volume
 39931  type HostNasVolumeConfig struct {
 39932  	DynamicData
 39933  
 39934  	// Indicates the change operation to apply on this configuration
 39935  	// specification.
 39936  	//
 39937  	// See also `HostConfigChangeOperation_enum`.
 39938  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 39939  	// The specification volume.
 39940  	Spec *HostNasVolumeSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 39941  }
 39942  
 39943  func init() {
 39944  	t["HostNasVolumeConfig"] = reflect.TypeOf((*HostNasVolumeConfig)(nil)).Elem()
 39945  }
 39946  
 39947  // Specification for creating NAS volume.
 39948  //
 39949  // When mounting a NAS volume on multiple hosts, the same remoteHost and remotePath
 39950  // values should be used on every host, otherwise it will be treated as different
 39951  // datastores. For example, if one host references the remotePath of a NAS volume
 39952  // as "/mnt/mount1" and another references it as "/mnt/mount1/", it will not be
 39953  // recognized as the same datastore.
 39954  type HostNasVolumeSpec struct {
 39955  	DynamicData
 39956  
 39957  	// The host that runs the NFS v3 or CIFS server.
 39958  	//
 39959  	// For NFS v4.1
 39960  	// and beyond use remoteHostNames defined later. The field remotehost
 39961  	// may be deprecated in future for NFS, so clients should plan to use the
 39962  	// property remoteHostNames to send in the host name(s) for both NFS v3
 39963  	// and v4.1
 39964  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 39965  	// The remote path of the NFS mount point.
 39966  	RemotePath string `xml:"remotePath" json:"remotePath"`
 39967  	// The localPath refers to the name of the NAS datastore to be created
 39968  	// using this specification.
 39969  	//
 39970  	// In the case of ESX Server, the datastore name is a component in the
 39971  	// file system path at which the NAS volume can be found. For example,
 39972  	// if localPath is set to "nas\_volume" the created NAS datastore will be
 39973  	// named "nas\_volume" and it can be accessed via the file system path
 39974  	// "/vmfs/volumes/nas\_volume".
 39975  	//
 39976  	// In the case of VMware Server, the localPath will also be used as the
 39977  	// datastore name, but the datastore name may not necessarily be
 39978  	// reflected in the file system path where the NAS volume may be
 39979  	// accessed.
 39980  	LocalPath string `xml:"localPath" json:"localPath"`
 39981  	// Access mode for the mount point.
 39982  	//
 39983  	// Mounting in read-write mode would be successful irregardless on
 39984  	// how the mount point is exported or access permissions. For
 39985  	// example, mounting a volume that is exported as read-only as
 39986  	// readWrite will succeed. Hence, that a readWrite mount succeeds
 39987  	// should not be taken as an indication that all files on a mount
 39988  	// is writable.
 39989  	//
 39990  	// If a file system is mounted readOnly, the system cannot create
 39991  	// or modify any files on the file system. This is mostly useful
 39992  	// for storing ISO images and templates, since a virtual machine
 39993  	// cannot be powered on from a readOnly volume.
 39994  	//
 39995  	// The access mode of a mounted NFS volume can be obtained at
 39996  	// `HostMountInfo.accessMode`.
 39997  	//
 39998  	// See also `HostMountMode_enum`.
 39999  	AccessMode string `xml:"accessMode" json:"accessMode"`
 40000  	// Specifies the type of the the NAS volume.
 40001  	//
 40002  	// Supported types are
 40003  	// `CIFS`,
 40004  	// `NFS`,
 40005  	// `NFS41`
 40006  	// If not specified, defaults to
 40007  	// `NFS`
 40008  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 40009  	// If type is CIFS, the user name to use when connecting to the
 40010  	// CIFS server.
 40011  	//
 40012  	// If type is NFS, this field will be ignored.
 40013  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 40014  	// If type is CIFS, the password to use when connecting to the
 40015  	// CIFS server.
 40016  	//
 40017  	// If type is NFS, this field will be ignored.
 40018  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 40019  	// Hostnames or IP addresses of remote NFS server.
 40020  	//
 40021  	// In case
 40022  	// of NFS v4.1 this may have multiple entries. For NFS v3 the
 40023  	// input should be same in both remoteHost and remoteHostNames.
 40024  	// In case of NFS v4.1, if vmknic binding is enabled,
 40025  	// then input can be in format {hostip1:vmknic1, hostip2:vmknic2}.
 40026  	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty"`
 40027  	// Provided during mount indicating what security type,
 40028  	// if any, to use
 40029  	// See `HostNasVolumeSecurityType_enum`
 40030  	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty"`
 40031  	// Name of the vmknic to be used by this mount.
 40032  	//
 40033  	// This field will be updated by a client with vmknic that will be used
 40034  	// for NAS volume mount operation for vmknic binding for NFSv3
 40035  	VmknicToBind string `xml:"vmknicToBind,omitempty" json:"vmknicToBind,omitempty" vim:"8.0.1.0"`
 40036  	// Indicates whether a client wants to bind this mount to vmknic.
 40037  	//
 40038  	// This field will be set to true by a client if vmknic should bind
 40039  	// during NAS volume mount operation for NFSv3
 40040  	// else it will be set to false
 40041  	VmknicBound *bool `xml:"vmknicBound" json:"vmknicBound,omitempty" vim:"8.0.1.0"`
 40042  	// Indicates the number of TCP connections for the particular
 40043  	// NFSv3 Server during NAS volume mount operation.
 40044  	//
 40045  	// If unset or set to 0, it defaults to one connection
 40046  	Connections int32 `xml:"connections,omitempty" json:"connections,omitempty" vim:"8.0.1.0"`
 40047  }
 40048  
 40049  func init() {
 40050  	t["HostNasVolumeSpec"] = reflect.TypeOf((*HostNasVolumeSpec)(nil)).Elem()
 40051  }
 40052  
 40053  // NFS user authentication information
 40054  type HostNasVolumeUserInfo struct {
 40055  	DynamicData
 40056  
 40057  	// User name for authentication.
 40058  	User string `xml:"user" json:"user"`
 40059  }
 40060  
 40061  func init() {
 40062  	t["HostNasVolumeUserInfo"] = reflect.TypeOf((*HostNasVolumeUserInfo)(nil)).Elem()
 40063  }
 40064  
 40065  // A network address translation (NAT) service instance provides
 40066  // firewall and network address translation services for a virtual
 40067  // network.
 40068  type HostNatService struct {
 40069  	DynamicData
 40070  
 40071  	// The instance ID of the NAT service.
 40072  	Key string `xml:"key" json:"key"`
 40073  	// The configurable properties for the NatService object.
 40074  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 40075  }
 40076  
 40077  func init() {
 40078  	t["HostNatService"] = reflect.TypeOf((*HostNatService)(nil)).Elem()
 40079  }
 40080  
 40081  // This data object type describes the network address
 40082  // translation (NAT) service configuration
 40083  // representing both the configured properties
 40084  // on a NAT Service and identification information.
 40085  type HostNatServiceConfig struct {
 40086  	DynamicData
 40087  
 40088  	// Indicates the change operation to apply on this configuration
 40089  	// specification.
 40090  	//
 40091  	// See also `HostConfigChangeOperation_enum`.
 40092  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 40093  	// The instance ID of the NAT service.
 40094  	Key string `xml:"key" json:"key"`
 40095  	// The specification of the NAT service.
 40096  	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
 40097  }
 40098  
 40099  func init() {
 40100  	t["HostNatServiceConfig"] = reflect.TypeOf((*HostNatServiceConfig)(nil)).Elem()
 40101  }
 40102  
 40103  // This data object type specifies the information for the
 40104  // name servers.
 40105  type HostNatServiceNameServiceSpec struct {
 40106  	DynamicData
 40107  
 40108  	// The flag to indicate whether or not the DNS server should
 40109  	// be automatically detected or specified explicitly.
 40110  	DnsAutoDetect bool `xml:"dnsAutoDetect" json:"dnsAutoDetect"`
 40111  	// The policy to use when multiple DNS addresses are available
 40112  	// on the host.
 40113  	DnsPolicy string `xml:"dnsPolicy" json:"dnsPolicy"`
 40114  	// The number of retries before giving up on a DNS request
 40115  	// from a virtual network.
 40116  	DnsRetries int32 `xml:"dnsRetries" json:"dnsRetries"`
 40117  	// The time (in seconds) before retrying a DNS request to an external
 40118  	// network.
 40119  	DnsTimeout int32 `xml:"dnsTimeout" json:"dnsTimeout"`
 40120  	// The list of DNS servers.
 40121  	DnsNameServer []string `xml:"dnsNameServer,omitempty" json:"dnsNameServer,omitempty"`
 40122  	// The time (in seconds) allotted for queries to the NetBIOS
 40123  	// Datagram Server (NBDS).
 40124  	NbdsTimeout int32 `xml:"nbdsTimeout" json:"nbdsTimeout"`
 40125  	// Number of retries for each query to the NBNS.
 40126  	NbnsRetries int32 `xml:"nbnsRetries" json:"nbnsRetries"`
 40127  	// The time (in seconds) allotted for queries to the NBNS.
 40128  	NbnsTimeout int32 `xml:"nbnsTimeout" json:"nbnsTimeout"`
 40129  }
 40130  
 40131  func init() {
 40132  	t["HostNatServiceNameServiceSpec"] = reflect.TypeOf((*HostNatServiceNameServiceSpec)(nil)).Elem()
 40133  }
 40134  
 40135  // This data object type describes the
 40136  // Network Address Translation (NAT) port forwarding specification.
 40137  type HostNatServicePortForwardSpec struct {
 40138  	DynamicData
 40139  
 40140  	// Either "tcp" or "udp".
 40141  	Type string `xml:"type" json:"type"`
 40142  	// The user-defined name to identify the service being forwarded.
 40143  	//
 40144  	// No white spaces are allowed in the string.
 40145  	Name string `xml:"name" json:"name"`
 40146  	// The port number on the host.
 40147  	//
 40148  	// Network traffic sent to the host on this
 40149  	// TCP/UDP port is forwarded to the guest at the specified IP address
 40150  	// and port.
 40151  	HostPort int32 `xml:"hostPort" json:"hostPort"`
 40152  	// The port number for the guest.
 40153  	//
 40154  	// Network traffic from the host is
 40155  	// forwarded to this port.
 40156  	GuestPort int32 `xml:"guestPort" json:"guestPort"`
 40157  	// The IP address for the guest.
 40158  	//
 40159  	// Network traffic from the host is
 40160  	// forwarded to this IP address.
 40161  	GuestIpAddress string `xml:"guestIpAddress" json:"guestIpAddress"`
 40162  }
 40163  
 40164  func init() {
 40165  	t["HostNatServicePortForwardSpec"] = reflect.TypeOf((*HostNatServicePortForwardSpec)(nil)).Elem()
 40166  }
 40167  
 40168  // This data object type provides the details about the
 40169  // Network Address Translation (NAT) service.
 40170  type HostNatServiceSpec struct {
 40171  	DynamicData
 40172  
 40173  	// The name of the virtual switch to which nat service is connected.
 40174  	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
 40175  	// The flag to indicate whether or not non-passive mode FTP
 40176  	// connections should be allowed.
 40177  	ActiveFtp bool `xml:"activeFtp" json:"activeFtp"`
 40178  	// The flag to indicate whether or not the NAT
 40179  	// Service allows media access control traffic from any
 40180  	// Organizational Unique Identifier (OUI)?
 40181  	// By default, it does not allow traffic that originated
 40182  	// from the host to avoid packet loops.
 40183  	AllowAnyOui bool `xml:"allowAnyOui" json:"allowAnyOui"`
 40184  	// The flag to indicate whether or not the NAT Service
 40185  	// should open a configuration port.
 40186  	ConfigPort bool `xml:"configPort" json:"configPort"`
 40187  	// The IP address that the NAT Service should use on
 40188  	// the virtual network.
 40189  	IpGatewayAddress string `xml:"ipGatewayAddress" json:"ipGatewayAddress"`
 40190  	// The time allotted for UDP packets.
 40191  	UdpTimeout int32 `xml:"udpTimeout" json:"udpTimeout"`
 40192  	// The port forwarding specifications to allow network
 40193  	// connections to be initiated from outside the firewall.
 40194  	PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty" json:"portForward,omitempty"`
 40195  	// The configuration of naming services.
 40196  	//
 40197  	// These parameters are
 40198  	// specific to Windows.
 40199  	NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty" json:"nameService,omitempty"`
 40200  }
 40201  
 40202  func init() {
 40203  	t["HostNatServiceSpec"] = reflect.TypeOf((*HostNatServiceSpec)(nil)).Elem()
 40204  }
 40205  
 40206  // Capability vector indicating the available product features.
 40207  type HostNetCapabilities struct {
 40208  	DynamicData
 40209  
 40210  	// The flag to indicate whether or not a physical network
 40211  	// adapter's link speed and duplex settings can be changed through
 40212  	// this API.
 40213  	//
 40214  	// For a hosted product, the host uses its physical network
 40215  	// adapters for network connectivity. Configuration of link speed is
 40216  	// done through regular host operations. In ESX Server, the configuration
 40217  	// can be changed through this API.
 40218  	CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed" json:"canSetPhysicalNicLinkSpeed"`
 40219  	// The flag to indicate whether or not network adapter teaming is
 40220  	// available.
 40221  	//
 40222  	// Multiple network adapters can be bridged to a
 40223  	// virtual switch through a BondBridge. Also, network adapter teaming
 40224  	// policies such as failover order and detection are enabled.
 40225  	SupportsNicTeaming bool `xml:"supportsNicTeaming" json:"supportsNicTeaming"`
 40226  	// The available teaming policies if the platform supports network
 40227  	// adapter teaming.
 40228  	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
 40229  	// The flag to indicate whether or not VLANs can be configured on
 40230  	// PortGroups attached to VirtualSwitch objects.
 40231  	//
 40232  	// This allows VLANs for virtual machines without requiring special VLAN
 40233  	// capable hardware switches.
 40234  	SupportsVlan bool `xml:"supportsVlan" json:"supportsVlan"`
 40235  	// The flag to indicate whether or not a service
 40236  	// console network adapter
 40237  	// is used or required.
 40238  	//
 40239  	// This means that the system
 40240  	// software has two TCP/IP stacks. As a result, at least two types of
 40241  	// VirtualNics may be created -- the normal VirtualNic and the service
 40242  	// console VirtualNic. If this is not set, then only the VirtualNic type is
 40243  	// supported.
 40244  	UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic" json:"usesServiceConsoleNic"`
 40245  	// The flag to indicate whether or not the host is able
 40246  	// to support
 40247  	// the querying of network hints.
 40248  	SupportsNetworkHints bool `xml:"supportsNetworkHints" json:"supportsNetworkHints"`
 40249  	// The maximum number of port groups supported per virtual switch.
 40250  	//
 40251  	// This property will not be set if this value is unlimited.
 40252  	MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty" json:"maxPortGroupsPerVswitch,omitempty"`
 40253  	// The flag to indicate whether virtual switch configuration is
 40254  	// supported.
 40255  	//
 40256  	// This means that operations to add, remove, update virtual
 40257  	// switches are supported.
 40258  	VswitchConfigSupported bool `xml:"vswitchConfigSupported" json:"vswitchConfigSupported"`
 40259  	// The flag to indicate whether Virtual NIC configuration is supported.
 40260  	//
 40261  	// This means that operations to add, remove, update virtualNic are
 40262  	// supported.
 40263  	VnicConfigSupported bool `xml:"vnicConfigSupported" json:"vnicConfigSupported"`
 40264  	// The flag to indicate whether ip route configuration for the host
 40265  	// is supported.
 40266  	IpRouteConfigSupported bool `xml:"ipRouteConfigSupported" json:"ipRouteConfigSupported"`
 40267  	// The flag to indicate whether DNS configuration for the host is
 40268  	// supported.
 40269  	DnsConfigSupported bool `xml:"dnsConfigSupported" json:"dnsConfigSupported"`
 40270  	// This flag indicates whether or not the host is able to support
 40271  	// dhcp configuration for vnics.
 40272  	DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported" json:"dhcpOnVnicSupported"`
 40273  	// The flag to indicate whether the host is capable of communicating
 40274  	// using ipv6 protocol
 40275  	IpV6Supported *bool `xml:"ipV6Supported" json:"ipV6Supported,omitempty"`
 40276  	// The flag to indicate whether the host supports Backup NFC NIOC system
 40277  	// traffic, Unset means Backup NFC NIOC system traffic is not supported.
 40278  	BackupNfcNiocSupported *bool `xml:"backupNfcNiocSupported" json:"backupNfcNiocSupported,omitempty" vim:"7.0.1.0"`
 40279  }
 40280  
 40281  func init() {
 40282  	t["HostNetCapabilities"] = reflect.TypeOf((*HostNetCapabilities)(nil)).Elem()
 40283  }
 40284  
 40285  // Deprecated as of VI API 4.0, the system defaults will be used.
 40286  //
 40287  // Offload capabilities are used to optimize virtual machine network
 40288  // performance.
 40289  //
 40290  // When a virtual machine is transmitting on a network,
 40291  // some operations can be offloaded either to the host or to physical
 40292  // hardware. This data object type defines the set of offload capabilities
 40293  // that may be available on a host.
 40294  //
 40295  // This data object type is used both to publish the list of offload capabilities
 40296  // and to contain offload capability policy settings. The network
 40297  // policy logic is built on a two-level inheritance scheme which
 40298  // requires that all settings be optional. As a result, all properties
 40299  // on the NetOffloadCapabilities object must be optional.
 40300  //
 40301  // See also `HostNetworkPolicy`.
 40302  type HostNetOffloadCapabilities struct {
 40303  	DynamicData
 40304  
 40305  	// (Optional) The flag to indicate whether or not checksum
 40306  	// offloading is supported.
 40307  	CsumOffload *bool `xml:"csumOffload" json:"csumOffload,omitempty"`
 40308  	// (Optional) The flag to indicate whether or not TCP segmentation
 40309  	// offloading (TSO) is supported.
 40310  	TcpSegmentation *bool `xml:"tcpSegmentation" json:"tcpSegmentation,omitempty"`
 40311  	// (Optional) The flag to indicate whether or not zero copy
 40312  	// transmits are supported.
 40313  	ZeroCopyXmit *bool `xml:"zeroCopyXmit" json:"zeroCopyXmit,omitempty"`
 40314  }
 40315  
 40316  func init() {
 40317  	t["HostNetOffloadCapabilities"] = reflect.TypeOf((*HostNetOffloadCapabilities)(nil)).Elem()
 40318  }
 40319  
 40320  // This class describes Network Stack Instance configuration
 40321  type HostNetStackInstance struct {
 40322  	DynamicData
 40323  
 40324  	// Key of instance
 40325  	// For instance which created by host, its value should be `HostNetStackInstanceSystemStackKey_enum`.
 40326  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 40327  	// The display name
 40328  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 40329  	// DNS configuration
 40330  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40331  	// IP Route configuration
 40332  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40333  	// The maximum number of socket connection that are requested on this instance
 40334  	RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty" json:"requestedMaxNumberOfConnections,omitempty"`
 40335  	// The TCP congest control algorithm used by this instance,
 40336  	// See `HostNetStackInstanceCongestionControlAlgorithmType_enum` for valid values.
 40337  	CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty" json:"congestionControlAlgorithm,omitempty"`
 40338  	// Enable or disable IPv6 protocol on this stack instance.
 40339  	//
 40340  	// This property is not supported currently.
 40341  	IpV6Enabled      *bool                   `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 40342  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
 40343  }
 40344  
 40345  func init() {
 40346  	t["HostNetStackInstance"] = reflect.TypeOf((*HostNetStackInstance)(nil)).Elem()
 40347  }
 40348  
 40349  // This data object type describes networking host configuration data objects.
 40350  //
 40351  // These objects contain only the configuration information for networking.
 40352  // The runtime information is available from the
 40353  // `NetworkInfo` data object type.
 40354  //
 40355  // See also `HostNetworkInfo`.
 40356  type HostNetworkConfig struct {
 40357  	DynamicData
 40358  
 40359  	// Virtual switches configured on the host.
 40360  	Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 40361  	// Host proxy switches configured on the host.
 40362  	ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty"`
 40363  	// Port groups configured on the host.
 40364  	Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 40365  	// Physical network adapters as seen by the primary operating system.
 40366  	Pnic []PhysicalNicConfig `xml:"pnic,omitempty" json:"pnic,omitempty"`
 40367  	// Virtual network adapters configured for use by the host
 40368  	// operating system network adapter.
 40369  	Vnic []HostVirtualNicConfig `xml:"vnic,omitempty" json:"vnic,omitempty"`
 40370  	// Virtual network adapters configured for use by the Service
 40371  	// Console.
 40372  	ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 40373  	// Deprecated as of vSphere API 5.5, which is moved to
 40374  	// the default NetStackInstance.
 40375  	//
 40376  	// Client-side DNS configuration for the host.
 40377  	//
 40378  	// The DNS configuration is
 40379  	// global to the entire host.
 40380  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40381  	// Deprecated as of vSphere API 5.5, which is moved to
 40382  	// the default NetStackInstance.
 40383  	//
 40384  	// IP route configuration of the host.
 40385  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40386  	// IP route configuration of the service console.
 40387  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 40388  	// Deprecated as of vSphere API 5.5, which is moved to
 40389  	// the default NetStackInstance.
 40390  	//
 40391  	// IP routing table configuration of the host.
 40392  	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
 40393  	// Dynamic Host Control Protocol (DHCP) Service instances configured
 40394  	// on the host.
 40395  	Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 40396  	// Network address translation (NAT) Service instances configured
 40397  	// on the host.
 40398  	Nat []HostNatServiceConfig `xml:"nat,omitempty" json:"nat,omitempty"`
 40399  	// Enable or disable IPv6 protocol on this system.
 40400  	//
 40401  	// This property must be set by itself, no other property can accompany
 40402  	// this change. Following the successful change, the system should be rebooted to
 40403  	// have the change take effect.
 40404  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 40405  	// The list of network stack instance spec
 40406  	NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty" json:"netStackSpec,omitempty"`
 40407  	// Current status of NVDS to VDS migration.
 40408  	//
 40409  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 40410  	// for supported values.
 40411  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 40412  }
 40413  
 40414  func init() {
 40415  	t["HostNetworkConfig"] = reflect.TypeOf((*HostNetworkConfig)(nil)).Elem()
 40416  }
 40417  
 40418  // This data type describes Network Stack Spec
 40419  type HostNetworkConfigNetStackSpec struct {
 40420  	DynamicData
 40421  
 40422  	// Network stack instance
 40423  	NetStackInstance HostNetStackInstance `xml:"netStackInstance" json:"netStackInstance"`
 40424  	// Operation type, see
 40425  	// `ConfigSpecOperation_enum` for valid values.
 40426  	//
 40427  	// Only edit operation is supported currently.
 40428  	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
 40429  }
 40430  
 40431  func init() {
 40432  	t["HostNetworkConfigNetStackSpec"] = reflect.TypeOf((*HostNetworkConfigNetStackSpec)(nil)).Elem()
 40433  }
 40434  
 40435  // The result returned by updateNetworkConfig call.
 40436  //
 40437  // See also `HostNetworkSystem.UpdateNetworkConfig`.
 40438  type HostNetworkConfigResult struct {
 40439  	DynamicData
 40440  
 40441  	// Virtual network adapter keys.
 40442  	VnicDevice []string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 40443  	// Service console virtual network adapter keys.
 40444  	ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty" json:"consoleVnicDevice,omitempty"`
 40445  }
 40446  
 40447  func init() {
 40448  	t["HostNetworkConfigResult"] = reflect.TypeOf((*HostNetworkConfigResult)(nil)).Elem()
 40449  }
 40450  
 40451  // This data object type describes networking host
 40452  // configuration data objects.
 40453  type HostNetworkInfo struct {
 40454  	DynamicData
 40455  
 40456  	// Virtual switches configured on the host.
 40457  	Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 40458  	// Proxy switches configured on the host.
 40459  	ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty"`
 40460  	// Port groups configured on the host.
 40461  	Portgroup []HostPortGroup `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 40462  	// Physical network adapters as seen by the primary operating system.
 40463  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 40464  	// Remote direct memory access devices, if any are present on the host.
 40465  	RdmaDevice []HostRdmaDevice `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty"`
 40466  	// Virtual network adapters configured on the host (hosted products)
 40467  	// or the vmkernel.
 40468  	//
 40469  	// In the hosted architecture, these network adapters are used by the
 40470  	// host to
 40471  	// communicate with the virtual machines running on that host. In the
 40472  	// VMkernel architecture, these virtual network adapters provide the
 40473  	// ESX Server with
 40474  	// external network access through a virtual switch that is bridged to a
 40475  	// physical network adapter. The VMkernel uses these network adapters
 40476  	// for features such as VMotion, NAS, iSCSI, and remote MKS connections.
 40477  	Vnic []HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 40478  	// Virtual network adapters configured for use by the service console.
 40479  	//
 40480  	// The service
 40481  	// console uses this network access for system management and bootstrapping
 40482  	// services like network boot.
 40483  	// The two sets of virtual network adapters are mutually exclusive.
 40484  	// A virtual network adapter
 40485  	// in this list cannot be used for things like VMotion. Likewise, a
 40486  	// virtual network adapter in the other list cannot be used by the
 40487  	// service console.
 40488  	ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
 40489  	// Deprecated as of vSphere API 5.5, which is moved to
 40490  	// each NetStackInstance. For this property in NetworkInfo,
 40491  	// Get operation will only return its value of default NetStackInstance.
 40492  	//
 40493  	// Client-side DNS configuration.
 40494  	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
 40495  	// Deprecated as of vSphere API 5.5, which is moved to
 40496  	// each NetStackInstance. For this property in NetworkInfo,
 40497  	// Get operation will only return its value of default NetStackInstance.
 40498  	//
 40499  	// IP route configuration.
 40500  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 40501  	// IP route configuration of the service console.
 40502  	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
 40503  	// Deprecated as of vSphere API 5.5, which is moved to
 40504  	// each NetStackInstance. For this property in NetworkInfo,
 40505  	// Get operation will only return its value of default NetStackInstance.
 40506  	//
 40507  	// IP routing table
 40508  	RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty" json:"routeTableInfo,omitempty"`
 40509  	// DHCP Service instances configured on the host.
 40510  	Dhcp []HostDhcpService `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 40511  	// NAT service instances configured on the host.
 40512  	Nat []HostNatService `xml:"nat,omitempty" json:"nat,omitempty"`
 40513  	// Enable or disable IPv6 protocol on this system.
 40514  	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
 40515  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 40516  	AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled" json:"atBootIpV6Enabled,omitempty"`
 40517  	// List of NetStackInstances
 40518  	NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty"`
 40519  	// List of opaque switches configured on the host.
 40520  	OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty"`
 40521  	// List of opaque networks
 40522  	OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 40523  	// The nsx transport node Id
 40524  	NsxTransportNodeId string `xml:"nsxTransportNodeId,omitempty" json:"nsxTransportNodeId,omitempty"`
 40525  	// Whether NSX N-VDS to VDS migration is required
 40526  	NvdsToVdsMigrationRequired *bool `xml:"nvdsToVdsMigrationRequired" json:"nvdsToVdsMigrationRequired,omitempty" vim:"7.0.2.0"`
 40527  	// Current status of NVDS to VDS migration.
 40528  	//
 40529  	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
 40530  	// for supported values.
 40531  	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
 40532  }
 40533  
 40534  func init() {
 40535  	t["HostNetworkInfo"] = reflect.TypeOf((*HostNetworkInfo)(nil)).Elem()
 40536  }
 40537  
 40538  // This data object type describes network policies that can be configured for
 40539  // both virtual switches and port groups.
 40540  //
 40541  // The policy settings on the
 40542  // port group can inherit policy settings from their containing virtual
 40543  // switch. These policy settings are inherited if
 40544  // the settings on the port group are not set. Since every policy
 40545  // setting on a port group is optional, every individual policy setting
 40546  // can be inherited.
 40547  //
 40548  // By contrast, if a host is capable of implementing a policy setting, every
 40549  // virtual switch has some value assigned to the policy setting. In this
 40550  // case, although all of the policy settings are optional,
 40551  // they always have some value either by inheritance or by direct
 40552  // setting.
 40553  //
 40554  // Policy settings are organized into policy groups such as SecurityPolicy.
 40555  // Policy groups are optional since it is possible that a host may not implement
 40556  // such policies. If a host does not support a policy group, the policy group
 40557  // is not set on both the virtual switches and the port groups.
 40558  //
 40559  // See also `HostNetCapabilities`.
 40560  type HostNetworkPolicy struct {
 40561  	DynamicData
 40562  
 40563  	// The security policy governing ports on this virtual switch.
 40564  	Security *HostNetworkSecurityPolicy `xml:"security,omitempty" json:"security,omitempty"`
 40565  	// The network adapter teaming policy.
 40566  	//
 40567  	// The bridge must be BondBridge
 40568  	// for this property to be valid.
 40569  	NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty" json:"nicTeaming,omitempty"`
 40570  	// Deprecated as of VI API 4.0, the system defaults will be used.
 40571  	//
 40572  	// Offload capabilities are used to optimize virtual machine network
 40573  	// performance.
 40574  	//
 40575  	// When a virtual machine is transmitting on a network,
 40576  	// some operations can be offloaded to either the host or the physical
 40577  	// hardware. This policy indicates what networking related operations
 40578  	// should be offloaded.
 40579  	//
 40580  	// All virtual machines using this PortGroup are subject to this
 40581  	// policy. There is no setting for an individual virtual machine
 40582  	// to determine if an operation should be offloaded.
 40583  	OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty" json:"offloadPolicy,omitempty"`
 40584  	// The traffic shaping policy.
 40585  	ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty" json:"shapingPolicy,omitempty"`
 40586  }
 40587  
 40588  func init() {
 40589  	t["HostNetworkPolicy"] = reflect.TypeOf((*HostNetworkPolicy)(nil)).Elem()
 40590  }
 40591  
 40592  // This data type describes the network resource runtime information
 40593  type HostNetworkResourceRuntime struct {
 40594  	DynamicData
 40595  
 40596  	// The network resource related information on each
 40597  	// physical NIC
 40598  	PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo" json:"pnicResourceInfo"`
 40599  }
 40600  
 40601  func init() {
 40602  	t["HostNetworkResourceRuntime"] = reflect.TypeOf((*HostNetworkResourceRuntime)(nil)).Elem()
 40603  }
 40604  
 40605  // This data object type describes security policy governing ports.
 40606  type HostNetworkSecurityPolicy struct {
 40607  	DynamicData
 40608  
 40609  	// The flag to indicate whether or not all traffic is seen
 40610  	// on the port.
 40611  	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
 40612  	// The flag to indicate whether or not the Media Access
 40613  	// Control (MAC) address can be changed.
 40614  	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
 40615  	// The flag to indicate whether or not the virtual network adapter
 40616  	// should be allowed to send network traffic with a different MAC
 40617  	// address than that of the virtual network adapter.
 40618  	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
 40619  }
 40620  
 40621  func init() {
 40622  	t["HostNetworkSecurityPolicy"] = reflect.TypeOf((*HostNetworkSecurityPolicy)(nil)).Elem()
 40623  }
 40624  
 40625  // This data object type describes traffic shaping policy.
 40626  type HostNetworkTrafficShapingPolicy struct {
 40627  	DynamicData
 40628  
 40629  	// The flag to indicate whether or not traffic shaper is enabled on
 40630  	// the port.
 40631  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 40632  	// The average bandwidth in bits per second if shaping is enabled on
 40633  	// the port.
 40634  	AverageBandwidth int64 `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
 40635  	// The peak bandwidth during bursts in bits per second if traffic
 40636  	// shaping is enabled on the port.
 40637  	PeakBandwidth int64 `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
 40638  	// The maximum burst size allowed in bytes if shaping is enabled on
 40639  	// the port.
 40640  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 40641  }
 40642  
 40643  func init() {
 40644  	t["HostNetworkTrafficShapingPolicy"] = reflect.TypeOf((*HostNetworkTrafficShapingPolicy)(nil)).Elem()
 40645  }
 40646  
 40647  // Network information for a network that will be added to VirtualCenter when the
 40648  // host is added.
 40649  type HostNewNetworkConnectInfo struct {
 40650  	HostConnectInfoNetworkInfo
 40651  }
 40652  
 40653  func init() {
 40654  	t["HostNewNetworkConnectInfo"] = reflect.TypeOf((*HostNewNetworkConnectInfo)(nil)).Elem()
 40655  }
 40656  
 40657  // NfcConnectionInfo contains information about an NFC connection on the host.
 40658  type HostNfcConnectionInfo struct {
 40659  	HostDataTransportConnectionInfo
 40660  
 40661  	// NFC streaming memory used by the connection in bytes.
 40662  	StreamingMemoryConsumed int64 `xml:"streamingMemoryConsumed,omitempty" json:"streamingMemoryConsumed,omitempty"`
 40663  }
 40664  
 40665  func init() {
 40666  	t["HostNfcConnectionInfo"] = reflect.TypeOf((*HostNfcConnectionInfo)(nil)).Elem()
 40667  	minAPIVersionForType["HostNfcConnectionInfo"] = "7.0.3.0"
 40668  }
 40669  
 40670  // This data object type describes the network adapter failover
 40671  // detection algorithm for a network adapter team.
 40672  type HostNicFailureCriteria struct {
 40673  	DynamicData
 40674  
 40675  	// Deprecated as of VI API 5.1, this property is not supported.
 40676  	//
 40677  	// To use link speed as the criteria, _checkSpeed_ must be one of
 40678  	// the following values:
 40679  	//   - `*exact*`: Use exact speed to detect link failure.
 40680  	//     `*speed*` is the configured exact speed in megabits per second.
 40681  	//   - `*minimum*`: Use minimum speed to detect failure.
 40682  	//     `*speed*` is the configured minimum speed in megabits per second.
 40683  	//   - **empty string**: Do not use link speed to detect failure.
 40684  	//     `*speed*` is unused in this case.
 40685  	CheckSpeed string `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
 40686  	// Deprecated as of VI API 5.1, this property is not supported.
 40687  	//
 40688  	// Speed.
 40689  	//
 40690  	// See also `HostNicFailureCriteria.checkSpeed`.
 40691  	Speed int32 `xml:"speed,omitempty" json:"speed,omitempty"`
 40692  	// Deprecated as of VI API 5.1, this property is not supported.
 40693  	//
 40694  	// The flag to indicate whether or not to use the link duplex reported
 40695  	// by the driver as link selection criteria.
 40696  	//
 40697  	// If `*checkDuplex*` is true, then fullDuplex is the configured
 40698  	// duplex mode. The link is considered bad if the link duplex reported
 40699  	// by driver is not the same as fullDuplex.
 40700  	//
 40701  	// If `*checkDuplex*` is false, then fullDuplex is unused, and
 40702  	// link duplexity is not used as a detection method.
 40703  	CheckDuplex *bool `xml:"checkDuplex" json:"checkDuplex,omitempty"`
 40704  	// Deprecated as of VI API 5.1, this property is not supported.
 40705  	//
 40706  	// Full duplex.
 40707  	//
 40708  	// See also `HostNicFailureCriteria.checkDuplex`.
 40709  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 40710  	// Deprecated as of VI API 5.1, this property is not supported.
 40711  	//
 40712  	// The flag to indicate whether or not to use link error percentage
 40713  	// to detect failure.
 40714  	//
 40715  	// If `*checkErrorPercent*` is true, then percentage is the configured
 40716  	// error percentage that is tolerated. The link is considered bad
 40717  	// if error rate exceeds percentage.
 40718  	//
 40719  	// If `*checkErrorPercent*` is false, percentage is unused, and
 40720  	// error percentage is not used as a detection method.
 40721  	CheckErrorPercent *bool `xml:"checkErrorPercent" json:"checkErrorPercent,omitempty"`
 40722  	// Deprecated as of VI API 5.1, this property is not supported.
 40723  	//
 40724  	// Percentage.
 40725  	//
 40726  	// See also `HostNicFailureCriteria.checkErrorPercent`.
 40727  	Percentage int32 `xml:"percentage,omitempty" json:"percentage,omitempty"`
 40728  	// The flag to indicate whether or not to enable this property to
 40729  	// enable beacon probing as a method to validate
 40730  	// the link status of a physical network adapter.
 40731  	//
 40732  	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
 40733  	// configured to use the beacon. Attempting to set `*checkBeacon*`
 40734  	// on a PortGroup or VirtualSwitch that does not have beacon probing
 40735  	// configured for the applicable VirtualSwitch results in an error.
 40736  	//
 40737  	// See also `HostVirtualSwitchBondBridge.beacon`, `HostVirtualSwitchBeaconConfig`.
 40738  	CheckBeacon *bool `xml:"checkBeacon" json:"checkBeacon,omitempty"`
 40739  }
 40740  
 40741  func init() {
 40742  	t["HostNicFailureCriteria"] = reflect.TypeOf((*HostNicFailureCriteria)(nil)).Elem()
 40743  }
 40744  
 40745  // This data object type describes network adapter ordering policy for a
 40746  // network adapter team.
 40747  //
 40748  // A physical network adapter can be in the active
 40749  // list, the standby list, or neither. It cannot be in both lists.
 40750  // For a virtual switch, the NicOrderPolicy property is never null when
 40751  // retrieved from the server. When creating a new virtual switch or
 40752  // updating an existing virtual switch, the NicOrderPolicy can be null,
 40753  // in which case the default NicOrderPolicy from the server will be
 40754  // used.
 40755  // For a portgroup, a null NicOrderPolicy property means the portgroup
 40756  // inherits the policy from its parent. Otherwise, the NicOrderPolicy
 40757  // property defined in the portgroup takes precedence.
 40758  // In all cases where the NicOrderPolicy property is set, an empty
 40759  // activeNic array means there are no active Ethernet adapters in the team. An
 40760  // empty standbyNic array means there are no standby Ethernet adapters.
 40761  type HostNicOrderPolicy struct {
 40762  	DynamicData
 40763  
 40764  	// List of active network adapters used for load balancing.
 40765  	ActiveNic []string `xml:"activeNic,omitempty" json:"activeNic,omitempty"`
 40766  	// Standby network adapters used for failover.
 40767  	StandbyNic []string `xml:"standbyNic,omitempty" json:"standbyNic,omitempty"`
 40768  }
 40769  
 40770  func init() {
 40771  	t["HostNicOrderPolicy"] = reflect.TypeOf((*HostNicOrderPolicy)(nil)).Elem()
 40772  }
 40773  
 40774  // Policy for a network adapter team.
 40775  type HostNicTeamingPolicy struct {
 40776  	DynamicData
 40777  
 40778  	// Network adapter teaming policy includes failover and load balancing,
 40779  	// It can be one of the following:
 40780  	//   - `*loadbalance\_ip*`: route based on ip hash.
 40781  	//   - `*loadbalance\_srcmac*`: route based on source MAC hash.
 40782  	//   - `*loadbalance\_srcid*`: route based on the source of the port ID.
 40783  	//   - `*failover\_explicit*`: use explicit failover order.
 40784  	//
 40785  	// See also `HostNetCapabilities.nicTeamingPolicy`.
 40786  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 40787  	// Deprecated as of VI API 5.1, the system default (true) will be used.
 40788  	//
 40789  	// The flag to indicate whether or not the teaming policy is applied
 40790  	// to inbound frames as well.
 40791  	//
 40792  	// For example, if the policy is explicit failover, a broadcast request goes
 40793  	// through uplink1 and comes back through uplink2. Then if the
 40794  	// reverse policy is set, the frame is dropped when it is
 40795  	// received from
 40796  	// uplink2. This reverse policy is useful to prevent the virtual machine
 40797  	// from getting reflections.
 40798  	ReversePolicy *bool `xml:"reversePolicy" json:"reversePolicy,omitempty"`
 40799  	// Flag to specify whether or not to notify the physical switch
 40800  	// if a link fails.
 40801  	//
 40802  	// If this property is true, ESX Server will
 40803  	// respond to the failure by sending a RARP packet from a different
 40804  	// physical adapter, causing the switch to update its cache.
 40805  	NotifySwitches *bool `xml:"notifySwitches" json:"notifySwitches,omitempty"`
 40806  	// The flag to indicate whether or not to use a rolling policy when
 40807  	// restoring links.
 40808  	//
 40809  	// For example, assume the explicit link order is
 40810  	// (vmnic9, vmnic0), therefore vmnic9 goes down, vmnic0 comes
 40811  	// up. However, when vmnic9 comes backup, if rollingOrder is set
 40812  	// to be true, vmnic0 continues to be used, otherwise, vmnic9
 40813  	// is restored as specified in the explicitly order.
 40814  	RollingOrder *bool `xml:"rollingOrder" json:"rollingOrder,omitempty"`
 40815  	// Failover detection policy for this network adapter team.
 40816  	//
 40817  	// The bridge must be BondBridge for this property to be valid.
 40818  	FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 40819  	// Failover order policy for network adapters on this switch.
 40820  	//
 40821  	// The bridge must be BondBridge for this property to be valid.
 40822  	NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty" json:"nicOrder,omitempty"`
 40823  }
 40824  
 40825  func init() {
 40826  	t["HostNicTeamingPolicy"] = reflect.TypeOf((*HostNicTeamingPolicy)(nil)).Elem()
 40827  }
 40828  
 40829  // This event records the fact that a host does not have any available networks
 40830  // for HA communication
 40831  type HostNoAvailableNetworksEvent struct {
 40832  	HostDasEvent
 40833  
 40834  	// The comma-separated list of used networks
 40835  	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
 40836  }
 40837  
 40838  func init() {
 40839  	t["HostNoAvailableNetworksEvent"] = reflect.TypeOf((*HostNoAvailableNetworksEvent)(nil)).Elem()
 40840  }
 40841  
 40842  // This event records the fact that a host does not have any HA-enabled port
 40843  // groups
 40844  type HostNoHAEnabledPortGroupsEvent struct {
 40845  	HostDasEvent
 40846  }
 40847  
 40848  func init() {
 40849  	t["HostNoHAEnabledPortGroupsEvent"] = reflect.TypeOf((*HostNoHAEnabledPortGroupsEvent)(nil)).Elem()
 40850  }
 40851  
 40852  // This event records the fact that a host does not have a redundant
 40853  // management network.
 40854  //
 40855  // It is recommended that host management networks
 40856  // be configured with redundancy.
 40857  type HostNoRedundantManagementNetworkEvent struct {
 40858  	HostDasEvent
 40859  }
 40860  
 40861  func init() {
 40862  	t["HostNoRedundantManagementNetworkEvent"] = reflect.TypeOf((*HostNoRedundantManagementNetworkEvent)(nil)).Elem()
 40863  }
 40864  
 40865  // This event records that host went out of compliance.
 40866  type HostNonCompliantEvent struct {
 40867  	HostEvent
 40868  }
 40869  
 40870  func init() {
 40871  	t["HostNonCompliantEvent"] = reflect.TypeOf((*HostNonCompliantEvent)(nil)).Elem()
 40872  }
 40873  
 40874  // A HostNotConnected fault is thrown if a method needs
 40875  // to communicate with a host that has been disconnected in
 40876  // VirtualCenter.
 40877  type HostNotConnected struct {
 40878  	HostCommunication
 40879  }
 40880  
 40881  func init() {
 40882  	t["HostNotConnected"] = reflect.TypeOf((*HostNotConnected)(nil)).Elem()
 40883  }
 40884  
 40885  type HostNotConnectedFault HostNotConnected
 40886  
 40887  func init() {
 40888  	t["HostNotConnectedFault"] = reflect.TypeOf((*HostNotConnectedFault)(nil)).Elem()
 40889  }
 40890  
 40891  // This event records that the host is not a cluster member.
 40892  type HostNotInClusterEvent struct {
 40893  	HostDasEvent
 40894  }
 40895  
 40896  func init() {
 40897  	t["HostNotInClusterEvent"] = reflect.TypeOf((*HostNotInClusterEvent)(nil)).Elem()
 40898  }
 40899  
 40900  // A HostNotReachable fault is thrown if the server was unable
 40901  // to communicate with the host
 40902  type HostNotReachable struct {
 40903  	HostCommunication
 40904  }
 40905  
 40906  func init() {
 40907  	t["HostNotReachable"] = reflect.TypeOf((*HostNotReachable)(nil)).Elem()
 40908  }
 40909  
 40910  type HostNotReachableFault HostNotReachable
 40911  
 40912  func init() {
 40913  	t["HostNotReachableFault"] = reflect.TypeOf((*HostNotReachableFault)(nil)).Elem()
 40914  }
 40915  
 40916  // Configuration information for the NTP (Network Time Protocol) service.
 40917  type HostNtpConfig struct {
 40918  	DynamicData
 40919  
 40920  	// List of time servers, specified as either IP addresses or
 40921  	// fully qualified domain names (FQDNs).
 40922  	//
 40923  	// Each entry may optionally
 40924  	// specify one or more space separated 'server' ntp.conf command options.
 40925  	// Any comments appended to an entry after a '#' will not be retained.
 40926  	// To reset any previously configured servers, submit an NtpConfig
 40927  	// without the server or configFile property set to method
 40928  	// `HostDateTimeSystem.UpdateDateTimeConfig`
 40929  	Server []string `xml:"server,omitempty" json:"server,omitempty"`
 40930  	// Content of ntp.conf host configuration file, split by lines for ntpd version 4.2.8.
 40931  	//
 40932  	// Comment lines start with comment marker '#' as per ntp.conf are kept.
 40933  	// When submitting a new ntp commands to this property via
 40934  	// `HostDateTimeSystem.UpdateDateTimeConfig` method, any 'restrict'
 40935  	// or 'drift' commands will be ignored as the those are set to fixed defaults.
 40936  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
 40937  }
 40938  
 40939  func init() {
 40940  	t["HostNtpConfig"] = reflect.TypeOf((*HostNtpConfig)(nil)).Elem()
 40941  }
 40942  
 40943  // Information about NUMA (non-uniform memory access).
 40944  type HostNumaInfo struct {
 40945  	DynamicData
 40946  
 40947  	// Deprecated as of vSphere API 5.1, this property is always
 40948  	// set to "NUMA".
 40949  	//
 40950  	// The type of NUMA technology.
 40951  	Type string `xml:"type" json:"type"`
 40952  	// The number of NUMA nodes on the host.
 40953  	//
 40954  	// The value is 0 if the
 40955  	// host is not NUMA-capable.
 40956  	NumNodes int32 `xml:"numNodes" json:"numNodes"`
 40957  	// Information about each of the NUMA nodes on the host.
 40958  	//
 40959  	// The array is empty if the host is not NUMA-capable.
 40960  	NumaNode []HostNumaNode `xml:"numaNode,omitempty" json:"numaNode,omitempty"`
 40961  }
 40962  
 40963  func init() {
 40964  	t["HostNumaInfo"] = reflect.TypeOf((*HostNumaInfo)(nil)).Elem()
 40965  }
 40966  
 40967  // Information about a single NUMA node.
 40968  type HostNumaNode struct {
 40969  	DynamicData
 40970  
 40971  	// Zero-based NUMA ID for the node.
 40972  	TypeId byte `xml:"typeId" json:"typeId"`
 40973  	// Information about each of the CPUs associated with the node.
 40974  	CpuID []int16 `xml:"cpuID" json:"cpuID"`
 40975  	// The total amount of memory in this NUMA node, in bytes.
 40976  	MemorySize int64 `xml:"memorySize,omitempty" json:"memorySize,omitempty" vim:"8.0.0.0"`
 40977  	// Deprecated as of vSphere 8.0, this property is always set to
 40978  	// zero. The memory of a NUMA node is not necessarily a single
 40979  	// physically contiguous range.
 40980  	//
 40981  	// Beginning memory range for this NUMA node.
 40982  	MemoryRangeBegin int64 `xml:"memoryRangeBegin" json:"memoryRangeBegin"`
 40983  	// Deprecated as of vSphere 8.0, this property is replaced by
 40984  	// `HostNumaNode.memorySize` and is set to the same value. The memory of
 40985  	// a NUMA node is not necessarily a single physically contiguous
 40986  	// range.
 40987  	//
 40988  	// Length of the memory range for this node in bytes, that is, the amount
 40989  	// of memory on the node.
 40990  	MemoryRangeLength int64 `xml:"memoryRangeLength" json:"memoryRangeLength"`
 40991  	// Information about each of the pci devices associated with the node.
 40992  	//
 40993  	// The string is of SBDF format, "Segment:Bus:Device.Function".
 40994  	PciId []string `xml:"pciId,omitempty" json:"pciId,omitempty"`
 40995  }
 40996  
 40997  func init() {
 40998  	t["HostNumaNode"] = reflect.TypeOf((*HostNumaNode)(nil)).Elem()
 40999  }
 41000  
 41001  // Base class for numeric sensor information.
 41002  type HostNumericSensorInfo struct {
 41003  	DynamicData
 41004  
 41005  	// The name of the physical element associated with the sensor
 41006  	// It consists of a string of the form:
 41007  	// "description --- state/identifer".
 41008  	Name string `xml:"name" json:"name"`
 41009  	// The health state of the of the element indicated by the sensor.
 41010  	//
 41011  	// This property is populated only for sensors that support threshold
 41012  	// settings and for discrete sensors using control file.
 41013  	//
 41014  	// See also `HostNumericSensorHealthState_enum`.
 41015  	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
 41016  	// The current reading of the element indicated by the sensor.
 41017  	//
 41018  	// The actual
 41019  	// sensor reading is obtained by multiplying the current reading by the
 41020  	// scale factor.
 41021  	CurrentReading int64 `xml:"currentReading" json:"currentReading"`
 41022  	// The unit multiplier for the values returned by the sensor.
 41023  	//
 41024  	// All values
 41025  	// returned by the sensor are current reading \* 10 raised to the power of
 41026  	// the UnitModifier. If no unitModifier applies the value returned is 0.
 41027  	UnitModifier int32 `xml:"unitModifier" json:"unitModifier"`
 41028  	// The base units in which the sensor reading is specified.
 41029  	//
 41030  	// If rateUnits
 41031  	// is set the units of the current reading is further qualified by the
 41032  	// rateUnits. Otherwise the value returned is 'unspecified'.
 41033  	//
 41034  	// See also `HostNumericSensorInfo.rateUnits`.
 41035  	BaseUnits string `xml:"baseUnits" json:"baseUnits"`
 41036  	// The rate units in which the sensor reading is specified.
 41037  	//
 41038  	// For example if
 41039  	// the baseUnits is Volts and the rateUnits is per second the value
 41040  	// returned by the sensor are in Volts/second. If no rate applies
 41041  	// the value returned is 'none'.
 41042  	RateUnits string `xml:"rateUnits,omitempty" json:"rateUnits,omitempty"`
 41043  	// The type of the sensor.
 41044  	//
 41045  	// If the sensor type is set to Other the sensor
 41046  	// name can be used to further identify the type of sensor. The sensor
 41047  	// units can also be used to further implicitly determine the type of the
 41048  	// sensor.
 41049  	//
 41050  	// See also `HostNumericSensorType_enum`.
 41051  	SensorType string `xml:"sensorType" json:"sensorType"`
 41052  	// A unique sensor identifier.
 41053  	//
 41054  	// A four part value consisting of:
 41055  	// BMC device.Entity ID.Instance.SensorNumber
 41056  	// Can be used to match a NumericSensorInfo object to
 41057  	// esxcli hardware ipmi sdr list
 41058  	Id string `xml:"id,omitempty" json:"id,omitempty"`
 41059  	// The IPMI Sensor/probe that is reporting this event.
 41060  	//
 41061  	// Use this value
 41062  	// to locate System Event Log (SEL) entries for this Sensor. It is also
 41063  	// reported in 'id' in string format. This property is intended to
 41064  	// be used with vim.host.SystemEventInfo.sensorNumber
 41065  	SensorNumber int64 `xml:"sensorNumber,omitempty" json:"sensorNumber,omitempty" vim:"8.0.0.1"`
 41066  	// Reports the ISO 8601 Timestamp when this sensor was last updated by
 41067  	// management controller if the this sensor is capable of tracking
 41068  	// when it was last updated.
 41069  	TimeStamp string `xml:"timeStamp,omitempty" json:"timeStamp,omitempty"`
 41070  	// The FRU this sensor monitors if any.
 41071  	Fru *HostFru `xml:"fru,omitempty" json:"fru,omitempty" vim:"8.0.0.1"`
 41072  }
 41073  
 41074  func init() {
 41075  	t["HostNumericSensorInfo"] = reflect.TypeOf((*HostNumericSensorInfo)(nil)).Elem()
 41076  }
 41077  
 41078  // Specifies the parameters necessary to connect to a regular NVME over Fabrics
 41079  // controller.
 41080  //
 41081  // Here the transportParameters are used to establish a transport level
 41082  // connection to the specified controller. For reference, see:
 41083  //   - "NVM Express over Fabrics 1.0", Section 3.3,
 41084  //     "Connect command and response"
 41085  type HostNvmeConnectSpec struct {
 41086  	HostNvmeSpec
 41087  
 41088  	// NVME Qualified Name of the NVM subsystem to connect to.
 41089  	//
 41090  	// Corresponds to the SUBNQN field in the Connect command as
 41091  	// referenced above.
 41092  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41093  	// ID of the controller to connect to within the NVM subsystem.
 41094  	//
 41095  	// This field corresponds to CNTLID in the Connect command.
 41096  	// Its usage depends on whether the NVM Subsystem supports
 41097  	// a static or dynamic controller model.
 41098  	// In the static model, a number of controllers
 41099  	// may be exposed. A connection to a specific one may be requested
 41100  	// by specifying its controller ID (which is unique only within the
 41101  	// NVM subsystem). If a value of 0xFFFE (65534 in decimal) is provided,
 41102  	// any one of the controllers may be allocated for the connection. In
 41103  	// the static model a value of 0xFFFF (65535 in decimal) or above is
 41104  	// invalid.
 41105  	// In the dynamic model, the NVM Subsystem will dynamically allocate
 41106  	// a controller. Any value other than 0xFFFF (65535 in decimal) specified
 41107  	// will be consider invalid.
 41108  	// If the controllerId is unset, it defaults to 0xFFFF (the value used in
 41109  	// the dynamic model).
 41110  	// Whether the NVM subsystem supports the dynamic or static model can be
 41111  	// determined by examining the corresponding
 41112  	// `HostNvmeDiscoveryLogEntry` returned for it.
 41113  	ControllerId int32 `xml:"controllerId,omitempty" json:"controllerId,omitempty"`
 41114  	// Size of the admin queue which will be created once connection
 41115  	// is established.
 41116  	//
 41117  	// This field corresponds to SQSIZE in the Connect command (see above).
 41118  	// If unset, it defaults to a reasonable value which may vary between
 41119  	// releases (currently 16).
 41120  	AdminQueueSize int32 `xml:"adminQueueSize,omitempty" json:"adminQueueSize,omitempty"`
 41121  	// Timeout for the keep alive feature in seconds.
 41122  	//
 41123  	// This field corresponds to KATO in the Connect command (see above).
 41124  	// If unset, it defaults to a reasonable value which may vary between
 41125  	// releases (currently 30 seconds).
 41126  	// For further information, see:
 41127  	//   - "NVM Express 1.3", Section 5.21.1.15, "Keep Alive Timer"
 41128  	KeepAliveTimeout int32 `xml:"keepAliveTimeout,omitempty" json:"keepAliveTimeout,omitempty"`
 41129  }
 41130  
 41131  func init() {
 41132  	t["HostNvmeConnectSpec"] = reflect.TypeOf((*HostNvmeConnectSpec)(nil)).Elem()
 41133  }
 41134  
 41135  // This data object represents an NVME controller.
 41136  //
 41137  // Some terminology is borrowed from the NVM Express over Fabrics
 41138  // and the NVM Express 1.3 specifications, which are available
 41139  // at the following address:
 41140  // https://nvmexpress.org/resources/specifications/
 41141  type HostNvmeController struct {
 41142  	DynamicData
 41143  
 41144  	// The linkable identifier.
 41145  	Key string `xml:"key" json:"key"`
 41146  	// The controller number uniquely identifies the NVME Controller
 41147  	// within its HostSystem.
 41148  	//
 41149  	// This should not be confused with Controller ID (see
 41150  	// "NVM Express over Fabrics 1.0", Section 4.2, "Controller model"
 41151  	// for details), which only serves as an identifier
 41152  	// within a particular NVME subsystem.
 41153  	ControllerNumber int32 `xml:"controllerNumber" json:"controllerNumber"`
 41154  	// The NVME subsystem qualified name.
 41155  	//
 41156  	// Each NVME controller is associated with an NVME subsystem
 41157  	// which can present a collection of controllers to the adapter.
 41158  	// For more details, refer to:
 41159  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41160  	//     "NVM Subsystem".
 41161  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41162  	// Name of the controller.
 41163  	//
 41164  	// Each controller has a name. For NVME over Fabrics controllers,
 41165  	// it is generated when the controller is connected to an NVME
 41166  	// over Fabrics adapter.
 41167  	Name string `xml:"name" json:"name"`
 41168  	// Associated NVME over Fabrics host bus adapter.
 41169  	//
 41170  	// A controller is associated with exactly one host at a time through
 41171  	// an NVME over Fabrics host bus adapter.
 41172  	AssociatedAdapter string `xml:"associatedAdapter" json:"associatedAdapter"`
 41173  	// The transport type supported by the controller.
 41174  	//
 41175  	// The set of possible values is described in `HostNvmeTransportType_enum`.
 41176  	// For details, see:
 41177  	//   - "NVM Express over Fabrics 1.0", Section 1.5.1,
 41178  	//     "Fabrics and Transports".
 41179  	TransportType string `xml:"transportType" json:"transportType"`
 41180  	// Indicates whether fused operations are supported by the controller.
 41181  	//
 41182  	// An NVME controller may support fused operations. This is required
 41183  	// to support shared storage, otherwise data corruption may occur.
 41184  	// For more details, see:
 41185  	//   - "NVM Express 1.3", Section 6.2, "Fused Operations".
 41186  	FusedOperationSupported bool `xml:"fusedOperationSupported" json:"fusedOperationSupported"`
 41187  	// The number of I/O queues allocated for the controller.
 41188  	NumberOfQueues int32 `xml:"numberOfQueues" json:"numberOfQueues"`
 41189  	// The size of each of the I/O queues.
 41190  	//
 41191  	// This will not be greater than the Maximum Queue Entries Supported
 41192  	// (mqes) value for the controller. For more information, see:
 41193  	//   - "NVM Express 1.3", section 3.1, "Register definition".
 41194  	QueueSize int32 `xml:"queueSize" json:"queueSize"`
 41195  	// List of NVME namespaces attached to the controller.
 41196  	//
 41197  	// Namespaces provide access to a non-volatile storage medium
 41198  	// which is part of the NVM subsystem. For an overview, see:
 41199  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41200  	//     "NVM Subsystem".
 41201  	//   - "NVM Express 1.3", section 6.1, "Namespaces".
 41202  	AttachedNamespace []HostNvmeNamespace `xml:"attachedNamespace,omitempty" json:"attachedNamespace,omitempty"`
 41203  	// The vendor ID of the controller, if available.
 41204  	VendorId string `xml:"vendorId,omitempty" json:"vendorId,omitempty"`
 41205  	// The model name of the controller, if available.
 41206  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 41207  	// The serial number of the controller, if available.
 41208  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 41209  	// The firmware version of the controller, if available.
 41210  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty"`
 41211  }
 41212  
 41213  func init() {
 41214  	t["HostNvmeController"] = reflect.TypeOf((*HostNvmeController)(nil)).Elem()
 41215  }
 41216  
 41217  // Specifies the parameters necessary to disconnect an NVME controller
 41218  // from a given NVME over Fabrics adapter.
 41219  type HostNvmeDisconnectSpec struct {
 41220  	DynamicData
 41221  
 41222  	// The device name of the NVME over Fabrics host bus adapter.
 41223  	HbaName string `xml:"hbaName" json:"hbaName"`
 41224  	// NVME Qualified Name of the NVM subsystem to disconnect from.
 41225  	//
 41226  	// If controllerNumber is not specified, the subsystem qualified
 41227  	// name has to be specified and any controllers exposed by that
 41228  	// subsystem will be disconnected from the specified adapter. This
 41229  	// is particularly convenient for the dynamic controller model, where
 41230  	// the mapping subsystemNQN &lt;-&gt; ctrlNumber is expected to be 1:1.
 41231  	// If controllerNumber is also specified, this value is ignored.
 41232  	Subnqn string `xml:"subnqn,omitempty" json:"subnqn,omitempty"`
 41233  	// Controller number of the controller to be disconnected.
 41234  	//
 41235  	// If this value is set, the subsystemQualifiedName can be left unset
 41236  	// and the controller whose controllerNumber field matches this value
 41237  	// will be disconnected from the specified adapter.
 41238  	// If this value is not set, subsystemQualifiedName must be set.
 41239  	ControllerNumber int32 `xml:"controllerNumber,omitempty" json:"controllerNumber,omitempty"`
 41240  }
 41241  
 41242  func init() {
 41243  	t["HostNvmeDisconnectSpec"] = reflect.TypeOf((*HostNvmeDisconnectSpec)(nil)).Elem()
 41244  }
 41245  
 41246  // Specifies the parameters necessary to connect to a Discovery Service and
 41247  // retrieve a Discovery Log Page.
 41248  //
 41249  // Here the transportParameters are used to establish a transport level
 41250  // connection to a Discovery Controller. Further details can be found here:
 41251  //   - "NVM Express over Fabrics 1.0", Section 5, "Discovery service"
 41252  type HostNvmeDiscoverSpec struct {
 41253  	HostNvmeSpec
 41254  
 41255  	// Indicates whether the specified adapter should automatically be
 41256  	// connected to all the discovered controllers.
 41257  	//
 41258  	// It is possible to automatically connect to all discovered controllers.
 41259  	// This will only be attempted if this flag is set to true. Whether the
 41260  	// connection attempt for an entry succeeded can then be determined
 41261  	// via the corresponding `HostNvmeDiscoveryLogEntry.connected` field.
 41262  	AutoConnect *bool `xml:"autoConnect" json:"autoConnect,omitempty"`
 41263  	// If set to true, this flag indicates we are connecting to a root/central
 41264  	// discovery controller (RDC/CDC).
 41265  	//
 41266  	// This will create a persistent connection between the host and the
 41267  	// root discovery controller, thus enabling some advanced features.
 41268  	RootDiscoveryController *bool `xml:"rootDiscoveryController" json:"rootDiscoveryController,omitempty" vim:"7.0.3.0"`
 41269  }
 41270  
 41271  func init() {
 41272  	t["HostNvmeDiscoverSpec"] = reflect.TypeOf((*HostNvmeDiscoverSpec)(nil)).Elem()
 41273  }
 41274  
 41275  // This data object represents the Discovery Log returned by
 41276  // an NVME over Fabrics Discovery controller.
 41277  //
 41278  // The Discovery Log consists of pages which contain a number
 41279  // of entries. It provides an inventory of NVM subsystems with
 41280  // which the host may attempt to form an association through
 41281  // an NVME over Fabrics adapter. For details, see:
 41282  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 41283  //     Discovery Log Page
 41284  type HostNvmeDiscoveryLog struct {
 41285  	DynamicData
 41286  
 41287  	// The list of entries that make up the Discovery Log.
 41288  	Entry []HostNvmeDiscoveryLogEntry `xml:"entry,omitempty" json:"entry,omitempty"`
 41289  	// Indicates whether the NvmeDiscoveryLog object completely
 41290  	// represents the underlying Discovery Log returned by the
 41291  	// controller.
 41292  	//
 41293  	// It is possible some of the entries returned by the Discovery
 41294  	// Controller contain unsupported transport types or data that
 41295  	// cannot be interpreted - in that case, those entries will be
 41296  	// skipped and the log will be marked as incomplete.
 41297  	Complete bool `xml:"complete" json:"complete"`
 41298  }
 41299  
 41300  func init() {
 41301  	t["HostNvmeDiscoveryLog"] = reflect.TypeOf((*HostNvmeDiscoveryLog)(nil)).Elem()
 41302  }
 41303  
 41304  // This data object represents a single entry in the Discovery
 41305  // Log returned by a Discovery controller.
 41306  type HostNvmeDiscoveryLogEntry struct {
 41307  	DynamicData
 41308  
 41309  	// NVME Qualified name of the discovered subsystem.
 41310  	//
 41311  	// Corresponds to the SUBNQN field in the Discovery Log
 41312  	// Page Entry as specified by the NVME over Fabrics spec.
 41313  	Subnqn string `xml:"subnqn" json:"subnqn"`
 41314  	// NVM Subsystem type.
 41315  	//
 41316  	// Corresponds to the SUBTYPE field in the Discovery Log
 41317  	// Page Entry as specified by the NVME over Fabrics spec.
 41318  	// The set of supported values is described in
 41319  	// `HostNvmeDiscoveryLogSubsystemType_enum`.
 41320  	SubsystemType string `xml:"subsystemType" json:"subsystemType"`
 41321  	// NVM subsystem port ID.
 41322  	//
 41323  	// Corresponds to the PORTID field in the Discovery Log
 41324  	// Page Entry as specified by the NVME over Fabrics spec.
 41325  	// For an overview, see:
 41326  	//   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41327  	//     NVM Subsystem
 41328  	SubsystemPortId int32 `xml:"subsystemPortId" json:"subsystemPortId"`
 41329  	// NVME Controller ID within the NVM subsystem.
 41330  	//
 41331  	// Corresponds to the CNTLID field in the Discovery Log
 41332  	// Page Entry as specified by the NVME over Fabrics spec.
 41333  	// In the static controller model, this field may be set
 41334  	// to a specific controller ID which can be used to connect
 41335  	// to that particular controller. It could also be set
 41336  	// to 0xFFFE (65534 in decimal), in which case the controller
 41337  	// ID will be allocated when a connection is established.
 41338  	// In the dynamic controller model, this field shall be set
 41339  	// to 0xFFFF (65535 in decimal).
 41340  	// Note that this is different from the controllerNumber
 41341  	// `HostNvmeController.controllerNumber`,
 41342  	// which is the unique identifier of the NVMe controller
 41343  	// within the entire host and is allocated only after a
 41344  	// connection is established.
 41345  	ControllerId int32 `xml:"controllerId" json:"controllerId"`
 41346  	// The maximum size of the Admin Submission Queue.
 41347  	//
 41348  	// Corresponds to the ASQSZ field in the Discovery Log
 41349  	// Page Entry as specified by the NVME over Fabrics spec.
 41350  	// This applies to all controllers within the NVM Subsystem.
 41351  	// When establishing a connection, the value of
 41352  	// `HostNvmeConnectSpec.adminQueueSize` may not exceed
 41353  	// this value.
 41354  	AdminQueueMaxSize int32 `xml:"adminQueueMaxSize" json:"adminQueueMaxSize"`
 41355  	// Transport specific parameters necessary to establish
 41356  	// a connection.
 41357  	//
 41358  	// Different types of fabrics transports and different
 41359  	// means to specify a connection target may be supported.
 41360  	// The transport specific parameters object is constructed
 41361  	// based on the data in the Transport Type (TRTYPE),
 41362  	// Address Family (ADRFAM), Transport Service Identifier
 41363  	// (TRSVCID), Transport Address (TRADDR) and Transport
 41364  	// Specific Address Subtype (TSAS) fields in the Discovery
 41365  	// Log Page Entry as specified by the NVME over Fabrics spec.
 41366  	// When connecting to the controller represented by this
 41367  	// Discovery Log Page Entry, the transport specific
 41368  	// parameters can be passed directly as
 41369  	// `HostNvmeSpec.transportParameters`.
 41370  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 41371  	// The requirements for NVME Transport.
 41372  	//
 41373  	// Corresponds to the TREQ field in the Discovery Log
 41374  	// Page Entry as specified by the NVME over Fabrics spec
 41375  	// The set of possible values is described in
 41376  	// `HostNvmeDiscoveryLogTransportRequirements_enum`
 41377  	TransportRequirements string `xml:"transportRequirements" json:"transportRequirements"`
 41378  	// Indicates whether the controller represented
 41379  	// by this Discovery Log Page Entry is already connected
 41380  	// to the adapter through which the discovery is initiated.
 41381  	Connected bool `xml:"connected" json:"connected"`
 41382  }
 41383  
 41384  func init() {
 41385  	t["HostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*HostNvmeDiscoveryLogEntry)(nil)).Elem()
 41386  }
 41387  
 41388  // This data object represents an NVM Express Namespace.
 41389  //
 41390  // In the NVME model, the underlying non-volatile storage medium
 41391  // is exposed via namespaces. For further information, see:
 41392  //   - "NVM Express over Fabrics 1.0", Section 1.5.2,
 41393  //     "NVM Subsystem".
 41394  //   - "NVM Express 1.3", section 6.1, "Namespaces".
 41395  type HostNvmeNamespace struct {
 41396  	DynamicData
 41397  
 41398  	// The linkable identifier.
 41399  	//
 41400  	// This is a unique identifier of the NVME namespace within
 41401  	// the host system.
 41402  	Key string `xml:"key" json:"key"`
 41403  	// The name of the namespace.
 41404  	//
 41405  	// The name identifies the underlying storage exposed
 41406  	// by the NvmeNamespace. In multipath scenarios, two
 41407  	// namespaces can have the same name if they expose the
 41408  	// same underlying storage through different NVME controllers.
 41409  	Name string `xml:"name" json:"name"`
 41410  	// The namespace ID is an identifier used by an NVME controller
 41411  	// to provide access to a namespace.
 41412  	//
 41413  	// The namespace ID is only unique among the namespaces
 41414  	// attached to the same controller. For details, see:
 41415  	//   - "NVM Express 1.3", section 6.1, "Namespaces".
 41416  	Id int32 `xml:"id" json:"id"`
 41417  	// Block size of the namespace in bytes.
 41418  	//
 41419  	// Namespaces are comprised of a number of logical blocks with
 41420  	// a fixed size - the smallest units of data that may be
 41421  	// read or written by the NVME controller.
 41422  	BlockSize int32 `xml:"blockSize" json:"blockSize"`
 41423  	// The maximum number of logical blocks that may be allocated
 41424  	// in the namespace at any point in time.
 41425  	//
 41426  	// Corresponds to the NCAP field in the Identify Namespace data
 41427  	// structure:
 41428  	//   - "NVM Express 1.3", Section 5.15, Figure 114,
 41429  	//     "Identify Namespace Data Structure"
 41430  	CapacityInBlocks int64 `xml:"capacityInBlocks" json:"capacityInBlocks"`
 41431  }
 41432  
 41433  func init() {
 41434  	t["HostNvmeNamespace"] = reflect.TypeOf((*HostNvmeNamespace)(nil)).Elem()
 41435  }
 41436  
 41437  // This data object represents the raw transport specific parameters
 41438  // returned in a Discovery Log Page Entry, when they cannot be
 41439  // interpreted as one of the known common types of parameters.
 41440  //
 41441  // For details, see:
 41442  //   - "NVM Express over Fabrics 1.0", Section 5.3,
 41443  //     Discovery Log Page
 41444  type HostNvmeOpaqueTransportParameters struct {
 41445  	HostNvmeTransportParameters
 41446  
 41447  	// The transport type.
 41448  	//
 41449  	// Corresponds to the TRTYPE field in the Discovery Log Page Entry
 41450  	// as specified by the NVME over Fabrics spec.
 41451  	// The set of possible values is desribed in `HostNvmeTransportType_enum`.
 41452  	Trtype string `xml:"trtype" json:"trtype"`
 41453  	// The transport address.
 41454  	//
 41455  	// Corresponds to the TRADDR field in the Discovery Log Page Entry
 41456  	// as specified by the NVME over Fabrics spec.
 41457  	Traddr string `xml:"traddr" json:"traddr"`
 41458  	// Indicates the address family of the address specified above.
 41459  	//
 41460  	// Corresponds to the ADRFAM field in the Discovery Log Page Entry
 41461  	// as specified by the NVME over Fabrics spec.
 41462  	// The set of supported values is described in
 41463  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 41464  	Adrfam string `xml:"adrfam" json:"adrfam"`
 41465  	// Transport service identifier.
 41466  	//
 41467  	// Corresponds to the TRSVCID field in the Discovery Log Page Entry
 41468  	// as specified by the NVME over Fabrics spec.
 41469  	// Its interpretation varies depending on the transport type.
 41470  	Trsvcid string `xml:"trsvcid" json:"trsvcid"`
 41471  	// Transport specific address subtype.
 41472  	//
 41473  	// Corresponds to the TSAS field in the Discovery Log Page Entry
 41474  	// as specified by the NVME over Fabrics spec.
 41475  	// Its interpretation varies depending on the transport type.
 41476  	Tsas []byte `xml:"tsas" json:"tsas"`
 41477  }
 41478  
 41479  func init() {
 41480  	t["HostNvmeOpaqueTransportParameters"] = reflect.TypeOf((*HostNvmeOpaqueTransportParameters)(nil)).Elem()
 41481  }
 41482  
 41483  // This data object represents the transport specific parameters
 41484  // necessary to establish an NVME over Fibre Channel connection.
 41485  type HostNvmeOverFibreChannelParameters struct {
 41486  	HostNvmeTransportParameters
 41487  
 41488  	// The world wide node name for the connection target.
 41489  	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 41490  	// The world wide port name for the connection target.
 41491  	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
 41492  }
 41493  
 41494  func init() {
 41495  	t["HostNvmeOverFibreChannelParameters"] = reflect.TypeOf((*HostNvmeOverFibreChannelParameters)(nil)).Elem()
 41496  }
 41497  
 41498  // This data object represents the transport specific parameters
 41499  // necessary to establish an NVME over RDMA connection.
 41500  type HostNvmeOverRdmaParameters struct {
 41501  	HostNvmeTransportParameters
 41502  
 41503  	// The address of the connection target.
 41504  	Address string `xml:"address" json:"address"`
 41505  	// Indicates the type of the address specified above.
 41506  	//
 41507  	// If unset, it is assumed to be an IPv4 address. The set of possible
 41508  	// values is described in
 41509  	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
 41510  	// Note that not all of the address families may be supported for
 41511  	// establishing a connection over RDMA.
 41512  	AddressFamily string `xml:"addressFamily,omitempty" json:"addressFamily,omitempty"`
 41513  	// The port number of the RDMA target port.
 41514  	//
 41515  	// When IPv4/IPv6 is used as address family above, the port number
 41516  	// needs to be specified. If this field is unset, a default
 41517  	// value of 4420 is assumed as per the IANA assignment:
 41518  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 41519  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 41520  }
 41521  
 41522  func init() {
 41523  	t["HostNvmeOverRdmaParameters"] = reflect.TypeOf((*HostNvmeOverRdmaParameters)(nil)).Elem()
 41524  }
 41525  
 41526  // This data object represents the transport specific parameters
 41527  // necessary to establish an NVME over TCP connection.
 41528  type HostNvmeOverTcpParameters struct {
 41529  	HostNvmeTransportParameters
 41530  
 41531  	// The address of the connection target.
 41532  	//
 41533  	// It is expected to be an IPv4 or IPv6 address.
 41534  	Address string `xml:"address" json:"address"`
 41535  	// The port number of the TCP target port.
 41536  	//
 41537  	// If this field is unset, the default value of 8009
 41538  	// is assumed as per the IANA assignment:
 41539  	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
 41540  	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 41541  	// Digest verification parameter.
 41542  	//
 41543  	// When used in a discovery or connect spec, this parameter specifies
 41544  	// the requested digest verification setting. The list of supported values is
 41545  	// described in `HostDigestVerificationSetting_enum`. If unset,
 41546  	// a default value of disabled is assumed.
 41547  	// For details, see:
 41548  	//   - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
 41549  	//     Section 7.4.10.2, "Initialize Connection Request PDU (ICReq)" - DGST field.
 41550  	//
 41551  	// When part of `HostNvmeDiscoveryLogEntry`, this value is unset.
 41552  	DigestVerification string `xml:"digestVerification,omitempty" json:"digestVerification,omitempty"`
 41553  }
 41554  
 41555  func init() {
 41556  	t["HostNvmeOverTcpParameters"] = reflect.TypeOf((*HostNvmeOverTcpParameters)(nil)).Elem()
 41557  	minAPIVersionForType["HostNvmeOverTcpParameters"] = "7.0.3.0"
 41558  }
 41559  
 41560  // Specifies the main parameters needed when connecting to
 41561  // an NVMe over Fabrics controller or Discovery Service.
 41562  type HostNvmeSpec struct {
 41563  	DynamicData
 41564  
 41565  	// The device name of the NVME over Fabrics host bus adapter.
 41566  	HbaName string `xml:"hbaName" json:"hbaName"`
 41567  	// Transport specific information necessary to connect to the controller.
 41568  	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
 41569  }
 41570  
 41571  func init() {
 41572  	t["HostNvmeSpec"] = reflect.TypeOf((*HostNvmeSpec)(nil)).Elem()
 41573  }
 41574  
 41575  // This data object type describes the NVME topology information.
 41576  //
 41577  // The data objects in this data object type model the NVME storage objects
 41578  // from a topological point of view. The NVME topological view organizes
 41579  // objects by NVME interface, which contains connected controllers,
 41580  // which in turn contain attached namespaces.
 41581  //
 41582  // Only storage adapters which support the NVME protocol will be represented
 41583  // as NVME interfaces in this data object. In particular, an NVME interface
 41584  // will be created for each NVME over Fabrics adapter in the system.
 41585  //
 41586  // Note that it is possible for an adapter to be represented by both
 41587  // an NVME interface in the NVME topology and a SCSI interface in the SCSI
 41588  // topology. This can happen when an adapter supporting the NVME protocol is
 41589  // also presented as a SCSI adapter and SCSI to NVME translation is performed.
 41590  type HostNvmeTopology struct {
 41591  	DynamicData
 41592  
 41593  	// The list of NVME interfaces (could be empty).
 41594  	Adapter []HostNvmeTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 41595  }
 41596  
 41597  func init() {
 41598  	t["HostNvmeTopology"] = reflect.TypeOf((*HostNvmeTopology)(nil)).Elem()
 41599  }
 41600  
 41601  // This data object describes the NVME interface that is
 41602  // associated with a list of connected NVME controllers.
 41603  type HostNvmeTopologyInterface struct {
 41604  	DynamicData
 41605  
 41606  	// The identifier for the NVME interface.
 41607  	Key string `xml:"key" json:"key"`
 41608  	// The link to data for the NVME interface.
 41609  	Adapter string `xml:"adapter" json:"adapter"`
 41610  	// The list of connected NVME controllers.
 41611  	//
 41612  	// This list can be empty if am NVME interface is not connected
 41613  	// to any controllers. Each NvmeController object contains
 41614  	// a list of its attached NVME namespaces in
 41615  	// `HostNvmeController.attachedNamespace`.
 41616  	ConnectedController []HostNvmeController `xml:"connectedController,omitempty" json:"connectedController,omitempty"`
 41617  }
 41618  
 41619  func init() {
 41620  	t["HostNvmeTopologyInterface"] = reflect.TypeOf((*HostNvmeTopologyInterface)(nil)).Elem()
 41621  }
 41622  
 41623  // This data object represents the transport specific parameters
 41624  // necessary to establish an NVM Express over Fabrics connection.
 41625  //
 41626  // For some further information, see:
 41627  //   - "NVM Express over Fabrics 1.0", Section 1.5.7, "Connection"
 41628  type HostNvmeTransportParameters struct {
 41629  	DynamicData
 41630  }
 41631  
 41632  func init() {
 41633  	t["HostNvmeTransportParameters"] = reflect.TypeOf((*HostNvmeTransportParameters)(nil)).Elem()
 41634  }
 41635  
 41636  // Information on opaque networks that are available on the host.
 41637  type HostOpaqueNetworkInfo struct {
 41638  	DynamicData
 41639  
 41640  	// The ID of the opaque network.
 41641  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 41642  	// The name of the opaque network.
 41643  	OpaqueNetworkName string `xml:"opaqueNetworkName" json:"opaqueNetworkName"`
 41644  	// The type of the opaque network.
 41645  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 41646  	// IDs of networking zones that back the opaque network.
 41647  	PnicZone []string `xml:"pnicZone,omitempty" json:"pnicZone,omitempty"`
 41648  	// The capability of the opaque network.
 41649  	//
 41650  	// Refer `OpaqueNetworkCapability`
 41651  	Capability *OpaqueNetworkCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 41652  	// Extra NSX specific properties for opaque networks.
 41653  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 41654  }
 41655  
 41656  func init() {
 41657  	t["HostOpaqueNetworkInfo"] = reflect.TypeOf((*HostOpaqueNetworkInfo)(nil)).Elem()
 41658  }
 41659  
 41660  // The OpaqueSwitch contains basic information about virtual switches that are
 41661  // managed by a management plane outside of vSphere.
 41662  type HostOpaqueSwitch struct {
 41663  	DynamicData
 41664  
 41665  	// The opaque switch ID.
 41666  	Key string `xml:"key" json:"key"`
 41667  	// The opaque switch name.
 41668  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 41669  	// The set of physical network adapters associated with this switch.
 41670  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 41671  	// The IDs of networking zones associated with this switch.
 41672  	PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty" json:"pnicZone,omitempty"`
 41673  	// Opaque switch status.
 41674  	//
 41675  	// See
 41676  	// `OpaqueSwitchState` for valid values.
 41677  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 41678  	// List of VTEPs associated with this switch.
 41679  	Vtep []HostVirtualNic `xml:"vtep,omitempty" json:"vtep,omitempty"`
 41680  	// Extra NSX specific properties for opaque switch.
 41681  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 41682  	// Array of host specific feature capabilities that the switch has.
 41683  	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
 41684  }
 41685  
 41686  func init() {
 41687  	t["HostOpaqueSwitch"] = reflect.TypeOf((*HostOpaqueSwitch)(nil)).Elem()
 41688  }
 41689  
 41690  type HostOpaqueSwitchPhysicalNicZone struct {
 41691  	DynamicData
 41692  
 41693  	// The zone ID
 41694  	Key string `xml:"key" json:"key"`
 41695  	// Whenever an OpaqueSwitch is associated with a PhysicalNicZone, then by default,
 41696  	// the zone will consist of all physical nics that are linked to the switch.
 41697  	//
 41698  	// However, if this property is set, then the zone will be considered to be
 41699  	// consisting of only those physical nics that are listed here.
 41700  	PnicDevice []string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 41701  }
 41702  
 41703  func init() {
 41704  	t["HostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*HostOpaqueSwitchPhysicalNicZone)(nil)).Elem()
 41705  }
 41706  
 41707  // This event records when a host's capacity cannot satisfy resource
 41708  // configuration constraints.
 41709  type HostOvercommittedEvent struct {
 41710  	ClusterOvercommittedEvent
 41711  }
 41712  
 41713  func init() {
 41714  	t["HostOvercommittedEvent"] = reflect.TypeOf((*HostOvercommittedEvent)(nil)).Elem()
 41715  }
 41716  
 41717  // The VMFS file system.
 41718  type HostPMemVolume struct {
 41719  	HostFileSystemVolume
 41720  
 41721  	// The universally unique identifier assigned to PMem volume.
 41722  	Uuid string `xml:"uuid" json:"uuid"`
 41723  	// Version of the PMem FS
 41724  	Version string `xml:"version" json:"version"`
 41725  }
 41726  
 41727  func init() {
 41728  	t["HostPMemVolume"] = reflect.TypeOf((*HostPMemVolume)(nil)).Elem()
 41729  }
 41730  
 41731  // The ParallelScsiHba data object type describes a
 41732  // parallel SCSI host bus adapter.
 41733  type HostParallelScsiHba struct {
 41734  	HostHostBusAdapter
 41735  }
 41736  
 41737  func init() {
 41738  	t["HostParallelScsiHba"] = reflect.TypeOf((*HostParallelScsiHba)(nil)).Elem()
 41739  }
 41740  
 41741  // Parallel SCSI transport information about a SCSI target.
 41742  type HostParallelScsiTargetTransport struct {
 41743  	HostTargetTransport
 41744  }
 41745  
 41746  func init() {
 41747  	t["HostParallelScsiTargetTransport"] = reflect.TypeOf((*HostParallelScsiTargetTransport)(nil)).Elem()
 41748  }
 41749  
 41750  // This data object contains information about the runtime status of
 41751  // a partial maintenance mode.
 41752  type HostPartialMaintenanceModeRuntimeInfo struct {
 41753  	DynamicData
 41754  
 41755  	// The unique identifier of the partial maintenance mode.
 41756  	//
 41757  	// The values of the identifiers for the most common kinds of partial
 41758  	// maintenance modes are enumerated in `HostPartialMaintenanceModeId_enum`.
 41759  	Key string `xml:"key" json:"key"`
 41760  	// The current runtime status for the particular partial maintenance mode.
 41761  	//
 41762  	// The list of supported values is specified in
 41763  	// `HostPartialMaintenanceModeStatus_enum`.
 41764  	HostStatus string `xml:"hostStatus" json:"hostStatus"`
 41765  }
 41766  
 41767  func init() {
 41768  	t["HostPartialMaintenanceModeRuntimeInfo"] = reflect.TypeOf((*HostPartialMaintenanceModeRuntimeInfo)(nil)).Elem()
 41769  	minAPIVersionForType["HostPartialMaintenanceModeRuntimeInfo"] = "8.0.3.0"
 41770  }
 41771  
 41772  type HostPatchManagerLocator struct {
 41773  	DynamicData
 41774  
 41775  	// The URL that will be used to access the patch repository.
 41776  	Url string `xml:"url" json:"url"`
 41777  	// The proxy setting required to access the URL from the host.
 41778  	//
 41779  	// If unset, a direct URL connection will be attempted.
 41780  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 41781  }
 41782  
 41783  func init() {
 41784  	t["HostPatchManagerLocator"] = reflect.TypeOf((*HostPatchManagerLocator)(nil)).Elem()
 41785  }
 41786  
 41787  // Optional parameters for hostd to pass to exupdate.
 41788  type HostPatchManagerPatchManagerOperationSpec struct {
 41789  	DynamicData
 41790  
 41791  	// The name of the possible proxy for esxupdate to use to connect to a server.
 41792  	//
 41793  	// The patch and metadata may be cached within the proxy server.
 41794  	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
 41795  	// The port of the possible proxy for esxupdate to use to connect to a server.
 41796  	//
 41797  	// The patch and metadata may be cached within the proxy server.
 41798  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 41799  	// The user name used for the proxy server.
 41800  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 41801  	// The password used for the proxy server.
 41802  	//
 41803  	// This is passed with ssl through a
 41804  	// trusted channel.
 41805  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 41806  	// Possible command line options when calling esxupdate.
 41807  	CmdOption string `xml:"cmdOption,omitempty" json:"cmdOption,omitempty"`
 41808  }
 41809  
 41810  func init() {
 41811  	t["HostPatchManagerPatchManagerOperationSpec"] = reflect.TypeOf((*HostPatchManagerPatchManagerOperationSpec)(nil)).Elem()
 41812  }
 41813  
 41814  // The result of the operation.
 41815  //
 41816  // Some of the fields are only valid for
 41817  // specific operations.
 41818  type HostPatchManagerResult struct {
 41819  	DynamicData
 41820  
 41821  	// The version of the scan result schema.
 41822  	Version string `xml:"version" json:"version"`
 41823  	// The scan results for each patch.
 41824  	Status []HostPatchManagerStatus `xml:"status,omitempty" json:"status,omitempty"`
 41825  	// The scan results in XML format.
 41826  	XmlResult string `xml:"xmlResult,omitempty" json:"xmlResult,omitempty"`
 41827  }
 41828  
 41829  func init() {
 41830  	t["HostPatchManagerResult"] = reflect.TypeOf((*HostPatchManagerResult)(nil)).Elem()
 41831  }
 41832  
 41833  type HostPatchManagerStatus struct {
 41834  	DynamicData
 41835  
 41836  	// Unique identifier for this update.
 41837  	Id string `xml:"id" json:"id"`
 41838  	// Whether or not this update is applicable to this host.
 41839  	//
 41840  	// An update
 41841  	// may not be applicable to the ESX host for many reasons - for
 41842  	// example, it is obsolete, it conflicts with other installed
 41843  	// patches or libraries, and so on. The `HostPatchManagerStatus.reason` shows some of the reasons
 41844  	// why the update is not applicable.
 41845  	// An update could be inapplicable with no reason listed. This is
 41846  	// because the prerequisite install state is not correct. For example,
 41847  	// update A is one of the prerequisites of update B. B not only
 41848  	// requires A to be installed, but also requires the host is
 41849  	// rebooted after A is installed. When A is installed and the host
 41850  	// has not been restarted after the installation, B will not be
 41851  	// applicable. In such a case, the scan on both updates A and B
 41852  	// would yield a whole picture of the update applicable status.
 41853  	Applicable bool `xml:"applicable" json:"applicable"`
 41854  	// Possible reasons why an update is not applicable to the ESX host.
 41855  	//
 41856  	// See also `HostPatchManagerReason_enum`.
 41857  	Reason []string `xml:"reason,omitempty" json:"reason,omitempty"`
 41858  	// The integrity status of the update's metadata.
 41859  	//
 41860  	// The value would
 41861  	// be unset if the integrity status is unknown to the server.
 41862  	//
 41863  	// See also `HostPatchManagerIntegrityStatus_enum`.
 41864  	Integrity string `xml:"integrity,omitempty" json:"integrity,omitempty"`
 41865  	// Whether the update is installed on the server.
 41866  	Installed bool `xml:"installed" json:"installed"`
 41867  	// The installation state of the update.
 41868  	//
 41869  	// Unset if the update is not
 41870  	// installed on the server.
 41871  	//
 41872  	// See also `HostPatchManagerInstallState_enum`.
 41873  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 41874  	// Prerequisite update.
 41875  	PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 41876  	// Whether or not this update requires a host restart to take effect.
 41877  	RestartRequired bool `xml:"restartRequired" json:"restartRequired"`
 41878  	// Whether or not this update requires caller to reconnect to the
 41879  	// host.
 41880  	//
 41881  	// This is usually because the update is on the agent that
 41882  	// running on the host, the agent would thus be restarted when the
 41883  	// update is applied. Caller can reconnect (and possibly relogin) to
 41884  	// the host after the agent has been restarted.
 41885  	ReconnectRequired bool `xml:"reconnectRequired" json:"reconnectRequired"`
 41886  	// Whether or not this update requires the host in maintenance mode.
 41887  	VmOffRequired bool `xml:"vmOffRequired" json:"vmOffRequired"`
 41888  	// Patches that are superseded by this update.
 41889  	SupersededPatchIds []string `xml:"supersededPatchIds,omitempty" json:"supersededPatchIds,omitempty"`
 41890  }
 41891  
 41892  func init() {
 41893  	t["HostPatchManagerStatus"] = reflect.TypeOf((*HostPatchManagerStatus)(nil)).Elem()
 41894  }
 41895  
 41896  // Updates that are required to be installed before this update can
 41897  // be installed on the server.
 41898  //
 41899  // In addition to being installed on the server, an update can have
 41900  // additional requirement on the server or services running on the
 41901  // server pertaining to the prerequisite update.
 41902  type HostPatchManagerStatusPrerequisitePatch struct {
 41903  	DynamicData
 41904  
 41905  	// Unique identifier of the prerequisite update.
 41906  	Id string `xml:"id" json:"id"`
 41907  	// The requirement on the server or services running on the
 41908  	// server pertaining to the prerequisite update.
 41909  	//
 41910  	// For example,
 41911  	// this update could require the server to be rebooted after the
 41912  	// prerequisite update is installed. Unset if there is no
 41913  	// additional requirement on the prerequisite update.
 41914  	//
 41915  	// See also `HostPatchManagerInstallState_enum`.
 41916  	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
 41917  }
 41918  
 41919  func init() {
 41920  	t["HostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*HostPatchManagerStatusPrerequisitePatch)(nil)).Elem()
 41921  }
 41922  
 41923  // Description of options associated with a native multipathing
 41924  // path selection policy plugin.
 41925  type HostPathSelectionPolicyOption struct {
 41926  	DynamicData
 41927  
 41928  	// Description of the paths selection policy.
 41929  	//
 41930  	// Use the key as the
 41931  	// identifier.
 41932  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 41933  }
 41934  
 41935  func init() {
 41936  	t["HostPathSelectionPolicyOption"] = reflect.TypeOf((*HostPathSelectionPolicyOption)(nil)).Elem()
 41937  }
 41938  
 41939  // This data object type describes information about
 41940  // a single Peripheral Component Interconnect (PCI) device.
 41941  type HostPciDevice struct {
 41942  	DynamicData
 41943  
 41944  	// The name ID of this PCI, composed of "bus:slot.function".
 41945  	Id string `xml:"id" json:"id"`
 41946  	// The class of this PCI.
 41947  	ClassId int16 `xml:"classId" json:"classId"`
 41948  	// The bus ID of this PCI.
 41949  	Bus byte `xml:"bus" json:"bus"`
 41950  	// The slot ID of this PCI.
 41951  	Slot byte `xml:"slot" json:"slot"`
 41952  	// The function ID of this PCI.
 41953  	Function byte `xml:"function" json:"function"`
 41954  	// The vendor ID of this PCI.
 41955  	//
 41956  	// The vendor ID might be a negative value. A vSphere Server uses an unsigned
 41957  	// short integer to represent a PCI vendor ID. The WSDL representation of the ID
 41958  	// is a signed short integer. If the vendor ID is greater than 32767, the Server
 41959  	// will convert the ID to its two's complement for the WSDL representation.
 41960  	// When you specify a PCI device vendor ID for a virtual machine
 41961  	// (`VirtualPCIPassthroughDeviceBackingInfo`.vendorId),
 41962  	// you must use the retrieved `HostPciDevice`.deviceId value.
 41963  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 41964  	// The subvendor ID of this PCI.
 41965  	//
 41966  	// The subvendor ID might be a negative value. A vSphere Server uses an unsigned
 41967  	// short integer to represent a PCI subvendor ID. The WSDL representation of the ID
 41968  	// is a signed short integer. If the subvendor ID is greater than 32767, the Server
 41969  	// will convert the ID to its two's complement for the WSDL representation.
 41970  	SubVendorId int16 `xml:"subVendorId" json:"subVendorId"`
 41971  	// The vendor name of this PCI.
 41972  	VendorName string `xml:"vendorName" json:"vendorName"`
 41973  	// The device ID of this PCI.
 41974  	//
 41975  	// The device ID might be a negative value. A vSphere Server uses an unsigned
 41976  	// short integer to represent a PCI device ID. The WSDL representation of the ID
 41977  	// is a signed short integer. If the PCI ID is greater than 32767, the Server
 41978  	// will convert the ID to its two's complement for the WSDL representation.
 41979  	// When you specify a PCI device ID for a virtual machine
 41980  	// (`VirtualPCIPassthroughDeviceBackingInfo`.deviceId),
 41981  	// you must use the `HostPciDevice`.deviceId value as retrieved
 41982  	// and convert it to a string.
 41983  	DeviceId int16 `xml:"deviceId" json:"deviceId"`
 41984  	// The subdevice ID of this PCI.
 41985  	//
 41986  	// The subdevice ID might be a negative value. A vSphere Server uses an unsigned
 41987  	// short integer to represent a PCI subdevice ID. The WSDL representation of the ID
 41988  	// is a signed short integer. If the subdevice ID is greater than 32767, the Server
 41989  	// will convert the ID to its two's complement for the WSDL representation.
 41990  	SubDeviceId int16 `xml:"subDeviceId" json:"subDeviceId"`
 41991  	// The parent bridge of this PCI.
 41992  	ParentBridge string `xml:"parentBridge,omitempty" json:"parentBridge,omitempty"`
 41993  	// The device name of this PCI.
 41994  	DeviceName string `xml:"deviceName" json:"deviceName"`
 41995  	// The name for the PCI device class representing this PCI.
 41996  	//
 41997  	// For example: "Host bridge", "iSCSI device", "Fibre channel HBA".
 41998  	DeviceClassName string `xml:"deviceClassName,omitempty" json:"deviceClassName,omitempty" vim:"8.0.3.0"`
 41999  }
 42000  
 42001  func init() {
 42002  	t["HostPciDevice"] = reflect.TypeOf((*HostPciDevice)(nil)).Elem()
 42003  }
 42004  
 42005  // This data object provides information about the state of PciPassthru
 42006  // for all pci devices.
 42007  type HostPciPassthruConfig struct {
 42008  	DynamicData
 42009  
 42010  	// The name ID of this PCI, composed of "bus:slot.function".
 42011  	Id string `xml:"id" json:"id"`
 42012  	// Whether passThru has been configured for this device
 42013  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 42014  	// Whether the passThru config should take effect without rebooting ESX.
 42015  	//
 42016  	// When unset, the behavior will be determined automatically
 42017  	// based on `HostCapability.deviceRebindWithoutRebootSupported`.
 42018  	// If the configuration can be applied immediately, it
 42019  	// will be, otherwise the changes will take effect after reboot.
 42020  	ApplyNow *bool `xml:"applyNow" json:"applyNow,omitempty"`
 42021  	// The hardware label of the this PCI device.
 42022  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 42023  }
 42024  
 42025  func init() {
 42026  	t["HostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem()
 42027  }
 42028  
 42029  // This data object provides information about the state of PciPassthru
 42030  // for all pci devices.
 42031  type HostPciPassthruInfo struct {
 42032  	DynamicData
 42033  
 42034  	// The name ID of this PCI, composed of "bus:slot.function".
 42035  	Id string `xml:"id" json:"id"`
 42036  	// Device which needs to be unclaimed by vmkernel (may be bridge)
 42037  	DependentDevice string `xml:"dependentDevice" json:"dependentDevice"`
 42038  	// Whether passThru has been configured by the user
 42039  	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
 42040  	// Whether passThru is even possible for this device (decided by vmkctl)
 42041  	PassthruCapable bool `xml:"passthruCapable" json:"passthruCapable"`
 42042  	// Whether passThru is active for this device (meaning enabled + rebooted)
 42043  	PassthruActive bool `xml:"passthruActive" json:"passthruActive"`
 42044  	// The hardware label of this PCI device.
 42045  	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
 42046  }
 42047  
 42048  func init() {
 42049  	t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem()
 42050  }
 42051  
 42052  // This data object describes the Peripheral Component Interconnect Express
 42053  // (PCIe) host bus adapter interface.
 42054  type HostPcieHba struct {
 42055  	HostHostBusAdapter
 42056  }
 42057  
 42058  func init() {
 42059  	t["HostPcieHba"] = reflect.TypeOf((*HostPcieHba)(nil)).Elem()
 42060  }
 42061  
 42062  // Peripheral Component Interconnect Express (PCIe)
 42063  // transport information about a target.
 42064  type HostPcieTargetTransport struct {
 42065  	HostTargetTransport
 42066  }
 42067  
 42068  func init() {
 42069  	t["HostPcieTargetTransport"] = reflect.TypeOf((*HostPcieTargetTransport)(nil)).Elem()
 42070  }
 42071  
 42072  // Host Hardware information about configured and available
 42073  // persistent memory on a host.
 42074  type HostPersistentMemoryInfo struct {
 42075  	DynamicData
 42076  
 42077  	// Amount of configured persistent memory available on a host in MB.
 42078  	CapacityInMB int64 `xml:"capacityInMB,omitempty" json:"capacityInMB,omitempty"`
 42079  	// Unique persistent memory host indentifier.
 42080  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 42081  }
 42082  
 42083  func init() {
 42084  	t["HostPersistentMemoryInfo"] = reflect.TypeOf((*HostPersistentMemoryInfo)(nil)).Elem()
 42085  }
 42086  
 42087  // This data type describes the Virtual Machine and
 42088  // Virtual NIC to identify virtual adapters placed
 42089  // on a physical NIC
 42090  type HostPlacedVirtualNicIdentifier struct {
 42091  	DynamicData
 42092  
 42093  	// The Virtual Machine
 42094  	//
 42095  	// Refers instance of `VirtualMachine`.
 42096  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 42097  	// The virtual NIC key
 42098  	VnicKey string `xml:"vnicKey" json:"vnicKey"`
 42099  	// The virtual NIC reservation
 42100  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
 42101  }
 42102  
 42103  func init() {
 42104  	t["HostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*HostPlacedVirtualNicIdentifier)(nil)).Elem()
 42105  }
 42106  
 42107  // This data object represents the plug-store topology on a host
 42108  // system.
 42109  //
 42110  // Through this data object, the storage structure of a system
 42111  // that utilizes the plug-store architecture can be presented.
 42112  //
 42113  // The object entity-relationship diagram is modeled below:
 42114  //
 42115  //	------------------------------------------------------------
 42116  //	|             0..N             0..N      0..N              |
 42117  //	|   Plugin ----->  Device  ------>  Path  <------  Adapter |
 42118  //	|                          <------   |    ------>          |
 42119  //	|                          0,1       |          1          |
 42120  //	|                                    |                     |
 42121  //	|                                    | 0,1                 |
 42122  //	|                                   \|/                    |
 42123  //	|                                  Target                  |
 42124  //	------------------------------------------------------------
 42125  //
 42126  // Description and reasoning behind the relationships:
 42127  //
 42128  // When a storage device driver is loaded, it claims a PCI device as a
 42129  // host bus adapter. This host bus adapter is represented as an Adapter.
 42130  // The PCI device identifier is a property on the HostBusAdapter in the
 42131  // Adapter.
 42132  //
 42133  // Once the host bus adapter is on the system, the hardware bus is scanned.
 42134  // If a storage Device is found on the bus, the communication path to the
 42135  // Device from the the host bus adapter is represented by a Path. A Device
 42136  // may have more than one Path. How those Paths are composed to create a
 42137  // Device is determined by a storage Plugin.
 42138  //
 42139  // When a storage Plugin is loaded, it claims a set of Paths. It groups these
 42140  // Paths into a set of Devices. Devices are hence associated with a set of
 42141  // Paths that might be used to provide a single logical device such as in the
 42142  // case of multipathing. Devices may be also composed of zero Paths meaning
 42143  // that they do not directly use a host bus adapter for communication with
 42144  // underlying storage.
 42145  //
 42146  // The purpose of this data object is to represent the topology of storage
 42147  // as seen by the base plug-store system. There is some overlap
 42148  // with information in other objects such as ScsiTopology which is only
 42149  // applicable when a particular "native multipathing" plugin is used. This
 42150  // data object provides the complete inventory of Devices and Paths. Hence
 42151  // it provides a superset of Device mappings over data object such as
 42152  // ScsiTopology and Multipa
 42153  //
 42154  // The use cases that this data object accommodates includes the following
 42155  // non-exhaustive list:
 42156  //   - Enumerate paths on a host bus adapter.
 42157  //   - Enumerate paths on a storage device.
 42158  //   - Conveniently access the devices a host bus adapter is
 42159  //     associated with by traversing the path.
 42160  //   - Determine which plugin a device belongs.
 42161  //   - Determine which paths are claimed by a plugin by
 42162  //     accumulating the paths of all device of the plugin.
 42163  //   - Determine which plugin a path belongs to by accessing its
 42164  //     device and finding that device in the Plugin list.
 42165  type HostPlugStoreTopology struct {
 42166  	DynamicData
 42167  
 42168  	// List of host bus adapters in the plug store inventory.
 42169  	Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty" json:"adapter,omitempty"`
 42170  	// List of paths in the plug store inventory.
 42171  	Path []HostPlugStoreTopologyPath `xml:"path,omitempty" json:"path,omitempty"`
 42172  	// Partial list of targets as seen by the host.
 42173  	//
 42174  	// The list of targets
 42175  	// may not be exhaustive on the host.
 42176  	Target []HostPlugStoreTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 42177  	// List of devices in the plug store inventory.
 42178  	Device []HostPlugStoreTopologyDevice `xml:"device,omitempty" json:"device,omitempty"`
 42179  	// List of plugins in the plug store inventory.
 42180  	Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty" json:"plugin,omitempty"`
 42181  }
 42182  
 42183  func init() {
 42184  	t["HostPlugStoreTopology"] = reflect.TypeOf((*HostPlugStoreTopology)(nil)).Elem()
 42185  }
 42186  
 42187  // This data object type is an association class that describes a host bus
 42188  // adapter and its associated storage Paths.
 42189  //
 42190  // The set of Paths on all the
 42191  // host bus adapters is the complete set of Paths in the system.
 42192  type HostPlugStoreTopologyAdapter struct {
 42193  	DynamicData
 42194  
 42195  	// The identifier for the host bus adapter.
 42196  	Key string `xml:"key" json:"key"`
 42197  	// The link to the host bus adapter for this inebtrface.
 42198  	Adapter string `xml:"adapter" json:"adapter"`
 42199  	// The list of paths to which the host bus adapter is associated.
 42200  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 42201  }
 42202  
 42203  func init() {
 42204  	t["HostPlugStoreTopologyAdapter"] = reflect.TypeOf((*HostPlugStoreTopologyAdapter)(nil)).Elem()
 42205  }
 42206  
 42207  // This data object type is an association class that describes a ScsiLun
 42208  // and its associated Path objects.
 42209  //
 42210  // The ScsiLun is a Device that is formed
 42211  // from a set of Paths.
 42212  type HostPlugStoreTopologyDevice struct {
 42213  	DynamicData
 42214  
 42215  	// Linkable identifier.
 42216  	Key string `xml:"key" json:"key"`
 42217  	// The SCSI device corresponding to logical unit.
 42218  	Lun string `xml:"lun" json:"lun"`
 42219  	// The array of paths available to access this LogicalUnit.
 42220  	Path []string `xml:"path,omitempty" json:"path,omitempty"`
 42221  }
 42222  
 42223  func init() {
 42224  	t["HostPlugStoreTopologyDevice"] = reflect.TypeOf((*HostPlugStoreTopologyDevice)(nil)).Elem()
 42225  }
 42226  
 42227  // This data object type is an association class that describes a Path and
 42228  // its associated Device.
 42229  //
 42230  // A Path may be claimed by at most one Device.
 42231  type HostPlugStoreTopologyPath struct {
 42232  	DynamicData
 42233  
 42234  	// The identifier for the Path.
 42235  	Key string `xml:"key" json:"key"`
 42236  	// Name of path.
 42237  	//
 42238  	// Use this property to correlate this path object to other
 42239  	// path objects.
 42240  	//
 42241  	// The state of the Path can be retrieved from the data object (@link
 42242  	// vim.host.MultipathStateInfo.Path} on the `HostMultipathStateInfo` data object.
 42243  	//
 42244  	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
 42245  	Name string `xml:"name" json:"name"`
 42246  	// The channel number for a path if applicable.
 42247  	ChannelNumber int32 `xml:"channelNumber,omitempty" json:"channelNumber,omitempty"`
 42248  	// The target number for a path if applicable.
 42249  	//
 42250  	// The target number is not
 42251  	// guaranteed to be consistent across reboots or rescans of the adapter.
 42252  	TargetNumber int32 `xml:"targetNumber,omitempty" json:"targetNumber,omitempty"`
 42253  	// The LUN number for a path if applicable.
 42254  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
 42255  	// The adapter that provided the Path.
 42256  	Adapter string `xml:"adapter,omitempty" json:"adapter,omitempty"`
 42257  	// The target of the Path if any.
 42258  	Target string `xml:"target,omitempty" json:"target,omitempty"`
 42259  	// The device that claimed the Path if any.
 42260  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 42261  }
 42262  
 42263  func init() {
 42264  	t["HostPlugStoreTopologyPath"] = reflect.TypeOf((*HostPlugStoreTopologyPath)(nil)).Elem()
 42265  }
 42266  
 42267  // This data object type represents a Plugin in the plug store architecture.
 42268  //
 42269  // A Plugin claims a set of paths and groups them into Devices.
 42270  type HostPlugStoreTopologyPlugin struct {
 42271  	DynamicData
 42272  
 42273  	// The identifier of the plugin.
 42274  	Key string `xml:"key" json:"key"`
 42275  	// The name of the plugin.
 42276  	Name string `xml:"name" json:"name"`
 42277  	// The set of devices formed by this plugin.
 42278  	Device []string `xml:"device,omitempty" json:"device,omitempty"`
 42279  	// The set of paths claimed by this plugin.
 42280  	//
 42281  	// Not every claimed path
 42282  	// will necessarily appear as part of a Device. Claimed paths will
 42283  	// only appear under Devices if the device identifier of the path
 42284  	// matches up with the device identifier exposed by the Device.
 42285  	ClaimedPath []string `xml:"claimedPath,omitempty" json:"claimedPath,omitempty"`
 42286  }
 42287  
 42288  func init() {
 42289  	t["HostPlugStoreTopologyPlugin"] = reflect.TypeOf((*HostPlugStoreTopologyPlugin)(nil)).Elem()
 42290  }
 42291  
 42292  // This data object represents target information.
 42293  type HostPlugStoreTopologyTarget struct {
 42294  	DynamicData
 42295  
 42296  	// The identifier of the target.
 42297  	//
 42298  	// This will be a string representing the
 42299  	// transport information of the target.
 42300  	Key string `xml:"key" json:"key"`
 42301  	// Detailed, transport-specific information about the target of a path.
 42302  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 42303  }
 42304  
 42305  func init() {
 42306  	t["HostPlugStoreTopologyTarget"] = reflect.TypeOf((*HostPlugStoreTopologyTarget)(nil)).Elem()
 42307  }
 42308  
 42309  // This data type describes the avaialable capacity
 42310  // for VM traffic on a physical NIC
 42311  type HostPnicNetworkResourceInfo struct {
 42312  	DynamicData
 42313  
 42314  	// The physical NIC device
 42315  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 42316  	// The total bandwidth available for VM traffic
 42317  	AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty" json:"availableBandwidthForVMTraffic,omitempty"`
 42318  	// The unused bandwidth for VM traffic
 42319  	UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty" json:"unusedBandwidthForVMTraffic,omitempty"`
 42320  	// The connected virtual NICs of powered on Virtual Machines
 42321  	// that are placed on this physical NIC
 42322  	PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty" json:"placedVirtualNics,omitempty"`
 42323  }
 42324  
 42325  func init() {
 42326  	t["HostPnicNetworkResourceInfo"] = reflect.TypeOf((*HostPnicNetworkResourceInfo)(nil)).Elem()
 42327  }
 42328  
 42329  // This data object type is used to describe port groups.
 42330  //
 42331  // Port groups are used to group virtual network adapters on a virtual switch,
 42332  // associating them with networks and network policies.
 42333  type HostPortGroup struct {
 42334  	DynamicData
 42335  
 42336  	// The linkable identifier.
 42337  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 42338  	// The ports that currently exist and are used on this port group.
 42339  	Port []HostPortGroupPort `xml:"port,omitempty" json:"port,omitempty"`
 42340  	// The virtual switch that contains this port group.
 42341  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 42342  	// Computed network policies that are applicable for a port group.
 42343  	//
 42344  	// The
 42345  	// inheritance scheme for PortGroup requires knowledge about the
 42346  	// NetworkPolicy for a port group and its parent virtual switch as well as
 42347  	// the logic for computing the results. This information is provided as
 42348  	// a convenience so that callers need not duplicate the inheritance logic
 42349  	// to determine the proper values for a network policy.
 42350  	//
 42351  	// See the description of the
 42352  	// `NetworkPolicy` data object type
 42353  	// for more information.
 42354  	ComputedPolicy HostNetworkPolicy `xml:"computedPolicy" json:"computedPolicy"`
 42355  	// The specification of a port group.
 42356  	Spec HostPortGroupSpec `xml:"spec" json:"spec"`
 42357  }
 42358  
 42359  func init() {
 42360  	t["HostPortGroup"] = reflect.TypeOf((*HostPortGroup)(nil)).Elem()
 42361  }
 42362  
 42363  // This describes the port group configuration containing both
 42364  // the configurable properties on a port group and the associated
 42365  // virtual switch.
 42366  type HostPortGroupConfig struct {
 42367  	DynamicData
 42368  
 42369  	// Indicates the change operation to apply on this configuration
 42370  	// specification.
 42371  	//
 42372  	// See also `HostConfigChangeOperation_enum`.
 42373  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 42374  	// The specification of the port group.
 42375  	Spec *HostPortGroupSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 42376  }
 42377  
 42378  func init() {
 42379  	t["HostPortGroupConfig"] = reflect.TypeOf((*HostPortGroupConfig)(nil)).Elem()
 42380  }
 42381  
 42382  // A Port data object type is a runtime representation of network
 42383  // connectivity between a network service or virtual machine and a
 42384  // virtual switch.
 42385  //
 42386  // This is different from a port group in that
 42387  // the port group represents the configuration aspects of the
 42388  // network connection. The Port object provides runtime statistics.
 42389  type HostPortGroupPort struct {
 42390  	DynamicData
 42391  
 42392  	// The linkable identifier.
 42393  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 42394  	// The Media Access Control (MAC) address of network service of
 42395  	// the virtual machine connected on this port.
 42396  	Mac []string `xml:"mac,omitempty" json:"mac,omitempty"`
 42397  	// The type of component connected on this port.
 42398  	//
 42399  	// Must be one of the
 42400  	// values of `PortGroupConnecteeType_enum`.
 42401  	Type string `xml:"type" json:"type"`
 42402  }
 42403  
 42404  func init() {
 42405  	t["HostPortGroupPort"] = reflect.TypeOf((*HostPortGroupPort)(nil)).Elem()
 42406  }
 42407  
 42408  // The `HostPortGroupProfile` data object represents the subprofile
 42409  // for a port group that will be used by the ESX host.
 42410  //
 42411  // If a profile plug-in defines policies or subprofiles, use the
 42412  // `ApplyProfile.policy` or `ApplyProfile.property`
 42413  // list to access the additional configuration data.
 42414  type HostPortGroupProfile struct {
 42415  	PortGroupProfile
 42416  
 42417  	// IP address configuration for the Host network.
 42418  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 42419  }
 42420  
 42421  func init() {
 42422  	t["HostPortGroupProfile"] = reflect.TypeOf((*HostPortGroupProfile)(nil)).Elem()
 42423  }
 42424  
 42425  // This data object type describes the PortGroup specification
 42426  // representing the properties on a PortGroup that
 42427  // can be configured.
 42428  type HostPortGroupSpec struct {
 42429  	DynamicData
 42430  
 42431  	// The name of the port group.
 42432  	Name string `xml:"name" json:"name"`
 42433  	// The VLAN ID for ports using this port group.
 42434  	//
 42435  	// Possible values:
 42436  	//   - A value of 0 specifies that you do not want the port group associated
 42437  	//     with a VLAN.
 42438  	//   - A value from 1 to 4094 specifies a VLAN ID for the port group.
 42439  	//   - A value of 4095 specifies that the port group should use trunk mode,
 42440  	//     which allows the guest operating system to manage its own VLAN tags.
 42441  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 42442  	// The identifier of the virtual switch on which
 42443  	// this port group is located.
 42444  	VswitchName string `xml:"vswitchName" json:"vswitchName"`
 42445  	// Policies on the port group take precedence over the ones specified
 42446  	// on the virtual switch.
 42447  	Policy HostNetworkPolicy `xml:"policy" json:"policy"`
 42448  }
 42449  
 42450  func init() {
 42451  	t["HostPortGroupSpec"] = reflect.TypeOf((*HostPortGroupSpec)(nil)).Elem()
 42452  }
 42453  
 42454  // This data object type contains a POSIX-specific parameter
 42455  // for local account creation.
 42456  type HostPosixAccountSpec struct {
 42457  	HostAccountSpec
 42458  
 42459  	// Deprecated as of vSphere API 5.1, this property is deprecated and
 42460  	// is ignored.
 42461  	//
 42462  	// The user ID or group ID of a specified account.
 42463  	PosixId int32 `xml:"posixId,omitempty" json:"posixId,omitempty"`
 42464  	// Grants shell access.
 42465  	//
 42466  	// As of vSphere API 5.1, this property is deprecated and
 42467  	// is ignored. `HostLocalAccountManager.CreateUser` will always set this to true, and
 42468  	// `HostLocalAccountManager.UpdateUser` will set it to true if it is already false.
 42469  	// Also shell access is granted only to users with
 42470  	// Administrator role on the root folder and no other non-Admin role on
 42471  	// any other inventory object.
 42472  	//
 42473  	// As of vSphere API 7.0.3.2, this property is no longer ignored and it must
 42474  	// be true if a user with administrator permissions needs shell access.
 42475  	// It can be set to true for other users only by administrators
 42476  	// who themselves have this shell access.
 42477  	// Administrators without shell access cannot change the passwords of
 42478  	// users with shell access.
 42479  	// Setting this property to false for user 'root' has no effect.
 42480  	//
 42481  	// If this property is not specified when creating a new user account
 42482  	// then the default value depends on the following factors:
 42483  	// if the calling user does not have shell access then it defaults to
 42484  	// false; if the calling user has shell access then it defaults to true,
 42485  	// unless overridden by host configuration settings.
 42486  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 42487  }
 42488  
 42489  func init() {
 42490  	t["HostPosixAccountSpec"] = reflect.TypeOf((*HostPosixAccountSpec)(nil)).Elem()
 42491  }
 42492  
 42493  // This fault is thrown when a host power operation fails.
 42494  type HostPowerOpFailed struct {
 42495  	VimFault
 42496  }
 42497  
 42498  func init() {
 42499  	t["HostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem()
 42500  }
 42501  
 42502  type HostPowerOpFailedFault BaseHostPowerOpFailed
 42503  
 42504  func init() {
 42505  	t["HostPowerOpFailedFault"] = reflect.TypeOf((*HostPowerOpFailedFault)(nil)).Elem()
 42506  }
 42507  
 42508  // Power Management Policy data object.
 42509  //
 42510  // Used to retrieve and specify current host power management policy.
 42511  type HostPowerPolicy struct {
 42512  	DynamicData
 42513  
 42514  	// Power Policy Key.
 42515  	//
 42516  	// Internally generated key which uniquely identifies power management
 42517  	// policy on a host.
 42518  	Key int32 `xml:"key" json:"key"`
 42519  	// Power Policy Name.
 42520  	Name string `xml:"name" json:"name"`
 42521  	// Power Policy Short Name.
 42522  	//
 42523  	// This is not localizable property which can be used to identify specific
 42524  	// power managing policies like "custom" power policy. Custom power policy
 42525  	// has short name set to "custom".
 42526  	ShortName string `xml:"shortName" json:"shortName"`
 42527  	// Power Policy Description.
 42528  	Description string `xml:"description" json:"description"`
 42529  }
 42530  
 42531  func init() {
 42532  	t["HostPowerPolicy"] = reflect.TypeOf((*HostPowerPolicy)(nil)).Elem()
 42533  }
 42534  
 42535  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 42536  //
 42537  // This event records that the primary agent specified is not a short name.
 42538  //
 42539  // The name of the primary agent is usually stored as a short name. You should
 42540  // not normally see this error. Please check the network configurations of your
 42541  // hosts.
 42542  type HostPrimaryAgentNotShortNameEvent struct {
 42543  	HostDasEvent
 42544  
 42545  	PrimaryAgent string `xml:"primaryAgent" json:"primaryAgent"`
 42546  }
 42547  
 42548  func init() {
 42549  	t["HostPrimaryAgentNotShortNameEvent"] = reflect.TypeOf((*HostPrimaryAgentNotShortNameEvent)(nil)).Elem()
 42550  }
 42551  
 42552  // This event records that a Profile application was done
 42553  // on the host
 42554  type HostProfileAppliedEvent struct {
 42555  	HostEvent
 42556  
 42557  	// Link to the profile which was applied
 42558  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 42559  }
 42560  
 42561  func init() {
 42562  	t["HostProfileAppliedEvent"] = reflect.TypeOf((*HostProfileAppliedEvent)(nil)).Elem()
 42563  }
 42564  
 42565  // The `HostProfileCompleteConfigSpec` data object
 42566  // specifies the complete configuration for a host profile.
 42567  type HostProfileCompleteConfigSpec struct {
 42568  	HostProfileConfigSpec
 42569  
 42570  	// Profile that contains configuration data for the host.
 42571  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 42572  	// User defined compliance profile.
 42573  	//
 42574  	// Reserved for future use.
 42575  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 42576  	// Flag indicating if this configuration specification contains changes
 42577  	// in the `HostProfileCompleteConfigSpec.disabledExpressionList`.
 42578  	//
 42579  	// If False, the Profile Engine ignores the contents of the disabled expression list.
 42580  	DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged" json:"disabledExpressionListChanged"`
 42581  	// List of expressions to be disabled.
 42582  	//
 42583  	// Each entry in the list specifies
 42584  	// a `ProfileExpression*.*ProfileExpression.id`.
 42585  	// All expressions are enabled by default.
 42586  	//
 42587  	// If you set `HostProfileCompleteConfigSpec.disabledExpressionListChanged`
 42588  	// to True, the Profile Engine uses the contents of this list to replace the contents
 42589  	// of the `HostProfile*.*Profile.config*.*HostProfileConfigInfo.disabledExpressionList`.
 42590  	//
 42591  	// The expression list is contained in the
 42592  	// `HostProfileConfigInfo.defaultComplyProfile`.
 42593  	// The Profile Engine automatically generates the default compliance profile
 42594  	// when you create a host profile.
 42595  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 42596  	// Host for profile validation.
 42597  	//
 42598  	// This can be a host on which the profile
 42599  	// is intended to be used. If you do not specify a validator host,
 42600  	// the Profile Engine uses the `HostProfile*.*HostProfile.referenceHost`
 42601  	// to validate the profile.
 42602  	//
 42603  	// Refers instance of `HostSystem`.
 42604  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
 42605  	// If "false", then the host profile will be saved without being validated.
 42606  	//
 42607  	// The default if not specified is "true".
 42608  	// This option should be used with caution, since the resulting host profile
 42609  	// will not be checked for errors.
 42610  	Validating *bool `xml:"validating" json:"validating,omitempty"`
 42611  	// Host profile configuration data and compliance information.
 42612  	//
 42613  	// If `HostProfileCompleteConfigSpec.hostConfig` is set,
 42614  	// then the HostApplyProfile
 42615  	// `HostProfileCompleteConfigSpec.applyProfile` and
 42616  	// ComplianceProfile
 42617  	// `HostProfileCompleteConfigSpec.customComplyProfile`
 42618  	// should not be set in CompleteConfigSpec.
 42619  	HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty" json:"hostConfig,omitempty"`
 42620  }
 42621  
 42622  func init() {
 42623  	t["HostProfileCompleteConfigSpec"] = reflect.TypeOf((*HostProfileCompleteConfigSpec)(nil)).Elem()
 42624  }
 42625  
 42626  // The `HostProfileConfigInfo` data object
 42627  // contains host profile data and information about profile compliance.
 42628  type HostProfileConfigInfo struct {
 42629  	ProfileConfigInfo
 42630  
 42631  	// Profile data for host configuration.
 42632  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 42633  	// Default compliance profile.
 42634  	//
 42635  	// The ESX Server uses the <code>applyProfile</code>
 42636  	// (`HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile`)
 42637  	// to generate the default compliance profile when you create a host profile.
 42638  	// When the <code>applyProfile</code> is modified, the Server automatically
 42639  	// updates the compliance profile to match it.
 42640  	DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty" json:"defaultComplyProfile,omitempty"`
 42641  	// List of compliance locators.
 42642  	//
 42643  	// Each locator specifies an association between
 42644  	// the <code>applyProfile</code> and the <code>defaultComplyProfile</code>.
 42645  	// The association identifies a component profile and the expression generated
 42646  	// by the profile. vSphere clients can use this data to provide contextual
 42647  	// information to the user.
 42648  	DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty" json:"defaultComplyLocator,omitempty"`
 42649  	// User defined compliance profile.
 42650  	//
 42651  	// Reserved for future use.
 42652  	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
 42653  	// Disabled expressions in the default compliance profile
 42654  	// (<code>DefaultComplyProfile</code>).
 42655  	//
 42656  	// Use this property to specify which expressions are disabled.
 42657  	// All expressions are enabled by default.
 42658  	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
 42659  	// Localized description of the profile.
 42660  	Description *ProfileDescription `xml:"description,omitempty" json:"description,omitempty"`
 42661  }
 42662  
 42663  func init() {
 42664  	t["HostProfileConfigInfo"] = reflect.TypeOf((*HostProfileConfigInfo)(nil)).Elem()
 42665  }
 42666  
 42667  // `HostProfileConfigSpec` is the base data object
 42668  // for all `HostProfile` configuration specifications.
 42669  type HostProfileConfigSpec struct {
 42670  	ProfileCreateSpec
 42671  }
 42672  
 42673  func init() {
 42674  	t["HostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem()
 42675  }
 42676  
 42677  // The `HostProfileHostBasedConfigSpec` data object
 42678  // specifies the host from which configuration data is to be extracted
 42679  // and the profile(s) to be created or updated.
 42680  type HostProfileHostBasedConfigSpec struct {
 42681  	HostProfileConfigSpec
 42682  
 42683  	// ESX host.
 42684  	//
 42685  	// Refers instance of `HostSystem`.
 42686  	Host ManagedObjectReference `xml:"host" json:"host"`
 42687  	// Flag indicating if the Profile Engine should use the profile
 42688  	// plug-ins present on the host to create the profile.
 42689  	//
 42690  	// If <code>true</code>, the host Profile Engine uses the vSphere 5.0
 42691  	// (or later) profile plug-ins. The resulting profile is not compatible
 42692  	// with legacy hosts (pre 5.0). If <code>false</code> or not specified,
 42693  	// the Profile Engine creates a legacy host profile.
 42694  	UseHostProfileEngine *bool `xml:"useHostProfileEngine" json:"useHostProfileEngine,omitempty"`
 42695  }
 42696  
 42697  func init() {
 42698  	t["HostProfileHostBasedConfigSpec"] = reflect.TypeOf((*HostProfileHostBasedConfigSpec)(nil)).Elem()
 42699  }
 42700  
 42701  // The data class for host profile composition result.
 42702  type HostProfileManagerCompositionResult struct {
 42703  	DynamicData
 42704  
 42705  	// The composition errors for all targets, for example, the source
 42706  	// profile doesn't exist.
 42707  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42708  	// The array of
 42709  	// `HostProfileManagerCompositionResultResultElement`
 42710  	// for all the target host profiles.
 42711  	Results []HostProfileManagerCompositionResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 42712  }
 42713  
 42714  func init() {
 42715  	t["HostProfileManagerCompositionResult"] = reflect.TypeOf((*HostProfileManagerCompositionResult)(nil)).Elem()
 42716  }
 42717  
 42718  // Composition result for a specific target host profile.
 42719  type HostProfileManagerCompositionResultResultElement struct {
 42720  	DynamicData
 42721  
 42722  	// The target host profile.
 42723  	//
 42724  	// Refers instance of `Profile`.
 42725  	Target ManagedObjectReference `xml:"target" json:"target"`
 42726  	// The composition status.
 42727  	//
 42728  	// See `HostProfileManagerCompositionResultResultElementStatus_enum`
 42729  	// for details of supported values.
 42730  	Status string `xml:"status" json:"status"`
 42731  	// The composition errors.
 42732  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42733  }
 42734  
 42735  func init() {
 42736  	t["HostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElement)(nil)).Elem()
 42737  }
 42738  
 42739  // The data class for the host profile composition validation
 42740  // results.
 42741  type HostProfileManagerCompositionValidationResult struct {
 42742  	DynamicData
 42743  
 42744  	// The array of
 42745  	// `HostProfileManagerCompositionValidationResultResultElement`
 42746  	// for all the target host profiles.
 42747  	Results []HostProfileManagerCompositionValidationResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
 42748  	// The common error happened at validation.
 42749  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42750  }
 42751  
 42752  func init() {
 42753  	t["HostProfileManagerCompositionValidationResult"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResult)(nil)).Elem()
 42754  }
 42755  
 42756  // The host profile composition validation result for a specific target
 42757  // host profile.
 42758  type HostProfileManagerCompositionValidationResultResultElement struct {
 42759  	DynamicData
 42760  
 42761  	// The target host profile.
 42762  	//
 42763  	// Refers instance of `Profile`.
 42764  	Target ManagedObjectReference `xml:"target" json:"target"`
 42765  	// The composition validation status.
 42766  	//
 42767  	// See `HostProfileManagerCompositionValidationResultResultElementStatus_enum`
 42768  	// for details of supported values.
 42769  	Status string `xml:"status" json:"status"`
 42770  	// The composition validation errors.
 42771  	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
 42772  	// When a selected sub profile for composition exists in both the
 42773  	// source and target host profile, this member will contain the
 42774  	// source side difference for the selected sub profiles.
 42775  	SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty" json:"sourceDiffForToBeMerged,omitempty"`
 42776  	// Similar to the member <code>sourceDiffForToBeMerged</code> above
 42777  	// but contains the target side difference.
 42778  	//
 42779  	// Comparing the same
 42780  	// configurations in these two variables will show the changes for
 42781  	// the configurations that exist in both source and target host
 42782  	// profile.
 42783  	TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty" json:"targetDiffForToBeMerged,omitempty"`
 42784  	// The sub profiles doesn't exist in the target and will be added to
 42785  	// the target at host profile composition.
 42786  	ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty" json:"toBeAdded,omitempty"`
 42787  	// The sub profiles exists in the target but not in the source and will
 42788  	// be deleted from the target at host profile composition.
 42789  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 42790  	// The sub profiles to be disabled in the target host profiles.
 42791  	ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty" json:"toBeDisabled,omitempty"`
 42792  	// The sub profiles to be enabled in the target host profiles.
 42793  	ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty" json:"toBeEnabled,omitempty"`
 42794  	// The sub profile to be unset ignoring compliance check
 42795  	// in the target host profile.
 42796  	ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty" json:"toBeReenableCC,omitempty"`
 42797  }
 42798  
 42799  func init() {
 42800  	t["HostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElement)(nil)).Elem()
 42801  }
 42802  
 42803  // The `HostProfileManagerConfigTaskList` data object
 42804  // represents a set of tasks to be performed on a host during host profile application.
 42805  type HostProfileManagerConfigTaskList struct {
 42806  	DynamicData
 42807  
 42808  	// Set of configuration changes to be applied to the host.
 42809  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 42810  	// Description of tasks that will be performed on the host
 42811  	// to carry out HostProfile application.
 42812  	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
 42813  	// A set of requirements whose actions must be fulfilled before and/or
 42814  	// after the task list is applied on an ESXi host, e.g.
 42815  	//
 42816  	// whether the ESXi
 42817  	// host must be in maintenance mode prior to applying the <code>configSpec</code>,
 42818  	// or whether the host will need to be rebooted after applying the <code>configSpec</code>.
 42819  	// See `HostProfileManagerTaskListRequirement_enum` for
 42820  	// details of supported values.
 42821  	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
 42822  }
 42823  
 42824  func init() {
 42825  	t["HostProfileManagerConfigTaskList"] = reflect.TypeOf((*HostProfileManagerConfigTaskList)(nil)).Elem()
 42826  }
 42827  
 42828  // Data class for <code>HostSystem</code>-<code>AnswerFileCreateSpec</code>
 42829  // mapping.
 42830  type HostProfileManagerHostToConfigSpecMap struct {
 42831  	DynamicData
 42832  
 42833  	// The host
 42834  	//
 42835  	// Refers instance of `HostSystem`.
 42836  	Host ManagedObjectReference `xml:"host" json:"host"`
 42837  	// The corresponding <code>AnswerFileCreateSpec</code>.
 42838  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 42839  }
 42840  
 42841  func init() {
 42842  	t["HostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*HostProfileManagerHostToConfigSpecMap)(nil)).Elem()
 42843  }
 42844  
 42845  type HostProfileResetValidationState HostProfileResetValidationStateRequestType
 42846  
 42847  func init() {
 42848  	t["HostProfileResetValidationState"] = reflect.TypeOf((*HostProfileResetValidationState)(nil)).Elem()
 42849  }
 42850  
 42851  type HostProfileResetValidationStateRequestType struct {
 42852  	This ManagedObjectReference `xml:"_this" json:"-"`
 42853  }
 42854  
 42855  func init() {
 42856  	t["HostProfileResetValidationStateRequestType"] = reflect.TypeOf((*HostProfileResetValidationStateRequestType)(nil)).Elem()
 42857  }
 42858  
 42859  type HostProfileResetValidationStateResponse struct {
 42860  }
 42861  
 42862  // The `HostProfileSerializedHostProfileSpec` data object
 42863  // contains a string representation of a host profile.
 42864  //
 42865  // Use this object when you
 42866  // create a host profile from a file.
 42867  type HostProfileSerializedHostProfileSpec struct {
 42868  	ProfileSerializedCreateSpec
 42869  
 42870  	// Host for profile validation.
 42871  	//
 42872  	// This can be a host on which
 42873  	// the profile is intended to be used.
 42874  	//
 42875  	// Refers instance of `HostSystem`.
 42876  	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
 42877  	// If "false", then the host profile will be saved without being validated.
 42878  	//
 42879  	// The default if not specified is "true".
 42880  	// This option should be used with caution, since the resulting host profile
 42881  	// will not be checked for errors.
 42882  	Validating *bool `xml:"validating" json:"validating,omitempty"`
 42883  }
 42884  
 42885  func init() {
 42886  	t["HostProfileSerializedHostProfileSpec"] = reflect.TypeOf((*HostProfileSerializedHostProfileSpec)(nil)).Elem()
 42887  }
 42888  
 42889  // This defines the validation result for the host profile.
 42890  type HostProfileValidationFailureInfo struct {
 42891  	DynamicData
 42892  
 42893  	// The name of host profile to be validated.
 42894  	Name string `xml:"name" json:"name"`
 42895  	// Host profile annotation at update.
 42896  	Annotation string `xml:"annotation" json:"annotation"`
 42897  	// Host profile update type.
 42898  	//
 42899  	// See the enumerate class
 42900  	// <code>UpdateType</code> above for the valid values.
 42901  	UpdateType string `xml:"updateType" json:"updateType"`
 42902  	// The host where the host profile is updated from.
 42903  	//
 42904  	// Refers instance of `HostSystem`.
 42905  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 42906  	// The host configuration after validation.
 42907  	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
 42908  	// List of failures in the host profile configuration.
 42909  	Failures []ProfileUpdateFailedUpdateFailure `xml:"failures,omitempty" json:"failures,omitempty"`
 42910  	// The <code>MethodFault</code>s happened at validation.
 42911  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 42912  }
 42913  
 42914  func init() {
 42915  	t["HostProfileValidationFailureInfo"] = reflect.TypeOf((*HostProfileValidationFailureInfo)(nil)).Elem()
 42916  }
 42917  
 42918  // Data type used to contain a representation of host or cluster customization
 42919  // data in a `HostProfilesCustomizationData` object.
 42920  //
 42921  // Subclasses of this must be defined to provide host or cluster customization
 42922  // data in specific formats.
 42923  type HostProfilesEntityCustomizations struct {
 42924  	DynamicData
 42925  }
 42926  
 42927  func init() {
 42928  	t["HostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem()
 42929  }
 42930  
 42931  // ProtocolEndpoint is configured LUN or NFS directory
 42932  // This is used for io path to actual virtual disks (VVols)
 42933  type HostProtocolEndpoint struct {
 42934  	DynamicData
 42935  
 42936  	// Deprecated from all vmodl version above @released("6.0")
 42937  	// Use type instead.
 42938  	//
 42939  	// Type of ProtocolEndpoint
 42940  	// See `HostProtocolEndpointPEType_enum`
 42941  	PeType string `xml:"peType" json:"peType"`
 42942  	// Type of ProtocolEndpoint
 42943  	// See `HostProtocolEndpointProtocolEndpointType_enum`
 42944  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 42945  	// Identifier for PE assigned by VASA Provider
 42946  	Uuid string `xml:"uuid" json:"uuid"`
 42947  	// Set of ESX hosts which can see the same PE
 42948  	//
 42949  	// Refers instances of `HostSystem`.
 42950  	HostKey []ManagedObjectReference `xml:"hostKey,omitempty" json:"hostKey,omitempty"`
 42951  	// Associated Storage Array
 42952  	StorageArray string `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 42953  	// NFSv3 and NFSv4x PE will contain information about NFS Server
 42954  	// For NFSv4x this field may contain comma separated list of IP addresses
 42955  	// which are associated with the NFS Server
 42956  	NfsServer string `xml:"nfsServer,omitempty" json:"nfsServer,omitempty"`
 42957  	// NFSv3 and NFSv4x PE will contain information about NFS directory
 42958  	NfsDir string `xml:"nfsDir,omitempty" json:"nfsDir,omitempty"`
 42959  	// NFSv4x PE will contain information about NFSv4x Server Scope
 42960  	NfsServerScope string `xml:"nfsServerScope,omitempty" json:"nfsServerScope,omitempty"`
 42961  	// NFSv4x PE will contain information about NFSv4x Server Major
 42962  	NfsServerMajor string `xml:"nfsServerMajor,omitempty" json:"nfsServerMajor,omitempty"`
 42963  	// NFSv4x PE will contain information about NFSv4x Server Auth-type
 42964  	NfsServerAuthType string `xml:"nfsServerAuthType,omitempty" json:"nfsServerAuthType,omitempty"`
 42965  	// NFSv4x PE will contain information about NFSv4x Server User
 42966  	NfsServerUser string `xml:"nfsServerUser,omitempty" json:"nfsServerUser,omitempty"`
 42967  	// SCSI PE will contain information about SCSI device ID
 42968  	DeviceId string `xml:"deviceId,omitempty" json:"deviceId,omitempty"`
 42969  	// Indicates whether the PE is being used to access a stretch-capable container
 42970  	UsedByStretchedContainer *bool `xml:"usedByStretchedContainer" json:"usedByStretchedContainer,omitempty" vim:"8.0.3.0"`
 42971  }
 42972  
 42973  func init() {
 42974  	t["HostProtocolEndpoint"] = reflect.TypeOf((*HostProtocolEndpoint)(nil)).Elem()
 42975  }
 42976  
 42977  // The HostProxySwitch is a software entity which represents the component
 42978  // of a DistributedVirtualSwitch on a particular host.
 42979  type HostProxySwitch struct {
 42980  	DynamicData
 42981  
 42982  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 42983  	// is a part of.
 42984  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 42985  	// The name of the DistributedVirtualSwitch that the HostProxySwitch
 42986  	// is part of.
 42987  	DvsName string `xml:"dvsName" json:"dvsName"`
 42988  	// The proxy switch key.
 42989  	Key string `xml:"key" json:"key"`
 42990  	// The number of ports that this switch currently has.
 42991  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 42992  	// The configured number of ports that this switch has.
 42993  	//
 42994  	// If configured number of ports is changed,
 42995  	// a host reboot is required for the new value to take effect.
 42996  	ConfigNumPorts int32 `xml:"configNumPorts,omitempty" json:"configNumPorts,omitempty"`
 42997  	// The number of ports that are available on this virtual switch.
 42998  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 42999  	// The list of ports that can be potentially used by physical nics.
 43000  	//
 43001  	// This property contains the keys and names of such ports.
 43002  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 43003  	// The maximum transmission unit (MTU) associated with this switch
 43004  	// in bytes.
 43005  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 43006  	// The set of physical network adapters associated with this switch.
 43007  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 43008  	// The specification of the switch.
 43009  	Spec HostProxySwitchSpec `xml:"spec" json:"spec"`
 43010  	// The Link Aggregation Control Protocol group and
 43011  	// Uplink ports in the group.
 43012  	HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty" json:"hostLag,omitempty"`
 43013  	// Indicates whether network reservation is supported on this switch
 43014  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 43015  	// Indicate whether NSX-T is enabled on this switch
 43016  	NsxtEnabled *bool `xml:"nsxtEnabled" json:"nsxtEnabled,omitempty"`
 43017  	// Is ENS enabled on this switch
 43018  	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty"`
 43019  	// Is ENS interrupt mode enabled on this switch
 43020  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 43021  	// Transport Zones this switch joined
 43022  	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty"`
 43023  	// Uplink port names used by NSX-T
 43024  	NsxUsedUplinkPort []string `xml:"nsxUsedUplinkPort,omitempty" json:"nsxUsedUplinkPort,omitempty"`
 43025  	// NSX-T proxy switch status
 43026  	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty"`
 43027  	// Additional information regarding the NSX-T proxy switch status
 43028  	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty"`
 43029  	// ENS Status From VmKernal.
 43030  	EnsInfo *HostProxySwitchEnsInfo `xml:"ensInfo,omitempty" json:"ensInfo,omitempty" vim:"8.0.0.1"`
 43031  	// Indicate if network offloading is enabled on the proxy switch of
 43032  	// this host.
 43033  	//
 43034  	// Unset implies that network offloading is disabled.
 43035  	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
 43036  	// Indicates the runtime state of uplinks on the host.
 43037  	//
 43038  	// Only set when `HostProxySwitch.networkOffloadingEnabled`
 43039  	// is true.
 43040  	HostUplinkState []DistributedVirtualSwitchHostMemberHostUplinkState `xml:"hostUplinkState,omitempty" json:"hostUplinkState,omitempty" vim:"8.0.3.0"`
 43041  }
 43042  
 43043  func init() {
 43044  	t["HostProxySwitch"] = reflect.TypeOf((*HostProxySwitch)(nil)).Elem()
 43045  }
 43046  
 43047  // This data object type describes the HostProxySwitch configuration
 43048  // containing both the configurable
 43049  // properties on a HostProxySwitch and identification information.
 43050  type HostProxySwitchConfig struct {
 43051  	DynamicData
 43052  
 43053  	// This property indicates the change operation to apply on
 43054  	// this configuration specification.
 43055  	//
 43056  	// Valid values are:
 43057  	//   - `edit`
 43058  	//   - `remove`
 43059  	//
 43060  	// See also `HostConfigChangeOperation_enum`.
 43061  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 43062  	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
 43063  	// is a part of.
 43064  	Uuid string `xml:"uuid" json:"uuid"`
 43065  	// The specification of the HostProxySwitch.
 43066  	Spec *HostProxySwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 43067  }
 43068  
 43069  func init() {
 43070  	t["HostProxySwitchConfig"] = reflect.TypeOf((*HostProxySwitchConfig)(nil)).Elem()
 43071  }
 43072  
 43073  // This data object type describes
 43074  // the Ens status from VmKernal.
 43075  type HostProxySwitchEnsInfo struct {
 43076  	DynamicData
 43077  
 43078  	// ENS ops version
 43079  	OpsVersion int64 `xml:"opsVersion" json:"opsVersion"`
 43080  	// Number of ENS portset operations
 43081  	NumPSOps int64 `xml:"numPSOps" json:"numPSOps"`
 43082  	// Number of ENS Lcore operations
 43083  	NumLcoreOps int64 `xml:"numLcoreOps" json:"numLcoreOps"`
 43084  	// Error status of the last ENS portset operation
 43085  	ErrorStatus int64 `xml:"errorStatus" json:"errorStatus"`
 43086  	// Error status of the last Lcore operation
 43087  	LcoreStatus int64 `xml:"lcoreStatus" json:"lcoreStatus"`
 43088  }
 43089  
 43090  func init() {
 43091  	t["HostProxySwitchEnsInfo"] = reflect.TypeOf((*HostProxySwitchEnsInfo)(nil)).Elem()
 43092  	minAPIVersionForType["HostProxySwitchEnsInfo"] = "8.0.0.1"
 43093  }
 43094  
 43095  // This data object type describes the set of Uplink Ports in
 43096  // Link Aggregation Control Protocol group.
 43097  type HostProxySwitchHostLagConfig struct {
 43098  	DynamicData
 43099  
 43100  	LagKey  string `xml:"lagKey" json:"lagKey"`
 43101  	LagName string `xml:"lagName,omitempty" json:"lagName,omitempty"`
 43102  	// The list of Uplink Ports in the Link Aggregation Control Protocol group.
 43103  	//
 43104  	// This property contains the keys and names of such ports.
 43105  	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
 43106  }
 43107  
 43108  func init() {
 43109  	t["HostProxySwitchHostLagConfig"] = reflect.TypeOf((*HostProxySwitchHostLagConfig)(nil)).Elem()
 43110  }
 43111  
 43112  // This data object type describes the HostProxySwitch specification
 43113  // representing the properties on a HostProxySwitch that can be
 43114  // configured once the object exists.
 43115  type HostProxySwitchSpec struct {
 43116  	DynamicData
 43117  
 43118  	// The specification describes how physical network adapters
 43119  	// are bridged to the switch.
 43120  	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 43121  }
 43122  
 43123  func init() {
 43124  	t["HostProxySwitchSpec"] = reflect.TypeOf((*HostProxySwitchSpec)(nil)).Elem()
 43125  }
 43126  
 43127  // Configuration information for the host PTP (Precision Time
 43128  // Protocol) service.
 43129  type HostPtpConfig struct {
 43130  	DynamicData
 43131  
 43132  	// PTP domain number as defined in the IEEE 1588 standard.
 43133  	//
 43134  	// Supported
 43135  	// values are in the range 0-255.
 43136  	Domain int32 `xml:"domain,omitempty" json:"domain,omitempty"`
 43137  	// List of PTP port configurations.
 43138  	//
 43139  	// See `HostPtpConfigPtpPort`.
 43140  	Port []HostPtpConfigPtpPort `xml:"port,omitempty" json:"port,omitempty"`
 43141  }
 43142  
 43143  func init() {
 43144  	t["HostPtpConfig"] = reflect.TypeOf((*HostPtpConfig)(nil)).Elem()
 43145  	minAPIVersionForType["HostPtpConfig"] = "7.0.3.0"
 43146  }
 43147  
 43148  // Configuration of a PTP port, a logical entity providing an
 43149  // interface to the network for sending and receiving PTP messages
 43150  // with timestamping.
 43151  type HostPtpConfigPtpPort struct {
 43152  	DynamicData
 43153  
 43154  	// Index into the list of PTP ports.
 43155  	//
 43156  	// Supported values are in the
 43157  	// range 0 through `HostCapability.maxSupportedPtpPorts`-1.
 43158  	Index int32 `xml:"index" json:"index"`
 43159  	// Type of network device to be used with this port.
 43160  	//
 43161  	// See `HostPtpConfigDeviceType_enum` for supported values. A device type
 43162  	// of `none` indicates that this port is
 43163  	// inactive.
 43164  	DeviceType string `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
 43165  	// Name of PTP capable network device to be used with this port.
 43166  	//
 43167  	// Supported values depend on the type of network device used.
 43168  	// For `virtualNic` this field is the name of
 43169  	// a valid virtual NIC. See `HostVirtualNic`.
 43170  	// For `pciPassthruNic` this field is a valid
 43171  	// PCI device ID composed of "bus:slot.function", enabled for
 43172  	// PCI passthru. See `HostPciPassthruInfo`.
 43173  	// For `none` this field is ignored.
 43174  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 43175  	// IP configuration of this port.
 43176  	//
 43177  	// For `pciPassthruNic`, this field reflects
 43178  	// current IP configuration, and it can be set.
 43179  	// For `virtualNic`, this field reflects current
 43180  	// IP configuration, but it cannot be set. To configure IP settings
 43181  	// of a virtual NIC, see `HostVirtualNic`.
 43182  	// For `none`, this field is ignored.
 43183  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 43184  }
 43185  
 43186  func init() {
 43187  	t["HostPtpConfigPtpPort"] = reflect.TypeOf((*HostPtpConfigPtpPort)(nil)).Elem()
 43188  	minAPIVersionForType["HostPtpConfigPtpPort"] = "7.0.3.0"
 43189  }
 43190  
 43191  // This data object describes a qualified name of the host used to
 43192  // identify it in a particular context.
 43193  type HostQualifiedName struct {
 43194  	DynamicData
 43195  
 43196  	// The qualified name.
 43197  	Value string `xml:"value" json:"value"`
 43198  	// The type of the qualified name.
 43199  	//
 43200  	// The list of supported values is specified in `HostQualifiedNameType_enum`.
 43201  	Type string `xml:"type" json:"type"`
 43202  }
 43203  
 43204  func init() {
 43205  	t["HostQualifiedName"] = reflect.TypeOf((*HostQualifiedName)(nil)).Elem()
 43206  	minAPIVersionForType["HostQualifiedName"] = "7.0.3.0"
 43207  }
 43208  
 43209  type HostQueryVirtualDiskUuid HostQueryVirtualDiskUuidRequestType
 43210  
 43211  func init() {
 43212  	t["HostQueryVirtualDiskUuid"] = reflect.TypeOf((*HostQueryVirtualDiskUuid)(nil)).Elem()
 43213  }
 43214  
 43215  // The parameters of `HostVStorageObjectManager.HostQueryVirtualDiskUuid`.
 43216  type HostQueryVirtualDiskUuidRequestType struct {
 43217  	This ManagedObjectReference `xml:"_this" json:"-"`
 43218  	// The name of the disk, either a datastore path or a URL
 43219  	// referring to the virtual disk whose uuid for the DDB entry needs to be queried.
 43220  	// A URL has the form
 43221  	// > _scheme_://_authority_/folder/_path_?dsName=_dsName_
 43222  	//
 43223  	// where
 43224  	//   - _scheme_ is <code>http</code> or <code>https</code>.
 43225  	//   - _authority_ specifies the hostname or IP address of the VirtualCenter or
 43226  	//     ESX server and optionally the port.
 43227  	//   - _dsName_ is the name of the Datastore.
 43228  	//   - _path_ is a slash-delimited path from the root of the datastore.
 43229  	//
 43230  	// A datastore path has the form
 43231  	// > \[_datastore_\] _path_
 43232  	//
 43233  	// where
 43234  	//   - _datastore_ is the datastore name.
 43235  	//   - _path_ is a slash-delimited path from the root of the datastore.
 43236  	//
 43237  	// An example datastore path is "\[storage\] path/to/file.extension".
 43238  	Name string `xml:"name" json:"name"`
 43239  }
 43240  
 43241  func init() {
 43242  	t["HostQueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*HostQueryVirtualDiskUuidRequestType)(nil)).Elem()
 43243  	minAPIVersionForType["HostQueryVirtualDiskUuidRequestType"] = "8.0.3.0"
 43244  }
 43245  
 43246  type HostQueryVirtualDiskUuidResponse struct {
 43247  	Returnval string `xml:"returnval" json:"returnval"`
 43248  }
 43249  
 43250  // This data object represents a Remote Direct Memory Access
 43251  // device as seen by the primary operating system.
 43252  type HostRdmaDevice struct {
 43253  	DynamicData
 43254  
 43255  	// The linkable identifier.
 43256  	Key string `xml:"key" json:"key"`
 43257  	// The device name of the RDMA device.
 43258  	Device string `xml:"device" json:"device"`
 43259  	// The short string name of the device driver, if available.
 43260  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 43261  	// Device description, if available.
 43262  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 43263  	// If set, represents the physical backing for the RDMA device.
 43264  	//
 43265  	// Not all RDMA devices are required to have a physical backing.
 43266  	Backing BaseHostRdmaDeviceBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 43267  	// Current device connection state.
 43268  	ConnectionInfo HostRdmaDeviceConnectionInfo `xml:"connectionInfo" json:"connectionInfo"`
 43269  	// Supported capabilies of the RDMA device.
 43270  	Capability HostRdmaDeviceCapability `xml:"capability" json:"capability"`
 43271  }
 43272  
 43273  func init() {
 43274  	t["HostRdmaDevice"] = reflect.TypeOf((*HostRdmaDevice)(nil)).Elem()
 43275  }
 43276  
 43277  // This data object represents the physical
 43278  // backing of an RDMA device.
 43279  type HostRdmaDeviceBacking struct {
 43280  	DynamicData
 43281  }
 43282  
 43283  func init() {
 43284  	t["HostRdmaDeviceBacking"] = reflect.TypeOf((*HostRdmaDeviceBacking)(nil)).Elem()
 43285  }
 43286  
 43287  // Represents device capabilies, e.g.
 43288  //
 43289  // supported protocols.
 43290  type HostRdmaDeviceCapability struct {
 43291  	DynamicData
 43292  
 43293  	// Indicates whether ROCEv1 is supported by the device.
 43294  	RoceV1Capable bool `xml:"roceV1Capable" json:"roceV1Capable"`
 43295  	// Indicates whether ROCEv2 is supported by the device.
 43296  	RoceV2Capable bool `xml:"roceV2Capable" json:"roceV2Capable"`
 43297  	// Indicates whether iWARP is supported by the device.
 43298  	IWarpCapable bool `xml:"iWarpCapable" json:"iWarpCapable"`
 43299  }
 43300  
 43301  func init() {
 43302  	t["HostRdmaDeviceCapability"] = reflect.TypeOf((*HostRdmaDeviceCapability)(nil)).Elem()
 43303  }
 43304  
 43305  // Represents connection information for the RDMA device.
 43306  type HostRdmaDeviceConnectionInfo struct {
 43307  	DynamicData
 43308  
 43309  	// RDMA device connection state.
 43310  	//
 43311  	// The set of possible values
 43312  	// is described in `HostRdmaDeviceConnectionState_enum`.
 43313  	State string `xml:"state" json:"state"`
 43314  	// Maximum Transmission Unit in bytes.
 43315  	Mtu int32 `xml:"mtu" json:"mtu"`
 43316  	// Bit rate in Mbps.
 43317  	SpeedInMbps int32 `xml:"speedInMbps" json:"speedInMbps"`
 43318  }
 43319  
 43320  func init() {
 43321  	t["HostRdmaDeviceConnectionInfo"] = reflect.TypeOf((*HostRdmaDeviceConnectionInfo)(nil)).Elem()
 43322  }
 43323  
 43324  // This data object represents a physical NIC backing
 43325  // for an RDMA device.
 43326  //
 43327  // When an RDMA device is backed by a physical NIC, it
 43328  // can be associated with the virtual NICs
 43329  // connected to a virtual switch which has the
 43330  // backing physical NIC as an uplink. The actual bindings
 43331  // are created and destroyed dynamically based on application
 43332  // usage of the RDMA device.
 43333  type HostRdmaDevicePnicBacking struct {
 43334  	HostRdmaDeviceBacking
 43335  
 43336  	// The associated physical NIC
 43337  	PairedUplink string `xml:"pairedUplink" json:"pairedUplink"`
 43338  }
 43339  
 43340  func init() {
 43341  	t["HostRdmaDevicePnicBacking"] = reflect.TypeOf((*HostRdmaDevicePnicBacking)(nil)).Elem()
 43342  }
 43343  
 43344  // This data object describes the Remote Direct Memory Access
 43345  // (RDMA) host bus adapter interface.
 43346  type HostRdmaHba struct {
 43347  	HostHostBusAdapter
 43348  
 43349  	// Device name of the associated RDMA device, if any.
 43350  	//
 43351  	// Should match the `HostRdmaDevice.device` property
 43352  	// of the corresponding RDMA device.
 43353  	AssociatedRdmaDevice string `xml:"associatedRdmaDevice,omitempty" json:"associatedRdmaDevice,omitempty"`
 43354  }
 43355  
 43356  func init() {
 43357  	t["HostRdmaHba"] = reflect.TypeOf((*HostRdmaHba)(nil)).Elem()
 43358  }
 43359  
 43360  // Remote Direct Memory Access (RDMA) transport
 43361  // information about a target.
 43362  type HostRdmaTargetTransport struct {
 43363  	HostTargetTransport
 43364  }
 43365  
 43366  func init() {
 43367  	t["HostRdmaTargetTransport"] = reflect.TypeOf((*HostRdmaTargetTransport)(nil)).Elem()
 43368  }
 43369  
 43370  // The parameters of `HostVStorageObjectManager.HostReconcileDatastoreInventory_Task`.
 43371  type HostReconcileDatastoreInventoryRequestType struct {
 43372  	This ManagedObjectReference `xml:"_this" json:"-"`
 43373  	// The datastore that needs to be reconciled.
 43374  	//
 43375  	// Refers instance of `Datastore`.
 43376  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43377  }
 43378  
 43379  func init() {
 43380  	t["HostReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostReconcileDatastoreInventoryRequestType)(nil)).Elem()
 43381  }
 43382  
 43383  type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType
 43384  
 43385  func init() {
 43386  	t["HostReconcileDatastoreInventory_Task"] = reflect.TypeOf((*HostReconcileDatastoreInventory_Task)(nil)).Elem()
 43387  }
 43388  
 43389  type HostReconcileDatastoreInventory_TaskResponse struct {
 43390  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 43391  }
 43392  
 43393  // This event records a failed attempt to re-establish a host connection.
 43394  type HostReconnectionFailedEvent struct {
 43395  	HostEvent
 43396  }
 43397  
 43398  func init() {
 43399  	t["HostReconnectionFailedEvent"] = reflect.TypeOf((*HostReconnectionFailedEvent)(nil)).Elem()
 43400  }
 43401  
 43402  type HostRegisterDisk HostRegisterDiskRequestType
 43403  
 43404  func init() {
 43405  	t["HostRegisterDisk"] = reflect.TypeOf((*HostRegisterDisk)(nil)).Elem()
 43406  }
 43407  
 43408  // The parameters of `HostVStorageObjectManager.HostRegisterDisk`.
 43409  type HostRegisterDiskRequestType struct {
 43410  	This ManagedObjectReference `xml:"_this" json:"-"`
 43411  	// URL or datastore path to the virtual disk.
 43412  	Path string `xml:"path" json:"path"`
 43413  	// The descriptive name of the disk object. If
 43414  	// unset the name will be automatically determined
 43415  	// from the path. @see vim.vslm.BaseConfigInfo#name
 43416  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 43417  	// Optional Parameter describing if the control Flags should be changed to default values
 43418  	ModifyControlFlags *bool `xml:"modifyControlFlags" json:"modifyControlFlags,omitempty" vim:"8.0.2.0"`
 43419  }
 43420  
 43421  func init() {
 43422  	t["HostRegisterDiskRequestType"] = reflect.TypeOf((*HostRegisterDiskRequestType)(nil)).Elem()
 43423  }
 43424  
 43425  type HostRegisterDiskResponse struct {
 43426  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 43427  }
 43428  
 43429  // Information about reliable memory installed on this host.
 43430  type HostReliableMemoryInfo struct {
 43431  	DynamicData
 43432  
 43433  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 43434  }
 43435  
 43436  func init() {
 43437  	t["HostReliableMemoryInfo"] = reflect.TypeOf((*HostReliableMemoryInfo)(nil)).Elem()
 43438  }
 43439  
 43440  // The parameters of `HostVStorageObjectManager.HostRelocateVStorageObject_Task`.
 43441  type HostRelocateVStorageObjectRequestType struct {
 43442  	This ManagedObjectReference `xml:"_this" json:"-"`
 43443  	// The ID of the virtual storage object.
 43444  	Id ID `xml:"id" json:"id"`
 43445  	// The datastore where the source virtual storage
 43446  	// object is located.
 43447  	//
 43448  	// Refers instance of `Datastore`.
 43449  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43450  	// The specification for relocation of the virtual
 43451  	// storage object.
 43452  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 43453  }
 43454  
 43455  func init() {
 43456  	t["HostRelocateVStorageObjectRequestType"] = reflect.TypeOf((*HostRelocateVStorageObjectRequestType)(nil)).Elem()
 43457  }
 43458  
 43459  type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType
 43460  
 43461  func init() {
 43462  	t["HostRelocateVStorageObject_Task"] = reflect.TypeOf((*HostRelocateVStorageObject_Task)(nil)).Elem()
 43463  }
 43464  
 43465  type HostRelocateVStorageObject_TaskResponse struct {
 43466  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 43467  }
 43468  
 43469  type HostRemoveVFlashResource HostRemoveVFlashResourceRequestType
 43470  
 43471  func init() {
 43472  	t["HostRemoveVFlashResource"] = reflect.TypeOf((*HostRemoveVFlashResource)(nil)).Elem()
 43473  }
 43474  
 43475  type HostRemoveVFlashResourceRequestType struct {
 43476  	This ManagedObjectReference `xml:"_this" json:"-"`
 43477  }
 43478  
 43479  func init() {
 43480  	t["HostRemoveVFlashResourceRequestType"] = reflect.TypeOf((*HostRemoveVFlashResourceRequestType)(nil)).Elem()
 43481  }
 43482  
 43483  type HostRemoveVFlashResourceResponse struct {
 43484  }
 43485  
 43486  // This event records the removal of a host from VirtualCenter.
 43487  type HostRemovedEvent struct {
 43488  	HostEvent
 43489  }
 43490  
 43491  func init() {
 43492  	t["HostRemovedEvent"] = reflect.TypeOf((*HostRemovedEvent)(nil)).Elem()
 43493  }
 43494  
 43495  type HostRenameVStorageObject HostRenameVStorageObjectRequestType
 43496  
 43497  func init() {
 43498  	t["HostRenameVStorageObject"] = reflect.TypeOf((*HostRenameVStorageObject)(nil)).Elem()
 43499  }
 43500  
 43501  // The parameters of `HostVStorageObjectManager.HostRenameVStorageObject`.
 43502  type HostRenameVStorageObjectRequestType struct {
 43503  	This ManagedObjectReference `xml:"_this" json:"-"`
 43504  	// The ID of the virtual storage object to be renamed.
 43505  	Id ID `xml:"id" json:"id"`
 43506  	// The datastore where the virtual storage object is
 43507  	// located.
 43508  	//
 43509  	// Refers instance of `Datastore`.
 43510  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43511  	// The new name for the virtual storage object.
 43512  	Name string `xml:"name" json:"name"`
 43513  }
 43514  
 43515  func init() {
 43516  	t["HostRenameVStorageObjectRequestType"] = reflect.TypeOf((*HostRenameVStorageObjectRequestType)(nil)).Elem()
 43517  }
 43518  
 43519  type HostRenameVStorageObjectResponse struct {
 43520  }
 43521  
 43522  // The `HostResignatureRescanResult` data object
 43523  // identifies the newly created volume that is the result of a
 43524  // resignature operation.
 43525  //
 43526  // This data object is contained in the
 43527  // task object returned by the
 43528  // `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`
 43529  // method.
 43530  //
 43531  // When a client calls the resignature method, the Server
 43532  // resignatures the volume, rescans the specified list of hosts,
 43533  // and auto-mounts the volume on the other hosts that share the same
 43534  // underlying storage LUNs.
 43535  type HostResignatureRescanResult struct {
 43536  	DynamicData
 43537  
 43538  	// Deprecated as of vSphere API 5.1, the results of the operation
 43539  	// are available when the task completes. That is, for shared volumes,
 43540  	// the new volume is mounted on all of the connected hosts.
 43541  	//
 43542  	// List of VMFS Rescan operation results.
 43543  	Rescan []HostVmfsRescanResult `xml:"rescan,omitempty" json:"rescan,omitempty"`
 43544  	// When an UnresolvedVmfsVolume has been resignatured, we want to return the
 43545  	// newly created VMFS Datastore.
 43546  	//
 43547  	// Refers instance of `Datastore`.
 43548  	Result ManagedObjectReference `xml:"result" json:"result"`
 43549  }
 43550  
 43551  func init() {
 43552  	t["HostResignatureRescanResult"] = reflect.TypeOf((*HostResignatureRescanResult)(nil)).Elem()
 43553  }
 43554  
 43555  type HostRetrieveVStorageInfrastructureObjectPolicy HostRetrieveVStorageInfrastructureObjectPolicyRequestType
 43556  
 43557  func init() {
 43558  	t["HostRetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 43559  }
 43560  
 43561  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageInfrastructureObjectPolicy`.
 43562  type HostRetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 43563  	This ManagedObjectReference `xml:"_this" json:"-"`
 43564  	// Datastore on which policy needs to be retrieved.
 43565  	//
 43566  	// Refers instance of `Datastore`.
 43567  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43568  }
 43569  
 43570  func init() {
 43571  	t["HostRetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 43572  }
 43573  
 43574  type HostRetrieveVStorageInfrastructureObjectPolicyResponse struct {
 43575  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 43576  }
 43577  
 43578  type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType
 43579  
 43580  func init() {
 43581  	t["HostRetrieveVStorageObject"] = reflect.TypeOf((*HostRetrieveVStorageObject)(nil)).Elem()
 43582  }
 43583  
 43584  type HostRetrieveVStorageObjectMetadata HostRetrieveVStorageObjectMetadataRequestType
 43585  
 43586  func init() {
 43587  	t["HostRetrieveVStorageObjectMetadata"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadata)(nil)).Elem()
 43588  }
 43589  
 43590  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadata`.
 43591  type HostRetrieveVStorageObjectMetadataRequestType struct {
 43592  	This ManagedObjectReference `xml:"_this" json:"-"`
 43593  	// The ID of the virtual storage object.
 43594  	Id ID `xml:"id" json:"id"`
 43595  	// The datastore to query for the virtual storage objects.
 43596  	//
 43597  	// Refers instance of `Datastore`.
 43598  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43599  	// The ID of the snapshot of virtual storage object.
 43600  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 43601  	// The prefix of the metadata key that needs to be retrieved
 43602  	Prefix string `xml:"prefix,omitempty" json:"prefix,omitempty"`
 43603  }
 43604  
 43605  func init() {
 43606  	t["HostRetrieveVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataRequestType)(nil)).Elem()
 43607  }
 43608  
 43609  type HostRetrieveVStorageObjectMetadataResponse struct {
 43610  	Returnval []KeyValue `xml:"returnval,omitempty" json:"returnval,omitempty"`
 43611  }
 43612  
 43613  type HostRetrieveVStorageObjectMetadataValue HostRetrieveVStorageObjectMetadataValueRequestType
 43614  
 43615  func init() {
 43616  	t["HostRetrieveVStorageObjectMetadataValue"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValue)(nil)).Elem()
 43617  }
 43618  
 43619  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadataValue`.
 43620  type HostRetrieveVStorageObjectMetadataValueRequestType struct {
 43621  	This ManagedObjectReference `xml:"_this" json:"-"`
 43622  	// The ID of the virtual storage object.
 43623  	Id ID `xml:"id" json:"id"`
 43624  	// The datastore to query for the virtual storage objects.
 43625  	//
 43626  	// Refers instance of `Datastore`.
 43627  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43628  	// The ID of the snapshot of virtual storage object.
 43629  	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
 43630  	// The key for the the virtual storage object
 43631  	Key string `xml:"key" json:"key"`
 43632  }
 43633  
 43634  func init() {
 43635  	t["HostRetrieveVStorageObjectMetadataValueRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValueRequestType)(nil)).Elem()
 43636  }
 43637  
 43638  type HostRetrieveVStorageObjectMetadataValueResponse struct {
 43639  	Returnval string `xml:"returnval" json:"returnval"`
 43640  }
 43641  
 43642  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObject`.
 43643  type HostRetrieveVStorageObjectRequestType struct {
 43644  	This ManagedObjectReference `xml:"_this" json:"-"`
 43645  	// The ID of the virtual storage object to be retrieved.
 43646  	Id ID `xml:"id" json:"id"`
 43647  	// The datastore where the virtual storage object is
 43648  	// located.
 43649  	//
 43650  	// Refers instance of `Datastore`.
 43651  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43652  	// Flags indicating the FCD information to be
 43653  	// retrieved. If diskInfoFlags is unset, then all FCD
 43654  	// information will be retrieved. See
 43655  	// `vslmDiskInfoFlag_enum` for the list of
 43656  	// supported values.
 43657  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 43658  }
 43659  
 43660  func init() {
 43661  	t["HostRetrieveVStorageObjectRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectRequestType)(nil)).Elem()
 43662  }
 43663  
 43664  type HostRetrieveVStorageObjectResponse struct {
 43665  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 43666  }
 43667  
 43668  type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType
 43669  
 43670  func init() {
 43671  	t["HostRetrieveVStorageObjectState"] = reflect.TypeOf((*HostRetrieveVStorageObjectState)(nil)).Elem()
 43672  }
 43673  
 43674  // The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectState`.
 43675  type HostRetrieveVStorageObjectStateRequestType struct {
 43676  	This ManagedObjectReference `xml:"_this" json:"-"`
 43677  	// The ID of the virtual storage object the state to be retrieved.
 43678  	Id ID `xml:"id" json:"id"`
 43679  	// The datastore where the virtual storage object is
 43680  	// located.
 43681  	//
 43682  	// Refers instance of `Datastore`.
 43683  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43684  }
 43685  
 43686  func init() {
 43687  	t["HostRetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectStateRequestType)(nil)).Elem()
 43688  }
 43689  
 43690  type HostRetrieveVStorageObjectStateResponse struct {
 43691  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 43692  }
 43693  
 43694  // This data object type describes the runtime state of a host.
 43695  type HostRuntimeInfo struct {
 43696  	DynamicData
 43697  
 43698  	// The host connection state.
 43699  	//
 43700  	// See the description in the enums for the
 43701  	// `ConnectionState` data object type.
 43702  	ConnectionState HostSystemConnectionState `xml:"connectionState" json:"connectionState"`
 43703  	// The host power state.
 43704  	//
 43705  	// See the description in the enums for the
 43706  	// `PowerState` data object type.
 43707  	PowerState HostSystemPowerState `xml:"powerState" json:"powerState"`
 43708  	// The host's standby mode.
 43709  	//
 43710  	// For valid values see
 43711  	// `HostStandbyMode_enum`. The property is only populated by
 43712  	// vCenter server. If queried directly from a ESX host, the property is
 43713  	// is unset.
 43714  	StandbyMode string `xml:"standbyMode,omitempty" json:"standbyMode,omitempty"`
 43715  	// The flag to indicate whether or not the host is in maintenance mode.
 43716  	//
 43717  	// This
 43718  	// flag is set when the host has entered the maintenance mode. It is not set
 43719  	// during the entering phase of maintenance mode.
 43720  	//
 43721  	// See also `HostSystem.EnterMaintenanceMode_Task`, `HostSystem.ExitMaintenanceMode_Task`.
 43722  	InMaintenanceMode bool `xml:"inMaintenanceMode" json:"inMaintenanceMode"`
 43723  	// The flag to indicate whether or not the host is in quarantine mode.
 43724  	//
 43725  	// InfraUpdateHa will recommend to set this flag based on the HealthUpdates
 43726  	// received by the HealthUpdateProviders configured for the cluster. A
 43727  	// host that is reported as degraded will be recommended to enter quarantine
 43728  	// mode, while a host that is reported as healthy will be recommended to
 43729  	// exit quarantine mode. Execution of these recommended actions will set
 43730  	// this flag. Hosts in quarantine mode will be avoided by vSphere DRS as
 43731  	// long as the increased consolidation in the cluster does not negatively
 43732  	// affect VM performance.
 43733  	//
 43734  	// See also `HealthUpdateManager`, `ClusterInfraUpdateHaConfigInfo`, `ClusterHostInfraUpdateHaModeAction`.
 43735  	InQuarantineMode *bool `xml:"inQuarantineMode" json:"inQuarantineMode,omitempty"`
 43736  	// The time when the host was booted.
 43737  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 43738  	// Available system health status
 43739  	HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty" json:"healthSystemRuntime,omitempty"`
 43740  	// The availability state of an active host in a vSphere HA enabled
 43741  	// cluster.
 43742  	//
 43743  	// A host is inactive if it is in maintenance or standby mode, or
 43744  	// it has been disconnected from vCenter Server. The active hosts in a cluster
 43745  	// form a vSphere HA fault domain.
 43746  	//
 43747  	// The property is unset if vSphere HA is disabled, the host is
 43748  	// in maintenance or standby mode, or the host is disconnected from
 43749  	// vCenter Server. The property is set to hostDown if the host has crashed.
 43750  	DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty" json:"dasHostState,omitempty"`
 43751  	// Deprecated as of @released("5.1") this information should be
 43752  	// considered to be neither complete nor reliable.
 43753  	//
 43754  	// The array of PCR digest values stored in the TPM device since the last
 43755  	// host boot time.
 43756  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty" json:"tpmPcrValues,omitempty"`
 43757  	// Host Runtime information related to the VSAN service.
 43758  	//
 43759  	// See also `VsanHostRuntimeInfo`.
 43760  	VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty" json:"vsanRuntimeInfo,omitempty"`
 43761  	// This property is for getting network related runtime info
 43762  	NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty" json:"networkRuntimeInfo,omitempty"`
 43763  	// Runtime information of vFlash resource of the host.
 43764  	VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty" json:"vFlashResourceRuntimeInfo,omitempty"`
 43765  	// The maximum theoretical virtual disk capacity supported by this host
 43766  	HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty" json:"hostMaxVirtualDiskCapacity,omitempty"`
 43767  	// Encryption state of the host.
 43768  	//
 43769  	// Valid values are enumerated by the
 43770  	// `CryptoState` type.
 43771  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty"`
 43772  	// Crypto Key used for coredump encryption
 43773  	CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty" json:"cryptoKeyId,omitempty"`
 43774  	// Indicating the host is ready for NVDS to VDS migration.
 43775  	//
 43776  	// See `HostRuntimeInfoStatelessNvdsMigrationState_enum` for supported values.
 43777  	StatelessNvdsMigrationReady string `xml:"statelessNvdsMigrationReady,omitempty" json:"statelessNvdsMigrationReady,omitempty" vim:"7.0.2.0"`
 43778  	// The following list contains the runtime status for all the partial
 43779  	// maintenance modes currently supported on the host.
 43780  	PartialMaintenanceMode []HostPartialMaintenanceModeRuntimeInfo `xml:"partialMaintenanceMode,omitempty" json:"partialMaintenanceMode,omitempty" vim:"8.0.3.0"`
 43781  	// Host persistent state encryption information.
 43782  	StateEncryption *HostRuntimeInfoStateEncryptionInfo `xml:"stateEncryption,omitempty" json:"stateEncryption,omitempty" vim:"7.0.3.0"`
 43783  }
 43784  
 43785  func init() {
 43786  	t["HostRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfo)(nil)).Elem()
 43787  }
 43788  
 43789  // This data type describes network stack instance runtime info
 43790  type HostRuntimeInfoNetStackInstanceRuntimeInfo struct {
 43791  	DynamicData
 43792  
 43793  	// Key of the instance
 43794  	NetStackInstanceKey string `xml:"netStackInstanceKey" json:"netStackInstanceKey"`
 43795  	// State of the instance
 43796  	// See `HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum` for valid values.
 43797  	State string `xml:"state,omitempty" json:"state,omitempty"`
 43798  	// The keys of vmknics that are using this stack
 43799  	VmknicKeys []string `xml:"vmknicKeys,omitempty" json:"vmknicKeys,omitempty"`
 43800  	// The maximum number of socket connections can be worked on this
 43801  	// instance currently after booting up.
 43802  	MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty" json:"maxNumberOfConnections,omitempty"`
 43803  	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
 43804  	CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled" json:"currentIpV6Enabled,omitempty"`
 43805  }
 43806  
 43807  func init() {
 43808  	t["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem()
 43809  }
 43810  
 43811  // This data type describes network related runtime info
 43812  type HostRuntimeInfoNetworkRuntimeInfo struct {
 43813  	DynamicData
 43814  
 43815  	// The list of network stack runtime info
 43816  	NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty" json:"netStackInstanceRuntimeInfo,omitempty"`
 43817  	// The network resource runtime information
 43818  	NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty" json:"networkResourceRuntime,omitempty"`
 43819  }
 43820  
 43821  func init() {
 43822  	t["HostRuntimeInfoNetworkRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetworkRuntimeInfo)(nil)).Elem()
 43823  }
 43824  
 43825  // This data type describes the host's persistent state encryption.
 43826  type HostRuntimeInfoStateEncryptionInfo struct {
 43827  	DynamicData
 43828  
 43829  	// The state encryption key protection mode.
 43830  	//
 43831  	// The host state is encrypted with a key that is protected using
 43832  	// one of the modes specified by `HostRuntimeInfoStateEncryptionInfoProtectionMode_enum`.
 43833  	ProtectionMode string `xml:"protectionMode" json:"protectionMode"`
 43834  	// Indicates if UEFI Secure Boot must be enabled in order for the
 43835  	// state encryption key to be accessible.
 43836  	RequireSecureBoot *bool `xml:"requireSecureBoot" json:"requireSecureBoot,omitempty"`
 43837  	// Indicates if the "execInstalledOnly" enforcement must be active
 43838  	// for the state encryption key to be accessible.
 43839  	RequireExecInstalledOnly *bool `xml:"requireExecInstalledOnly" json:"requireExecInstalledOnly,omitempty"`
 43840  }
 43841  
 43842  func init() {
 43843  	t["HostRuntimeInfoStateEncryptionInfo"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfo)(nil)).Elem()
 43844  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfo"] = "7.0.3.0"
 43845  }
 43846  
 43847  type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType
 43848  
 43849  func init() {
 43850  	t["HostScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventory)(nil)).Elem()
 43851  }
 43852  
 43853  // The parameters of `HostVStorageObjectManager.HostScheduleReconcileDatastoreInventory`.
 43854  type HostScheduleReconcileDatastoreInventoryRequestType struct {
 43855  	This ManagedObjectReference `xml:"_this" json:"-"`
 43856  	// The datastore that needs to be reconciled.
 43857  	//
 43858  	// Refers instance of `Datastore`.
 43859  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 43860  }
 43861  
 43862  func init() {
 43863  	t["HostScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 43864  }
 43865  
 43866  type HostScheduleReconcileDatastoreInventoryResponse struct {
 43867  }
 43868  
 43869  // This data object type describes a SCSI disk.
 43870  //
 43871  // A SCSI disk contains a
 43872  // partition table which can be changed.
 43873  // To change a SCSI disk, use the device name and the partition specification.
 43874  //
 43875  // See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 43876  type HostScsiDisk struct {
 43877  	ScsiLun
 43878  
 43879  	// The size of SCSI disk using the Logical Block Addressing scheme.
 43880  	Capacity HostDiskDimensionsLba `xml:"capacity" json:"capacity"`
 43881  	// The device path of the ScsiDisk.
 43882  	//
 43883  	// This device path is a file path
 43884  	// that can be opened to create partitions on the disk.
 43885  	//
 43886  	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
 43887  	DevicePath string `xml:"devicePath" json:"devicePath"`
 43888  	// Indicates whether the ScsiDisk is SSD backed.
 43889  	//
 43890  	// If unset, the information whether the ScsiDisk is SSD backed
 43891  	// is unknown.
 43892  	Ssd *bool `xml:"ssd" json:"ssd,omitempty"`
 43893  	// Indicates whether the ScsiDisk is local.
 43894  	//
 43895  	// If unset, the information whether the ScsiDisk is local is unknown.
 43896  	LocalDisk *bool `xml:"localDisk" json:"localDisk,omitempty"`
 43897  	// The physical location of the ScsiDisk if can be determined, otherwise
 43898  	// unset.
 43899  	//
 43900  	// If the ScsiDisk is a logical drive, it should be the
 43901  	// location of all constituent physical drives of the logical drive.
 43902  	// If the ScsiDisk is a physical drive, it's an array of one element.
 43903  	PhysicalLocation []string `xml:"physicalLocation,omitempty" json:"physicalLocation,omitempty"`
 43904  	// Indicates whether the ScsiDisk has emulated Data Integrity Extension
 43905  	// (DIX) / Data Integrity Field (DIF) enabled.
 43906  	//
 43907  	// If unset, the default value is false.
 43908  	EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled" json:"emulatedDIXDIFEnabled,omitempty"`
 43909  	// Indicates the additional VSAN information
 43910  	// if this disk is used by VSAN.
 43911  	VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty" json:"vsanDiskInfo,omitempty"`
 43912  	// The type of disk drives.
 43913  	//
 43914  	// See `ScsiDiskType_enum`
 43915  	// for definitions of supported types.
 43916  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty"`
 43917  	// Indicate whether the disk is used for
 43918  	// memory tiering or not.
 43919  	//
 43920  	// If unset, the default value is false.
 43921  	UsedByMemoryTiering *bool `xml:"usedByMemoryTiering" json:"usedByMemoryTiering,omitempty" vim:"8.0.3.0"`
 43922  }
 43923  
 43924  func init() {
 43925  	t["HostScsiDisk"] = reflect.TypeOf((*HostScsiDisk)(nil)).Elem()
 43926  }
 43927  
 43928  // This data object type describes the specification of a Disk partition.
 43929  type HostScsiDiskPartition struct {
 43930  	DynamicData
 43931  
 43932  	// The SCSI disk device on which a VMware File System (VMFS)
 43933  	// extent resides.
 43934  	//
 43935  	// See also `HostScsiDisk`, `ScsiLun.canonicalName`.
 43936  	DiskName string `xml:"diskName" json:"diskName"`
 43937  	// The partition number of the partition on the ScsiDisk.
 43938  	Partition int32 `xml:"partition" json:"partition"`
 43939  }
 43940  
 43941  func init() {
 43942  	t["HostScsiDiskPartition"] = reflect.TypeOf((*HostScsiDiskPartition)(nil)).Elem()
 43943  }
 43944  
 43945  // This data object type describes the SCSI topology information.
 43946  //
 43947  // The
 43948  // data objects in this data object type model the
 43949  // SCSI storage objects from a topological point of view. The SCSI topological
 43950  // view organizes objects by SCSI interface, which contain targets, which in
 43951  // turn contain logical units.
 43952  //
 43953  // SCSI Topology information is not guaranteed to exhaustively enumerate all
 43954  // storage devices on the system. It only shows storage devices that are
 43955  // actually enumerable from a host bus adapter. This means that only storage
 43956  // devices that are composed from one or more paths, which are in turn provided
 43957  // by a host bus adapter, will appear in this inventory.
 43958  //
 43959  // Storage devices provided by the native multipathing plugin (NMP) will always
 43960  // be represented in this inventory since NMP uses a simple policy to create
 43961  // devices out of the paths it claims.
 43962  //
 43963  // Examples of storage devices that will not appear in this inventory are
 43964  // logical devices that are not formed from directly claiming paths. Specific
 43965  // examples of devices that will not appear in this inventory include a device
 43966  // backed by a ramdisk or formed from a software RAID plugin.
 43967  //
 43968  // Legacy note: In hosts where `HostPlugStoreTopology` is not
 43969  // defined or does not exist on the `HostStorageDeviceInfo` object,
 43970  // only native multipathing exists. That means for these hosts, the
 43971  // ScsiTopology object contains the complete set of LUNs and targets
 43972  // available on the host.
 43973  type HostScsiTopology struct {
 43974  	DynamicData
 43975  
 43976  	// The list of SCSI interfaces.
 43977  	Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
 43978  }
 43979  
 43980  func init() {
 43981  	t["HostScsiTopology"] = reflect.TypeOf((*HostScsiTopology)(nil)).Elem()
 43982  }
 43983  
 43984  // This data object type describes the SCSI interface that is associated
 43985  // with a list of targets.
 43986  type HostScsiTopologyInterface struct {
 43987  	DynamicData
 43988  
 43989  	// The identifier for the SCSI interface
 43990  	Key string `xml:"key" json:"key"`
 43991  	// The link to data for this SCSI interface.
 43992  	Adapter string `xml:"adapter" json:"adapter"`
 43993  	// The list of targets to which the SCSI interface is associated.
 43994  	Target []HostScsiTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
 43995  }
 43996  
 43997  func init() {
 43998  	t["HostScsiTopologyInterface"] = reflect.TypeOf((*HostScsiTopologyInterface)(nil)).Elem()
 43999  }
 44000  
 44001  // This data object type describes the SCSI logical unit.
 44002  type HostScsiTopologyLun struct {
 44003  	DynamicData
 44004  
 44005  	// The identifier for the SCSI Lun
 44006  	Key string `xml:"key" json:"key"`
 44007  	// The logical unit number of the SCSI logical unit.
 44008  	Lun int32 `xml:"lun" json:"lun"`
 44009  	// The link to data for this SCSI logical unit.
 44010  	ScsiLun string `xml:"scsiLun" json:"scsiLun"`
 44011  }
 44012  
 44013  func init() {
 44014  	t["HostScsiTopologyLun"] = reflect.TypeOf((*HostScsiTopologyLun)(nil)).Elem()
 44015  }
 44016  
 44017  // This data object type describes the SCSI target that is associated
 44018  // with a list of logical units.
 44019  type HostScsiTopologyTarget struct {
 44020  	DynamicData
 44021  
 44022  	// The identifier for the SCSI target
 44023  	Key string `xml:"key" json:"key"`
 44024  	// The target identifier.
 44025  	Target int32 `xml:"target" json:"target"`
 44026  	// The list of SCSI logical units with which a target is associated.
 44027  	Lun []HostScsiTopologyLun `xml:"lun,omitempty" json:"lun,omitempty"`
 44028  	// SCSI Transport information about the target.
 44029  	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
 44030  }
 44031  
 44032  func init() {
 44033  	t["HostScsiTopologyTarget"] = reflect.TypeOf((*HostScsiTopologyTarget)(nil)).Elem()
 44034  }
 44035  
 44036  // DataObject used for configuring the Security settings
 44037  type HostSecuritySpec struct {
 44038  	DynamicData
 44039  
 44040  	// Administrator password to configure
 44041  	AdminPassword string `xml:"adminPassword,omitempty" json:"adminPassword,omitempty"`
 44042  	// Permissions to remove
 44043  	RemovePermission []Permission `xml:"removePermission,omitempty" json:"removePermission,omitempty"`
 44044  	// Permissions to add
 44045  	AddPermission []Permission `xml:"addPermission,omitempty" json:"addPermission,omitempty"`
 44046  }
 44047  
 44048  func init() {
 44049  	t["HostSecuritySpec"] = reflect.TypeOf((*HostSecuritySpec)(nil)).Elem()
 44050  }
 44051  
 44052  // The data object type describes the
 44053  // Serial Attached Scsi(SAS) interface.
 44054  type HostSerialAttachedHba struct {
 44055  	HostHostBusAdapter
 44056  
 44057  	// The world wide node name for the adapter.
 44058  	NodeWorldWideName string `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
 44059  }
 44060  
 44061  func init() {
 44062  	t["HostSerialAttachedHba"] = reflect.TypeOf((*HostSerialAttachedHba)(nil)).Elem()
 44063  }
 44064  
 44065  // Serial attached adapter transport information about a SCSI target.
 44066  type HostSerialAttachedTargetTransport struct {
 44067  	HostTargetTransport
 44068  }
 44069  
 44070  func init() {
 44071  	t["HostSerialAttachedTargetTransport"] = reflect.TypeOf((*HostSerialAttachedTargetTransport)(nil)).Elem()
 44072  }
 44073  
 44074  // Data object that describes a single service that runs on the host.
 44075  type HostService struct {
 44076  	DynamicData
 44077  
 44078  	// Brief identifier for the service.
 44079  	Key string `xml:"key" json:"key"`
 44080  	// Display label for the service.
 44081  	Label string `xml:"label" json:"label"`
 44082  	// Flag indicating whether the service is required and cannot be disabled.
 44083  	Required bool `xml:"required" json:"required"`
 44084  	// Deprecated this flag is unimplemented and will always be set to false.
 44085  	//
 44086  	// Flag indicating whether the service can be uninstalled.
 44087  	Uninstallable bool `xml:"uninstallable" json:"uninstallable"`
 44088  	// Flag indicating whether the service is currently running.
 44089  	Running bool `xml:"running" json:"running"`
 44090  	// List of firewall rulesets used by this service.
 44091  	//
 44092  	// Must come from the
 44093  	// list of rulesets in `HostFirewallInfo.ruleset`.
 44094  	Ruleset []string `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
 44095  	// Service activation policy.
 44096  	//
 44097  	// See also `HostServicePolicy_enum`.
 44098  	Policy string `xml:"policy" json:"policy"`
 44099  	// The source package associated with the service
 44100  	SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty" json:"sourcePackage,omitempty"`
 44101  }
 44102  
 44103  func init() {
 44104  	t["HostService"] = reflect.TypeOf((*HostService)(nil)).Elem()
 44105  }
 44106  
 44107  // DataObject representing configuration for a particular
 44108  // service.
 44109  type HostServiceConfig struct {
 44110  	DynamicData
 44111  
 44112  	// Key of the service to configure.
 44113  	ServiceId string `xml:"serviceId" json:"serviceId"`
 44114  	// Startup policy which defines how the service be configured.
 44115  	//
 44116  	// See @link Service.Policy for possible values.
 44117  	StartupPolicy string `xml:"startupPolicy" json:"startupPolicy"`
 44118  }
 44119  
 44120  func init() {
 44121  	t["HostServiceConfig"] = reflect.TypeOf((*HostServiceConfig)(nil)).Elem()
 44122  }
 44123  
 44124  // Data object describing the host service configuration.
 44125  type HostServiceInfo struct {
 44126  	DynamicData
 44127  
 44128  	// List of configured services.
 44129  	Service []HostService `xml:"service,omitempty" json:"service,omitempty"`
 44130  }
 44131  
 44132  func init() {
 44133  	t["HostServiceInfo"] = reflect.TypeOf((*HostServiceInfo)(nil)).Elem()
 44134  }
 44135  
 44136  type HostServiceSourcePackage struct {
 44137  	DynamicData
 44138  
 44139  	// The name of the source package
 44140  	SourcePackageName string `xml:"sourcePackageName" json:"sourcePackageName"`
 44141  	// The description of the source package
 44142  	Description string `xml:"description" json:"description"`
 44143  }
 44144  
 44145  func init() {
 44146  	t["HostServiceSourcePackage"] = reflect.TypeOf((*HostServiceSourcePackage)(nil)).Elem()
 44147  }
 44148  
 44149  // Return value for ticketable host services.
 44150  //
 44151  // The server has the option to
 44152  // provide a hostname and port for a future ticket-authenticated connection to
 44153  // a service on a host. If the service provider does not return a host the
 44154  // client must connect to the same host it used to request the ticket. In case
 44155  // the service provider does not return a port, except in the case of connecting
 44156  // to CIM interfaces, the client must connect using the same port it used to
 44157  // request the ticket. In the case of connecting to a CIM interface the
 44158  // standard well known port number for the particular service will be used for
 44159  // the connection.
 44160  //
 44161  // For example, when a client requests a ticket from an ESX Server, the returned ticket
 44162  // may omit the optional host and port. In such a case, the client establishes an
 44163  // out-of-band ticketed connection to the same server host and on the same port on
 44164  // which it made the connection to request the ticket. If this request is
 44165  // made to the VirtualCenter server, but the server does not provide the required
 44166  // service directly, then the server provides a hostname and port for a server that
 44167  // accepts the ticketed connection and provides the service.
 44168  type HostServiceTicket struct {
 44169  	DynamicData
 44170  
 44171  	// The name of the host providing the service for which the ticket applies.
 44172  	//
 44173  	// If
 44174  	// omitted, then the client uses the host name for the server that issued the ticket.
 44175  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 44176  	// Access to some services is made possible by connecting to a port on a
 44177  	// server.
 44178  	//
 44179  	// If the service for which a ticket is issued is available on a
 44180  	// particular port, that port number is specified with this property. If
 44181  	// omitted, except in the case of connecting to CIM interfaces, the port
 44182  	// number for the service that issued the ticket is used. In the case of
 44183  	// connecting to a CIM interface the standard well known port for the
 44184  	// particular service will be used for the connection.
 44185  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 44186  	// The expected thumbprint of the SSL cert of the host to which
 44187  	// we are connecting.
 44188  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 44189  	// The name of the service to which to connect.
 44190  	Service string `xml:"service" json:"service"`
 44191  	// A dot-separated string identifying the service protocol version.
 44192  	//
 44193  	// For example, 1.0
 44194  	// is used for NFC hosted by vpxa on ESX 2.5, and 1.1 is used for
 44195  	// NFC hosted by hostd on ESX 3.0.
 44196  	ServiceVersion string `xml:"serviceVersion" json:"serviceVersion"`
 44197  	// An identifying string for the session created for the ticketed connection.
 44198  	//
 44199  	// This
 44200  	// is used by the host service to identify the operations permitted within the
 44201  	// session.
 44202  	SessionId string `xml:"sessionId" json:"sessionId"`
 44203  }
 44204  
 44205  func init() {
 44206  	t["HostServiceTicket"] = reflect.TypeOf((*HostServiceTicket)(nil)).Elem()
 44207  }
 44208  
 44209  type HostSetVStorageObjectControlFlags HostSetVStorageObjectControlFlagsRequestType
 44210  
 44211  func init() {
 44212  	t["HostSetVStorageObjectControlFlags"] = reflect.TypeOf((*HostSetVStorageObjectControlFlags)(nil)).Elem()
 44213  }
 44214  
 44215  // The parameters of `HostVStorageObjectManager.HostSetVStorageObjectControlFlags`.
 44216  type HostSetVStorageObjectControlFlagsRequestType struct {
 44217  	This ManagedObjectReference `xml:"_this" json:"-"`
 44218  	// The ID of the virtual storage object.
 44219  	Id ID `xml:"id" json:"id"`
 44220  	// The datastore where the source virtual storage
 44221  	// object is located.
 44222  	//
 44223  	// Required privileges: Datastore.FileManagement
 44224  	//
 44225  	// Refers instance of `Datastore`.
 44226  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 44227  	// control flags enum array to be set on the
 44228  	// VStorageObject. All control flags not included
 44229  	// in the array remain intact.
 44230  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 44231  }
 44232  
 44233  func init() {
 44234  	t["HostSetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostSetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 44235  }
 44236  
 44237  type HostSetVStorageObjectControlFlagsResponse struct {
 44238  }
 44239  
 44240  // The parameters of `HostVStorageObjectManager.HostSetVirtualDiskUuid_Task`.
 44241  type HostSetVirtualDiskUuidRequestType struct {
 44242  	This ManagedObjectReference `xml:"_this" json:"-"`
 44243  	// The name of the disk, either a datastore path or a URL
 44244  	// referring to the virtual disk whose uuid for the DDB entry needs to be set.
 44245  	// A URL has the form
 44246  	// > _scheme_://_authority_/folder/_path_?dsName=_dsName_
 44247  	//
 44248  	// where
 44249  	//   - _scheme_ is <code>http</code> or <code>https</code>.
 44250  	//   - _authority_ specifies the hostname or IP address of the VirtualCenter or
 44251  	//     ESX server and optionally the port.
 44252  	//   - _dsName_ is the name of the Datastore.
 44253  	//   - _path_ is a slash-delimited path from the root of the datastore.
 44254  	//
 44255  	// A datastore path has the form
 44256  	// > \[_datastore_\] _path_
 44257  	//
 44258  	// where
 44259  	//   - _datastore_ is the datastore name.
 44260  	//   - _path_ is a slash-delimited path from the root of the datastore.
 44261  	//
 44262  	// An example datastore path is "\[storage\] path/to/file.extension".
 44263  	Name string `xml:"name" json:"name"`
 44264  	// The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,
 44265  	// a random UUID is generated and assigned.
 44266  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 44267  }
 44268  
 44269  func init() {
 44270  	t["HostSetVirtualDiskUuidRequestType"] = reflect.TypeOf((*HostSetVirtualDiskUuidRequestType)(nil)).Elem()
 44271  	minAPIVersionForType["HostSetVirtualDiskUuidRequestType"] = "8.0.3.0"
 44272  }
 44273  
 44274  type HostSetVirtualDiskUuid_Task HostSetVirtualDiskUuidRequestType
 44275  
 44276  func init() {
 44277  	t["HostSetVirtualDiskUuid_Task"] = reflect.TypeOf((*HostSetVirtualDiskUuid_Task)(nil)).Elem()
 44278  }
 44279  
 44280  type HostSetVirtualDiskUuid_TaskResponse struct {
 44281  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 44282  }
 44283  
 44284  type HostSevInfo struct {
 44285  	DynamicData
 44286  
 44287  	// State of SEV on the host.
 44288  	//
 44289  	// The set of supported values are described
 44290  	// in `HostSevInfoSevState_enum`.
 44291  	SevState string `xml:"sevState" json:"sevState"`
 44292  	// The maximum number of SEV-ES and SEV-SNP guests supported on this host.
 44293  	MaxSevEsGuests int64 `xml:"maxSevEsGuests" json:"maxSevEsGuests"`
 44294  }
 44295  
 44296  func init() {
 44297  	t["HostSevInfo"] = reflect.TypeOf((*HostSevInfo)(nil)).Elem()
 44298  	minAPIVersionForType["HostSevInfo"] = "7.0.1.0"
 44299  }
 44300  
 44301  // Data object describing the Software Guard Extension (SGX)
 44302  // configuration on the ESXi host.
 44303  type HostSgxInfo struct {
 44304  	DynamicData
 44305  
 44306  	// SGX state of the host.
 44307  	//
 44308  	// The set of supported values are described
 44309  	// in `HostSgxInfoSgxStates_enum`.
 44310  	SgxState string `xml:"sgxState" json:"sgxState"`
 44311  	// Size of physical EPC in bytes.
 44312  	TotalEpcMemory int64 `xml:"totalEpcMemory" json:"totalEpcMemory"`
 44313  	// FLC mode of the host.
 44314  	//
 44315  	// The set of supported values are
 44316  	// described in `HostSgxInfoFlcModes_enum`.
 44317  	FlcMode string `xml:"flcMode" json:"flcMode"`
 44318  	// Public key hash of the provider launch enclave.
 44319  	//
 44320  	// This is the SHA256
 44321  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 44322  	// enclave. This attribute is set only if attribute flcMode is
 44323  	// locked.
 44324  	LePubKeyHash     string                   `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 44325  	RegistrationInfo *HostSgxRegistrationInfo `xml:"registrationInfo,omitempty" json:"registrationInfo,omitempty" vim:"8.0.0.1"`
 44326  }
 44327  
 44328  func init() {
 44329  	t["HostSgxInfo"] = reflect.TypeOf((*HostSgxInfo)(nil)).Elem()
 44330  }
 44331  
 44332  // Data object describing SGX host registration information.
 44333  type HostSgxRegistrationInfo struct {
 44334  	DynamicData
 44335  
 44336  	// SGX host registration status.
 44337  	//
 44338  	// Valid values come from `HostSgxRegistrationInfoRegistrationStatus_enum` enum.
 44339  	// Set, except in case of an internal error.
 44340  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 44341  	// BIOS error related to SGX host registration.
 44342  	//
 44343  	// Set only if SGX registration status is incomplete.
 44344  	BiosError int32 `xml:"biosError,omitempty" json:"biosError,omitempty"`
 44345  	// SGX host registration URL.
 44346  	//
 44347  	// Unset if SGX registration status is not applicable
 44348  	// or in case of an internal error.
 44349  	RegistrationUrl string `xml:"registrationUrl,omitempty" json:"registrationUrl,omitempty"`
 44350  	// SGX host registration type.
 44351  	//
 44352  	// Valid values come from `HostSgxRegistrationInfoRegistrationType_enum` enum.
 44353  	// Unset if SGX registration status is not applicable,
 44354  	// complete, or in case of an internal error.
 44355  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 44356  	// Platform Provisioning ID (PPID).
 44357  	//
 44358  	// Hex-encoded representation of the the PPID
 44359  	// (Platform Provisioning ID), returned as the response
 44360  	// to a successful registration request. This field
 44361  	// is populated only on the vCenter through which
 44362  	// the host has been registered.
 44363  	Ppid string `xml:"ppid,omitempty" json:"ppid,omitempty"`
 44364  	// Timestamp of last successful registration
 44365  	// from this vCenter.
 44366  	LastRegisteredTime *time.Time `xml:"lastRegisteredTime" json:"lastRegisteredTime,omitempty"`
 44367  }
 44368  
 44369  func init() {
 44370  	t["HostSgxRegistrationInfo"] = reflect.TypeOf((*HostSgxRegistrationInfo)(nil)).Elem()
 44371  	minAPIVersionForType["HostSgxRegistrationInfo"] = "8.0.0.1"
 44372  }
 44373  
 44374  // Capability vector indicating the available shared graphics features.
 44375  type HostSharedGpuCapabilities struct {
 44376  	DynamicData
 44377  
 44378  	// Name of a particular VGPU available as a shared GPU device.
 44379  	//
 44380  	// See also `VirtualMachinePciSharedGpuPassthroughInfo`.
 44381  	Vgpu string `xml:"vgpu" json:"vgpu"`
 44382  	// Indicates whether the GPU plugin on this host is capable of
 44383  	// disk-only snapshots when VM is not powered off.
 44384  	//
 44385  	// Disk Snaphosts
 44386  	// on powered off VM are always supported.
 44387  	DiskSnapshotSupported bool `xml:"diskSnapshotSupported" json:"diskSnapshotSupported"`
 44388  	// Indicates whether the GPU plugin on this host is capable of
 44389  	// memory snapshots.
 44390  	MemorySnapshotSupported bool `xml:"memorySnapshotSupported" json:"memorySnapshotSupported"`
 44391  	// Indicates whether the GPU plugin on this host is capable of
 44392  	// suspend-resume.
 44393  	SuspendSupported bool `xml:"suspendSupported" json:"suspendSupported"`
 44394  	// Indicates whether the GPU plugin on this host is capable of
 44395  	// migration.
 44396  	MigrateSupported bool `xml:"migrateSupported" json:"migrateSupported"`
 44397  }
 44398  
 44399  func init() {
 44400  	t["HostSharedGpuCapabilities"] = reflect.TypeOf((*HostSharedGpuCapabilities)(nil)).Elem()
 44401  }
 44402  
 44403  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 44404  //
 44405  // This event records that host name resolution returned different names on
 44406  // the host.
 44407  //
 44408  // Please check your host's network configuration and your DNS
 44409  // configuration. There may be duplicate entries.
 44410  type HostShortNameInconsistentEvent struct {
 44411  	HostDasEvent
 44412  
 44413  	ShortName  string `xml:"shortName" json:"shortName"`
 44414  	ShortName2 string `xml:"shortName2" json:"shortName2"`
 44415  }
 44416  
 44417  func init() {
 44418  	t["HostShortNameInconsistentEvent"] = reflect.TypeOf((*HostShortNameInconsistentEvent)(nil)).Elem()
 44419  }
 44420  
 44421  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 44422  //
 44423  // This event records that the host's short name could not be resolved to an IP address.
 44424  type HostShortNameToIpFailedEvent struct {
 44425  	HostEvent
 44426  
 44427  	ShortName string `xml:"shortName" json:"shortName"`
 44428  }
 44429  
 44430  func init() {
 44431  	t["HostShortNameToIpFailedEvent"] = reflect.TypeOf((*HostShortNameToIpFailedEvent)(nil)).Elem()
 44432  }
 44433  
 44434  // This event records the shutdown of a host.
 44435  type HostShutdownEvent struct {
 44436  	HostEvent
 44437  
 44438  	// The reason for the host shutdown.
 44439  	Reason string `xml:"reason" json:"reason"`
 44440  }
 44441  
 44442  func init() {
 44443  	t["HostShutdownEvent"] = reflect.TypeOf((*HostShutdownEvent)(nil)).Elem()
 44444  }
 44445  
 44446  type HostSnmpConfigSpec struct {
 44447  	DynamicData
 44448  
 44449  	Enabled             *bool                 `xml:"enabled" json:"enabled,omitempty"`
 44450  	Port                int32                 `xml:"port,omitempty" json:"port,omitempty"`
 44451  	ReadOnlyCommunities []string              `xml:"readOnlyCommunities,omitempty" json:"readOnlyCommunities,omitempty"`
 44452  	TrapTargets         []HostSnmpDestination `xml:"trapTargets,omitempty" json:"trapTargets,omitempty"`
 44453  	Option              []KeyValue            `xml:"option,omitempty" json:"option,omitempty"`
 44454  }
 44455  
 44456  func init() {
 44457  	t["HostSnmpConfigSpec"] = reflect.TypeOf((*HostSnmpConfigSpec)(nil)).Elem()
 44458  }
 44459  
 44460  // Defines a receiver for SNMP Notifications
 44461  type HostSnmpDestination struct {
 44462  	DynamicData
 44463  
 44464  	// A system listening for SNMP notifications.
 44465  	//
 44466  	// These must be a IPv4 unicast address or resolvable dns name.
 44467  	HostName string `xml:"hostName" json:"hostName"`
 44468  	// UDP port to Notification receiver is listening on.
 44469  	//
 44470  	// udp/162 is
 44471  	// the reserved port
 44472  	Port      int32  `xml:"port" json:"port"`
 44473  	Community string `xml:"community" json:"community"`
 44474  }
 44475  
 44476  func init() {
 44477  	t["HostSnmpDestination"] = reflect.TypeOf((*HostSnmpDestination)(nil)).Elem()
 44478  }
 44479  
 44480  type HostSnmpSystemAgentLimits struct {
 44481  	DynamicData
 44482  
 44483  	// number of allowed communities
 44484  	MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities" json:"maxReadOnlyCommunities"`
 44485  	// number of allowed destinations for notifications
 44486  	MaxTrapDestinations int32 `xml:"maxTrapDestinations" json:"maxTrapDestinations"`
 44487  	// Max length of community
 44488  	MaxCommunityLength int32 `xml:"maxCommunityLength" json:"maxCommunityLength"`
 44489  	// SNMP input buffer size
 44490  	MaxBufferSize int32 `xml:"maxBufferSize" json:"maxBufferSize"`
 44491  	// Supported Capability for this agent
 44492  	Capability HostSnmpAgentCapability `xml:"capability,omitempty" json:"capability,omitempty"`
 44493  }
 44494  
 44495  func init() {
 44496  	t["HostSnmpSystemAgentLimits"] = reflect.TypeOf((*HostSnmpSystemAgentLimits)(nil)).Elem()
 44497  }
 44498  
 44499  type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType
 44500  
 44501  func init() {
 44502  	t["HostSpecGetUpdatedHosts"] = reflect.TypeOf((*HostSpecGetUpdatedHosts)(nil)).Elem()
 44503  }
 44504  
 44505  // The parameters of `HostSpecificationManager.HostSpecGetUpdatedHosts`.
 44506  type HostSpecGetUpdatedHostsRequestType struct {
 44507  	This ManagedObjectReference `xml:"_this" json:"-"`
 44508  	// The beginning of the time period.
 44509  	StartChangeID string `xml:"startChangeID,omitempty" json:"startChangeID,omitempty"`
 44510  	// The ending of the time period.
 44511  	EndChangeID string `xml:"endChangeID,omitempty" json:"endChangeID,omitempty"`
 44512  }
 44513  
 44514  func init() {
 44515  	t["HostSpecGetUpdatedHostsRequestType"] = reflect.TypeOf((*HostSpecGetUpdatedHostsRequestType)(nil)).Elem()
 44516  }
 44517  
 44518  type HostSpecGetUpdatedHostsResponse struct {
 44519  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 44520  }
 44521  
 44522  // The host specification data are those needed at host boot time to create and
 44523  // configure virtual devices and host services.
 44524  //
 44525  // The `HostSpecification` data object contains a collection of host sub
 44526  // specification data.
 44527  // For host sub specification data, see
 44528  // `HostSubSpecification`
 44529  // for details.
 44530  type HostSpecification struct {
 44531  	DynamicData
 44532  
 44533  	// Time at which the host specification was created.
 44534  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 44535  	// Time at which the host specification was last modified.
 44536  	//
 44537  	// If it isn't set,
 44538  	// it is the same as <code>createdTime</code>.
 44539  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 44540  	// The host that the spec data belongs to.
 44541  	//
 44542  	// Refers instance of `HostSystem`.
 44543  	Host ManagedObjectReference `xml:"host" json:"host"`
 44544  	// The collection of the host sub specifications.
 44545  	//
 44546  	// It is optional.
 44547  	SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty" json:"subSpecs,omitempty"`
 44548  	// The change ID for querying the host specification data updated in a
 44549  	// time period.
 44550  	//
 44551  	// It has a format of timestamp:change\_number, where
 44552  	// timestamp is the decimal string of a start time, and change\_number is
 44553  	// the decimal string of an auto incremented variable counting from the
 44554  	// start time.
 44555  	ChangeID string `xml:"changeID,omitempty" json:"changeID,omitempty"`
 44556  }
 44557  
 44558  func init() {
 44559  	t["HostSpecification"] = reflect.TypeOf((*HostSpecification)(nil)).Elem()
 44560  }
 44561  
 44562  // This event records that the host specification was changed.
 44563  type HostSpecificationChangedEvent struct {
 44564  	HostEvent
 44565  }
 44566  
 44567  func init() {
 44568  	t["HostSpecificationChangedEvent"] = reflect.TypeOf((*HostSpecificationChangedEvent)(nil)).Elem()
 44569  }
 44570  
 44571  // Fault thrown when an operation, on host specification or host sub
 44572  // specification for a host, failed.
 44573  type HostSpecificationOperationFailed struct {
 44574  	VimFault
 44575  
 44576  	// The host on which host specification operation failed.
 44577  	//
 44578  	// Refers instance of `HostSystem`.
 44579  	Host ManagedObjectReference `xml:"host" json:"host"`
 44580  }
 44581  
 44582  func init() {
 44583  	t["HostSpecificationOperationFailed"] = reflect.TypeOf((*HostSpecificationOperationFailed)(nil)).Elem()
 44584  }
 44585  
 44586  type HostSpecificationOperationFailedFault HostSpecificationOperationFailed
 44587  
 44588  func init() {
 44589  	t["HostSpecificationOperationFailedFault"] = reflect.TypeOf((*HostSpecificationOperationFailedFault)(nil)).Elem()
 44590  }
 44591  
 44592  // This event is issued to that the host specification should be updated.
 44593  type HostSpecificationRequireEvent struct {
 44594  	HostEvent
 44595  }
 44596  
 44597  func init() {
 44598  	t["HostSpecificationRequireEvent"] = reflect.TypeOf((*HostSpecificationRequireEvent)(nil)).Elem()
 44599  }
 44600  
 44601  // This event suggests that update the host specification with the
 44602  // encapsulated copy.
 44603  type HostSpecificationUpdateEvent struct {
 44604  	HostEvent
 44605  
 44606  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 44607  }
 44608  
 44609  func init() {
 44610  	t["HostSpecificationUpdateEvent"] = reflect.TypeOf((*HostSpecificationUpdateEvent)(nil)).Elem()
 44611  }
 44612  
 44613  // This data object allows configuration of SR-IOV device.
 44614  type HostSriovConfig struct {
 44615  	HostPciPassthruConfig
 44616  
 44617  	// enable SR-IOV for this device
 44618  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 44619  	// Number of SR-IOV virtual functions to enable on this device
 44620  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 44621  }
 44622  
 44623  func init() {
 44624  	t["HostSriovConfig"] = reflect.TypeOf((*HostSriovConfig)(nil)).Elem()
 44625  }
 44626  
 44627  type HostSriovDevicePoolInfo struct {
 44628  	DynamicData
 44629  
 44630  	Key string `xml:"key" json:"key"`
 44631  }
 44632  
 44633  func init() {
 44634  	t["HostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem()
 44635  }
 44636  
 44637  // This data object provides information about the state of SR-IOV device.
 44638  type HostSriovInfo struct {
 44639  	HostPciPassthruInfo
 44640  
 44641  	// Whether SRIOV has been enabled by the user
 44642  	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
 44643  	// Whether SRIOV is possible for this device
 44644  	SriovCapable bool `xml:"sriovCapable" json:"sriovCapable"`
 44645  	// Whether SRIOV is active for this device (meaning enabled + rebooted)
 44646  	SriovActive bool `xml:"sriovActive" json:"sriovActive"`
 44647  	// Number of SRIOV virtual functions requested for this device
 44648  	NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested" json:"numVirtualFunctionRequested"`
 44649  	// Number of SRIOV virtual functions present on this device
 44650  	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
 44651  	// Maximum number of SRIOV virtual functions supported on this device
 44652  	MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported" json:"maxVirtualFunctionSupported"`
 44653  }
 44654  
 44655  func init() {
 44656  	t["HostSriovInfo"] = reflect.TypeOf((*HostSriovInfo)(nil)).Elem()
 44657  }
 44658  
 44659  // Information on networking specific SR-IOV device pools
 44660  type HostSriovNetworkDevicePoolInfo struct {
 44661  	HostSriovDevicePoolInfo
 44662  
 44663  	// vSwitch key
 44664  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 44665  	// DVS Uuid
 44666  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 44667  	// List of SR-IOV enabled physical nics that are backing the portgroup
 44668  	// identified by above key
 44669  	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 44670  }
 44671  
 44672  func init() {
 44673  	t["HostSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*HostSriovNetworkDevicePoolInfo)(nil)).Elem()
 44674  }
 44675  
 44676  // The SSL thumbprint information for a host managed by a vCenter Server
 44677  // or a vCenter extension to login into other hosts without
 44678  // username/password authentication.
 44679  type HostSslThumbprintInfo struct {
 44680  	DynamicData
 44681  
 44682  	// The principal used for the login session
 44683  	Principal string `xml:"principal" json:"principal"`
 44684  	// The tag associated with this registration.
 44685  	//
 44686  	// Owner tags allow
 44687  	// multiple entities to register the same thumbprint without
 44688  	// interfering with each other on the life cycle of the thumbprint with
 44689  	// their unique tags.
 44690  	// Each solution should use a unique tag to identify itself.
 44691  	OwnerTag string `xml:"ownerTag,omitempty" json:"ownerTag,omitempty"`
 44692  	// Specify the SSL thumbprints to register on the host.
 44693  	SslThumbprints []string `xml:"sslThumbprints,omitempty" json:"sslThumbprints,omitempty"`
 44694  }
 44695  
 44696  func init() {
 44697  	t["HostSslThumbprintInfo"] = reflect.TypeOf((*HostSslThumbprintInfo)(nil)).Elem()
 44698  }
 44699  
 44700  // This event records when a host's overall status changed.
 44701  type HostStatusChangedEvent struct {
 44702  	ClusterStatusChangedEvent
 44703  }
 44704  
 44705  func init() {
 44706  	t["HostStatusChangedEvent"] = reflect.TypeOf((*HostStatusChangedEvent)(nil)).Elem()
 44707  }
 44708  
 44709  // Description of options associated with a native multipathing
 44710  // storage array type plugin.
 44711  type HostStorageArrayTypePolicyOption struct {
 44712  	DynamicData
 44713  
 44714  	// Description of the paths selection policy.
 44715  	//
 44716  	// Use the key as the
 44717  	// identifier.
 44718  	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
 44719  }
 44720  
 44721  func init() {
 44722  	t["HostStorageArrayTypePolicyOption"] = reflect.TypeOf((*HostStorageArrayTypePolicyOption)(nil)).Elem()
 44723  }
 44724  
 44725  // This data object type describes the storage subsystem configuration.
 44726  type HostStorageDeviceInfo struct {
 44727  	DynamicData
 44728  
 44729  	// The list of host bus adapters available on the host.
 44730  	HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr" json:"hostBusAdapter,omitempty"`
 44731  	// The list of SCSI logical units available on the host.
 44732  	ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr" json:"scsiLun,omitempty"`
 44733  	// Storage topology view of SCSI storage devices.
 44734  	//
 44735  	// This data object
 44736  	// exists only if storage topology information is available. See the
 44737  	// `ScsiTopology` data object type for
 44738  	// more information.
 44739  	ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty" json:"scsiTopology,omitempty"`
 44740  	// Topology view of NVME storage devices.
 44741  	//
 44742  	// This data object exists
 44743  	// only if storage topology information is available. See the
 44744  	// `HostNvmeTopology` data object type for more information.
 44745  	NvmeTopology *HostNvmeTopology `xml:"nvmeTopology,omitempty" json:"nvmeTopology,omitempty"`
 44746  	// The multipath configuration that controls multipath policy for ScsiLuns.
 44747  	//
 44748  	// This data object exists only if path information is available and is
 44749  	// configurable.
 44750  	MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty" json:"multipathInfo,omitempty"`
 44751  	// The plug-store topology on the host system.
 44752  	//
 44753  	// This data object exists only if
 44754  	// the plug-store system is available and configurable.
 44755  	PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty" json:"plugStoreTopology,omitempty"`
 44756  	// Indicates if the software iSCSI initiator is enabled on this system
 44757  	SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled" json:"softwareInternetScsiEnabled"`
 44758  }
 44759  
 44760  func init() {
 44761  	t["HostStorageDeviceInfo"] = reflect.TypeOf((*HostStorageDeviceInfo)(nil)).Elem()
 44762  }
 44763  
 44764  // Data object describing the operational status of various storage
 44765  // elements.
 44766  type HostStorageElementInfo struct {
 44767  	HostHardwareElementInfo
 44768  
 44769  	// Other information regarding the operational state of the
 44770  	// storage element.
 44771  	OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty" json:"operationalInfo,omitempty"`
 44772  }
 44773  
 44774  func init() {
 44775  	t["HostStorageElementInfo"] = reflect.TypeOf((*HostStorageElementInfo)(nil)).Elem()
 44776  }
 44777  
 44778  // Data class describing operational information of a storage element
 44779  type HostStorageOperationalInfo struct {
 44780  	DynamicData
 44781  
 44782  	// The property of interest for the storage element
 44783  	Property string `xml:"property" json:"property"`
 44784  	// The property value for the storage element
 44785  	Value string `xml:"value" json:"value"`
 44786  }
 44787  
 44788  func init() {
 44789  	t["HostStorageOperationalInfo"] = reflect.TypeOf((*HostStorageOperationalInfo)(nil)).Elem()
 44790  }
 44791  
 44792  // Contains the result of turn Disk Locator Led On/Off request.
 44793  //
 44794  // Used as return value
 44795  // by `HostStorageSystem.TurnDiskLocatorLedOn_Task` and
 44796  // `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 44797  type HostStorageSystemDiskLocatorLedResult struct {
 44798  	DynamicData
 44799  
 44800  	// UUID of LUN that has failed to turn on/off disk locator LED.
 44801  	Key string `xml:"key" json:"key"`
 44802  	// The reason why the operation did not succeed.
 44803  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 44804  }
 44805  
 44806  func init() {
 44807  	t["HostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*HostStorageSystemDiskLocatorLedResult)(nil)).Elem()
 44808  }
 44809  
 44810  // Contains the result of SCSI LUN operation requests.
 44811  //
 44812  // Used as return value
 44813  // by `HostStorageSystem.AttachScsiLunEx_Task`,
 44814  // `HostStorageSystem.DetachScsiLunEx_Task` and
 44815  // `HostStorageSystem.MarkPerenniallyReservedEx_Task`
 44816  type HostStorageSystemScsiLunResult struct {
 44817  	DynamicData
 44818  
 44819  	// UUID of LUN on which the LUN operation was requested.
 44820  	Key string `xml:"key" json:"key"`
 44821  	// Fault if operation fails
 44822  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 44823  }
 44824  
 44825  func init() {
 44826  	t["HostStorageSystemScsiLunResult"] = reflect.TypeOf((*HostStorageSystemScsiLunResult)(nil)).Elem()
 44827  }
 44828  
 44829  // Contains the result of the operation performed on a VMFS volume.
 44830  type HostStorageSystemVmfsVolumeResult struct {
 44831  	DynamicData
 44832  
 44833  	// UUID of VMFS volume
 44834  	Key string `xml:"key" json:"key"`
 44835  	// Fault if volume operation fails, unset if operation succeeds
 44836  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 44837  }
 44838  
 44839  func init() {
 44840  	t["HostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*HostStorageSystemVmfsVolumeResult)(nil)).Elem()
 44841  }
 44842  
 44843  // Host sub specification data are the data used when create a virtual
 44844  // device, and/or configure the virtual device and its related
 44845  // host services.
 44846  //
 44847  // A typical example of host sub specification data is the DVS host view
 44848  // specification, which is used when create DVS host view on an ESXi
 44849  // host and configure the virtual switch on the host.
 44850  // The introduction of this type of data is for improving the
 44851  // availability of the ESXi host management. For example, when
 44852  // the VirtualCenter server is not available, an ESXi host will
 44853  // have enough information to reconfigure DVS host view properly
 44854  // when the ESXi host is booted from stateless or stateless caching.
 44855  // Host sub specification data are data for VMware internal data
 44856  // structure used in virtual device creation and configuration.
 44857  // They are different to `AnswerFile`
 44858  // which are from public knowledge domain or the public API
 44859  // of VMware ESXi host services.
 44860  // When the host sub specification data for a single feature
 44861  // are stored in multiple host sub specification data objects,
 44862  // it is the responsibility of the host specification source
 44863  // in this feature to guarantee the completeness and consistency
 44864  // of these host sub specification objects.
 44865  type HostSubSpecification struct {
 44866  	DynamicData
 44867  
 44868  	// The full name of the host sub specification.
 44869  	//
 44870  	// The format of this member
 44871  	// variable is:
 44872  	// CompanyName\_ProductName\_SubSpecName.
 44873  	// Thus, name conflict is avoided by containing the
 44874  	// <code>company name</code>, <code>product name</code>, and <code> sub
 44875  	// specification name</code> in this full name.
 44876  	Name string `xml:"name" json:"name"`
 44877  	// Time at which the host sub specification was created.
 44878  	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
 44879  	// The host sub specification data
 44880  	Data ByteSlice `xml:"data,omitempty" json:"data,omitempty"`
 44881  	// The host sub specification data in Binary for wire efficiency.
 44882  	BinaryData []byte `xml:"binaryData,omitempty" json:"binaryData,omitempty"`
 44883  }
 44884  
 44885  func init() {
 44886  	t["HostSubSpecification"] = reflect.TypeOf((*HostSubSpecification)(nil)).Elem()
 44887  }
 44888  
 44889  // This event suggests that delete the host sub specification specified by
 44890  // name.
 44891  type HostSubSpecificationDeleteEvent struct {
 44892  	HostEvent
 44893  
 44894  	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
 44895  }
 44896  
 44897  func init() {
 44898  	t["HostSubSpecificationDeleteEvent"] = reflect.TypeOf((*HostSubSpecificationDeleteEvent)(nil)).Elem()
 44899  }
 44900  
 44901  // This event suggests that update the host sub specification with the
 44902  // encapsulated copy.
 44903  type HostSubSpecificationUpdateEvent struct {
 44904  	HostEvent
 44905  
 44906  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 44907  }
 44908  
 44909  func init() {
 44910  	t["HostSubSpecificationUpdateEvent"] = reflect.TypeOf((*HostSubSpecificationUpdateEvent)(nil)).Elem()
 44911  }
 44912  
 44913  // This event records a failure to sync up with the VirtualCenter agent on the host
 44914  type HostSyncFailedEvent struct {
 44915  	HostEvent
 44916  
 44917  	// The reason for the failure.
 44918  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 44919  }
 44920  
 44921  func init() {
 44922  	t["HostSyncFailedEvent"] = reflect.TypeOf((*HostSyncFailedEvent)(nil)).Elem()
 44923  }
 44924  
 44925  // The host profile compliance check state.
 44926  type HostSystemComplianceCheckState struct {
 44927  	DynamicData
 44928  
 44929  	// The compliance check operation state.
 44930  	//
 44931  	// See
 44932  	// `ComplianceResultStatus_enum` for the valid values.
 44933  	State string `xml:"state" json:"state"`
 44934  	// The compliance check starting time for running state; compliance
 44935  	// check finish time for others.
 44936  	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
 44937  }
 44938  
 44939  func init() {
 44940  	t["HostSystemComplianceCheckState"] = reflect.TypeOf((*HostSystemComplianceCheckState)(nil)).Elem()
 44941  }
 44942  
 44943  // This data object provides information about the health of the phyical
 44944  // system.
 44945  //
 44946  // The data is retrieved from numeric sensor probes.
 44947  type HostSystemHealthInfo struct {
 44948  	DynamicData
 44949  
 44950  	// Health information provided by the power probes.
 44951  	NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty" json:"numericSensorInfo,omitempty"`
 44952  }
 44953  
 44954  func init() {
 44955  	t["HostSystemHealthInfo"] = reflect.TypeOf((*HostSystemHealthInfo)(nil)).Elem()
 44956  }
 44957  
 44958  // This data object describes system identifying information of the host.
 44959  //
 44960  // This
 44961  // information may be vendor specific.
 44962  type HostSystemIdentificationInfo struct {
 44963  	DynamicData
 44964  
 44965  	// The system identification information
 44966  	IdentifierValue string `xml:"identifierValue" json:"identifierValue"`
 44967  	// The description of the identifying information.
 44968  	//
 44969  	// See also `HostSystemIdentificationInfoIdentifier_enum`.
 44970  	IdentifierType BaseElementDescription `xml:"identifierType,typeattr" json:"identifierType"`
 44971  }
 44972  
 44973  func init() {
 44974  	t["HostSystemIdentificationInfo"] = reflect.TypeOf((*HostSystemIdentificationInfo)(nil)).Elem()
 44975  }
 44976  
 44977  // Information about the system as a whole.
 44978  type HostSystemInfo struct {
 44979  	DynamicData
 44980  
 44981  	// Hardware vendor identification.
 44982  	Vendor string `xml:"vendor" json:"vendor"`
 44983  	// System model identification.
 44984  	Model string `xml:"model" json:"model"`
 44985  	// Hardware BIOS identification.
 44986  	Uuid string `xml:"uuid" json:"uuid"`
 44987  	// Other System identification information.
 44988  	//
 44989  	// This information may be vendor
 44990  	// specific
 44991  	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty"`
 44992  	SerialNumber         string                         `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 44993  	// List of qualified names used to identify the host in a specific context.
 44994  	//
 44995  	// Unlike the other types of system identification information, these can
 44996  	// potentially change as a result of configuration.
 44997  	QualifiedName []HostQualifiedName `xml:"qualifiedName,omitempty" json:"qualifiedName,omitempty" vim:"7.0.3.0"`
 44998  	// NVMe qualified name used by Vvol.
 44999  	//
 45000  	// A unique name, assigned to each host used by Vvol.
 45001  	// Obtained through vmkctl storage control path while fetching the NVMe info.
 45002  	VvolHostNQN *HostQualifiedName `xml:"vvolHostNQN,omitempty" json:"vvolHostNQN,omitempty" vim:"8.0.0.0"`
 45003  	// Host id used by Vvol.
 45004  	//
 45005  	// The hostd id, obtained through vmkctl storage control path while
 45006  	// fetching the NVMe info.
 45007  	VvolHostId string `xml:"vvolHostId,omitempty" json:"vvolHostId,omitempty" vim:"8.0.0.0"`
 45008  	// Command line string to identify different boot options used for host.
 45009  	//
 45010  	// Example of different boot options are:
 45011  	//   - "runweasel": "System is booted for weasel installation"
 45012  	//   - "ks": "System is booted for kickstart installation"
 45013  	BootCommandLine string `xml:"bootCommandLine,omitempty" json:"bootCommandLine,omitempty" vim:"8.0.3.0"`
 45014  }
 45015  
 45016  func init() {
 45017  	t["HostSystemInfo"] = reflect.TypeOf((*HostSystemInfo)(nil)).Elem()
 45018  }
 45019  
 45020  // Specifies the parameters needed to merge vCenter Server settings
 45021  // and host settings on reconnect.
 45022  type HostSystemReconnectSpec struct {
 45023  	DynamicData
 45024  
 45025  	// This flag should be set if on a host reconnect, state such as virtual
 45026  	// machine state in vCenter Server e.g.
 45027  	//
 45028  	// the virtual machine inventory
 45029  	// and autostart rules, has to be propogated to the host. Any virtual
 45030  	// machines that may have been unregistered or orphaned will be
 45031  	// reregistered according to the vCenter Server inventory. Any autostart
 45032  	// rules that may have changed on the host will be similarly restored.
 45033  	// This flag is primarily intended for stateless hosts to enable vCenter
 45034  	// Server to resync these hosts after a reboot.
 45035  	SyncState *bool `xml:"syncState" json:"syncState,omitempty"`
 45036  }
 45037  
 45038  func init() {
 45039  	t["HostSystemReconnectSpec"] = reflect.TypeOf((*HostSystemReconnectSpec)(nil)).Elem()
 45040  }
 45041  
 45042  // The valid remediation states.
 45043  //
 45044  // Host profile apply has two stages:
 45045  // precheck remediation and remediation. Precheck remediation generates
 45046  // task list and task requirement: apply may fail when task requirements
 45047  // are not satisfied. Remediation stage can be started only when precheck
 45048  // remediation succeeded.
 45049  type HostSystemRemediationState struct {
 45050  	DynamicData
 45051  
 45052  	// The remediation or precheck remediation operation state.
 45053  	//
 45054  	// See
 45055  	// `HostSystemRemediationStateState_enum` for the valid
 45056  	// values.
 45057  	State string `xml:"state" json:"state"`
 45058  	// For any "running" state, this is the starting time; for others, this
 45059  	// is the completion time.
 45060  	OperationTime time.Time `xml:"operationTime" json:"operationTime"`
 45061  }
 45062  
 45063  func init() {
 45064  	t["HostSystemRemediationState"] = reflect.TypeOf((*HostSystemRemediationState)(nil)).Elem()
 45065  }
 45066  
 45067  // The SystemResourceInfo data object describes the configuration of
 45068  // a single system resource group.
 45069  //
 45070  // System resource groups are analogous
 45071  // to `ResourcePool` objects for virtual machines; however,
 45072  // their structure is fixed and groups may not be created nor destroyed,
 45073  // only configured.
 45074  type HostSystemResourceInfo struct {
 45075  	DynamicData
 45076  
 45077  	// ID of the system resource group.
 45078  	Key string `xml:"key" json:"key"`
 45079  	// Configuration of this system resource group.
 45080  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 45081  	// List of child resource groups.
 45082  	Child []HostSystemResourceInfo `xml:"child,omitempty" json:"child,omitempty"`
 45083  }
 45084  
 45085  func init() {
 45086  	t["HostSystemResourceInfo"] = reflect.TypeOf((*HostSystemResourceInfo)(nil)).Elem()
 45087  }
 45088  
 45089  // Information and specification for control of the system swap configuration
 45090  // on the current host.
 45091  type HostSystemSwapConfiguration struct {
 45092  	DynamicData
 45093  
 45094  	// The currently enabled options.
 45095  	//
 45096  	// When this property contains only one value and this value is `HostSystemSwapConfigurationDisabledOption`,
 45097  	// this indicates that the system swap is disabled.
 45098  	// If the `HostSystemSwapConfigurationDisabledOption` option is
 45099  	// used together with some other option in call to `HostSystem.UpdateSystemSwapConfiguration`, a
 45100  	// `InvalidArgument` is thrown.
 45101  	// It is not allowed to have duplicate values in this array. If so a
 45102  	// `InvalidArgument` is thrown.
 45103  	Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 45104  }
 45105  
 45106  func init() {
 45107  	t["HostSystemSwapConfiguration"] = reflect.TypeOf((*HostSystemSwapConfiguration)(nil)).Elem()
 45108  }
 45109  
 45110  // Use option to indicate that a user specified datastore may be used for
 45111  // system swap.
 45112  type HostSystemSwapConfigurationDatastoreOption struct {
 45113  	HostSystemSwapConfigurationSystemSwapOption
 45114  
 45115  	// The datastore to be used with this swap option.
 45116  	//
 45117  	// This value should be always set when the encapsulating option is used,
 45118  	// otherwise a call to `HostSystem.UpdateSystemSwapConfiguration` will
 45119  	// result in a `InvalidArgument` fault.
 45120  	Datastore string `xml:"datastore" json:"datastore"`
 45121  }
 45122  
 45123  func init() {
 45124  	t["HostSystemSwapConfigurationDatastoreOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDatastoreOption)(nil)).Elem()
 45125  }
 45126  
 45127  // Indicates that the system swap on the host is currently disabled.
 45128  //
 45129  // This value is used with the
 45130  // `HostSystem.UpdateSystemSwapConfiguration` managed method to
 45131  // disable system swap. Presence of this value in `HostSystemSwapConfiguration.option` excludes appearance of any other
 45132  // options. Specifying additional options will result in a `InvalidArgument` fault being thrown from the `HostSystem.UpdateSystemSwapConfiguration` method.
 45133  type HostSystemSwapConfigurationDisabledOption struct {
 45134  	HostSystemSwapConfigurationSystemSwapOption
 45135  }
 45136  
 45137  func init() {
 45138  	t["HostSystemSwapConfigurationDisabledOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDisabledOption)(nil)).Elem()
 45139  }
 45140  
 45141  // Use option to indicate that the host cache may be used for system
 45142  // swap.
 45143  //
 45144  // See also `HostCacheConfigurationManager`for more details..
 45145  type HostSystemSwapConfigurationHostCacheOption struct {
 45146  	HostSystemSwapConfigurationSystemSwapOption
 45147  }
 45148  
 45149  func init() {
 45150  	t["HostSystemSwapConfigurationHostCacheOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostCacheOption)(nil)).Elem()
 45151  }
 45152  
 45153  // Use option to indicate that the datastore configured for host local swap
 45154  // may be used for system swap.
 45155  type HostSystemSwapConfigurationHostLocalSwapOption struct {
 45156  	HostSystemSwapConfigurationSystemSwapOption
 45157  }
 45158  
 45159  func init() {
 45160  	t["HostSystemSwapConfigurationHostLocalSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostLocalSwapOption)(nil)).Elem()
 45161  }
 45162  
 45163  // Base class for all system swap options.
 45164  //
 45165  // This class is not supposed to be used directly.
 45166  // These values are to be used in a `SystemSwapConfiguration.option`
 45167  // array.
 45168  type HostSystemSwapConfigurationSystemSwapOption struct {
 45169  	DynamicData
 45170  
 45171  	// Specifies the order the options are preferred among each other.
 45172  	//
 45173  	// The lower the value the more important.
 45174  	Key int32 `xml:"key" json:"key"`
 45175  }
 45176  
 45177  func init() {
 45178  	t["HostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem()
 45179  }
 45180  
 45181  // Transport information about a SCSI target.
 45182  type HostTargetTransport struct {
 45183  	DynamicData
 45184  }
 45185  
 45186  func init() {
 45187  	t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem()
 45188  }
 45189  
 45190  // This data object describes the Transmission Control Protocol
 45191  // (TCP) host bus adapter interface.
 45192  type HostTcpHba struct {
 45193  	HostHostBusAdapter
 45194  
 45195  	// Device name of the associated physical NIC, if any.
 45196  	//
 45197  	// Should match the `PhysicalNic.device` property
 45198  	// of the corresponding physical NIC.
 45199  	AssociatedPnic string `xml:"associatedPnic,omitempty" json:"associatedPnic,omitempty"`
 45200  }
 45201  
 45202  func init() {
 45203  	t["HostTcpHba"] = reflect.TypeOf((*HostTcpHba)(nil)).Elem()
 45204  	minAPIVersionForType["HostTcpHba"] = "7.0.3.0"
 45205  }
 45206  
 45207  // A data object which specifies the parameters needed
 45208  // to create an NVME over TCP host bus adapter.
 45209  type HostTcpHbaCreateSpec struct {
 45210  	HostHbaCreateSpec
 45211  
 45212  	// Device name of the associated physical NIC.
 45213  	//
 45214  	// Should match the `PhysicalNic.device` property
 45215  	// of the corresponding physical NIC.
 45216  	Pnic string `xml:"pnic" json:"pnic"`
 45217  }
 45218  
 45219  func init() {
 45220  	t["HostTcpHbaCreateSpec"] = reflect.TypeOf((*HostTcpHbaCreateSpec)(nil)).Elem()
 45221  	minAPIVersionForType["HostTcpHbaCreateSpec"] = "7.0.3.0"
 45222  }
 45223  
 45224  // Transmission Control Protocol (TCP) transport
 45225  // information about a target.
 45226  type HostTcpTargetTransport struct {
 45227  	HostTargetTransport
 45228  }
 45229  
 45230  func init() {
 45231  	t["HostTcpTargetTransport"] = reflect.TypeOf((*HostTcpTargetTransport)(nil)).Elem()
 45232  	minAPIVersionForType["HostTcpTargetTransport"] = "7.0.3.0"
 45233  }
 45234  
 45235  // This data object type represents result of TPM attestation.
 45236  type HostTpmAttestationInfo struct {
 45237  	DynamicData
 45238  
 45239  	// Time of TPM attestation.
 45240  	Time time.Time `xml:"time" json:"time"`
 45241  	// Attestation status.
 45242  	//
 45243  	// Valid values are enumerated by the
 45244  	// `HostTpmAttestationInfoAcceptanceStatus_enum` type.
 45245  	Status HostTpmAttestationInfoAcceptanceStatus `xml:"status" json:"status"`
 45246  	// Message explaining TPM attestation failure.
 45247  	Message *LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 45248  }
 45249  
 45250  func init() {
 45251  	t["HostTpmAttestationInfo"] = reflect.TypeOf((*HostTpmAttestationInfo)(nil)).Elem()
 45252  }
 45253  
 45254  // This class is used to report Trusted Platform Module (TPM) attestation
 45255  // information - values of the Platform Configuration Registers (PCRs) and
 45256  // the TPM event log to the external clients.
 45257  //
 45258  // This information can be used to determine the integrity of the software
 45259  // stack running as reported by the platform.
 45260  //
 45261  // The TPM stores digests (hashes) of the software stack components running on
 45262  // the host. Both binary modules and configuration information can be hashed.
 45263  // The calculated hash values are stored in special-purpose hardware registers
 45264  // called PCRs. Each PCR is defined to hold cumulative digest(s) of specific
 45265  // part(s) of the software stack.
 45266  //
 45267  // Due to the limited amount of PCRs available a hash-chaining scheme is implemented.
 45268  // When adding new information to a PCR the new value of hash is computed according
 45269  // to the following formula:
 45270  // NewHash = hash\_function(OldHash + hash\_function(NewData))
 45271  // This scheme allows storing measurements of an unlimited amount of components.
 45272  //
 45273  // The TPM event log provides an exact sequence of the events that contributed
 45274  // to the value of a PCR. It contains information about the type of the event
 45275  // and event-specific information. The presence of the log allows verification of
 45276  // both the final PCR state and the entire attestation path that formed it.
 45277  //
 45278  // It is possible for this report to be unreliable. This could be due to missing package
 45279  // information in the host database, errors in creation of the events. Only first 1000
 45280  // events are recorded by the kernel. Further events will not be recorded in the log and
 45281  // will cause the log to be marked as incomplete.
 45282  type HostTpmAttestationReport struct {
 45283  	DynamicData
 45284  
 45285  	// The array of PCR digest values stored in the TPM device since the last
 45286  	// host boot time.
 45287  	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues" json:"tpmPcrValues"`
 45288  	// Log of TPM software stack attestation events.
 45289  	TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents" json:"tpmEvents"`
 45290  	// This flag indicates whether the provided TPM events are a complete and reliable
 45291  	// information about host boot status.
 45292  	//
 45293  	// TPM event log may be incomplete (and therfore unreliable) if certain modules have
 45294  	// inappropriate origin or if the package information is incomplete. Only first 1000
 45295  	// events are recorded by the kernel. Further events will not be recorded in the log
 45296  	// and will cause the log to be marked as unreliable.
 45297  	TpmLogReliable bool `xml:"tpmLogReliable" json:"tpmLogReliable"`
 45298  }
 45299  
 45300  func init() {
 45301  	t["HostTpmAttestationReport"] = reflect.TypeOf((*HostTpmAttestationReport)(nil)).Elem()
 45302  }
 45303  
 45304  // Details of a Trusted Platform Module (TPM) event recording the
 45305  // measurement of boot complete event.
 45306  //
 45307  // The event digest is hash of
 45308  // the string "Boot Complete" including the nul character.
 45309  type HostTpmBootCompleteEventDetails struct {
 45310  	HostTpmEventDetails
 45311  }
 45312  
 45313  func init() {
 45314  	t["HostTpmBootCompleteEventDetails"] = reflect.TypeOf((*HostTpmBootCompleteEventDetails)(nil)).Elem()
 45315  	minAPIVersionForType["HostTpmBootCompleteEventDetails"] = "8.0.1.0"
 45316  }
 45317  
 45318  // Details of a Trusted Platform Module (TPM) event recording kernel security
 45319  // option passed at boot time and currently in effect.
 45320  //
 45321  // This event type exists to simplify parsing of the security-related information
 45322  // by internal and third-party solutions. Each boot option may be passed to kernel
 45323  // multiple times and/or in different forms. Replicating the parsing logic of the
 45324  // kernel would be neither convinient, nor secure for the client applications.
 45325  //
 45326  // Each instance of this event reports details of a single security-related
 45327  // boot option, as set in the kernel.
 45328  type HostTpmBootSecurityOptionEventDetails struct {
 45329  	HostTpmEventDetails
 45330  
 45331  	// Security-related options string, reflecting the state of an option set
 45332  	// in the kernel.
 45333  	//
 45334  	// This string is in the form of a KEY=VALUE pair.
 45335  	BootSecurityOption string `xml:"bootSecurityOption" json:"bootSecurityOption"`
 45336  }
 45337  
 45338  func init() {
 45339  	t["HostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem()
 45340  }
 45341  
 45342  // Details of an Trusted Platform Module (TPM) event recording options entered
 45343  // manually on the command line prompt at boot time.
 45344  type HostTpmCommandEventDetails struct {
 45345  	HostTpmEventDetails
 45346  
 45347  	// Boot options as entered on the command line prompt at boot time.
 45348  	CommandLine string `xml:"commandLine" json:"commandLine"`
 45349  }
 45350  
 45351  func init() {
 45352  	t["HostTpmCommandEventDetails"] = reflect.TypeOf((*HostTpmCommandEventDetails)(nil)).Elem()
 45353  }
 45354  
 45355  // This data object type describes the digest values in the Platform
 45356  // Configuration Register (PCR) of a Trusted Platform Module (TPM) device.
 45357  type HostTpmDigestInfo struct {
 45358  	HostDigestInfo
 45359  
 45360  	// Index of the PCR that stores the TPM digest value.
 45361  	PcrNumber int32 `xml:"pcrNumber" json:"pcrNumber"`
 45362  }
 45363  
 45364  func init() {
 45365  	t["HostTpmDigestInfo"] = reflect.TypeOf((*HostTpmDigestInfo)(nil)).Elem()
 45366  }
 45367  
 45368  // This is a base data object for describing an event generated by
 45369  // Trusted Platform Module (TPM).
 45370  //
 45371  // It contains parameters common to
 45372  // all TPM event types.
 45373  type HostTpmEventDetails struct {
 45374  	DynamicData
 45375  
 45376  	// Value of the Platform Configuration Register (PCR) for this event.
 45377  	DataHash ByteSlice `xml:"dataHash" json:"dataHash"`
 45378  	// Method in which the digest hash is calculated.
 45379  	//
 45380  	// The set of possible
 45381  	// values is described in `HostDigestInfoDigestMethodType_enum`.
 45382  	DataHashMethod string `xml:"dataHashMethod,omitempty" json:"dataHashMethod,omitempty"`
 45383  }
 45384  
 45385  func init() {
 45386  	t["HostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem()
 45387  }
 45388  
 45389  // This data object represents a single entry of an event log created by
 45390  // Trusted Platform Module (TPM).
 45391  //
 45392  // An TPM event log entry represents a single change to the value of
 45393  // a Platform Configuration Register (PCR). It contains detailed information
 45394  // about the reason of PCR value change, and the specifics of the event.
 45395  //
 45396  // Multiple objects of this type form an TPM event log. This log allows for
 45397  // verification of the both the software stack running on a host and the attestation
 45398  // process itself.
 45399  type HostTpmEventLogEntry struct {
 45400  	DynamicData
 45401  
 45402  	// Index of the PCR that was affected by the event.
 45403  	PcrIndex int32 `xml:"pcrIndex" json:"pcrIndex"`
 45404  	// The details of the event.
 45405  	EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr" json:"eventDetails"`
 45406  }
 45407  
 45408  func init() {
 45409  	t["HostTpmEventLogEntry"] = reflect.TypeOf((*HostTpmEventLogEntry)(nil)).Elem()
 45410  }
 45411  
 45412  // Details of an Trusted Platform Module (TPM) event recording TPM NVRAM tag.
 45413  type HostTpmNvTagEventDetails struct {
 45414  	HostTpmBootSecurityOptionEventDetails
 45415  }
 45416  
 45417  func init() {
 45418  	t["HostTpmNvTagEventDetails"] = reflect.TypeOf((*HostTpmNvTagEventDetails)(nil)).Elem()
 45419  	minAPIVersionForType["HostTpmNvTagEventDetails"] = "7.0.2.0"
 45420  }
 45421  
 45422  // Details of a Trusted Platform Module (TPM) event recording boot-time options.
 45423  //
 45424  // The boot-time options set on the system are packaged into a file that is supplied
 45425  // to the kernel at boot time. The boot options may be a string of key=value pairs
 45426  // (possibly separated by a new line) or a blob of arbitrary data.
 45427  type HostTpmOptionEventDetails struct {
 45428  	HostTpmEventDetails
 45429  
 45430  	// Name of the file containing the boot options.
 45431  	OptionsFileName string `xml:"optionsFileName" json:"optionsFileName"`
 45432  	// Options set by the boot option package.
 45433  	//
 45434  	// This array exposes the raw contents of the settings file (or files) that were
 45435  	// passed to kernel during the boot up process, and, therefore, should be treated
 45436  	// accordingly.
 45437  	BootOptions ByteSlice `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 45438  }
 45439  
 45440  func init() {
 45441  	t["HostTpmOptionEventDetails"] = reflect.TypeOf((*HostTpmOptionEventDetails)(nil)).Elem()
 45442  }
 45443  
 45444  // Details of a Trusted Platform Module (TPM) event recording the measurement
 45445  // of a signing key.
 45446  type HostTpmSignerEventDetails struct {
 45447  	HostTpmBootSecurityOptionEventDetails
 45448  }
 45449  
 45450  func init() {
 45451  	t["HostTpmSignerEventDetails"] = reflect.TypeOf((*HostTpmSignerEventDetails)(nil)).Elem()
 45452  	minAPIVersionForType["HostTpmSignerEventDetails"] = "8.0.0.1"
 45453  }
 45454  
 45455  // Details of a Trusted Platform Module (TPM) event recording a software component
 45456  // related event.
 45457  //
 45458  // This event is created when measuring a software component installed on the system.
 45459  // A software component may be a tardisk, a kernel module or any other type supported
 45460  // by the package system.
 45461  //
 45462  // Some software components are not packaged as VIBs (currently the package database
 45463  // and persistent state information of ESXi). For these components the VIB fields
 45464  // will contain empty strings.
 45465  type HostTpmSoftwareComponentEventDetails struct {
 45466  	HostTpmEventDetails
 45467  
 45468  	// Name of the software component that caused this TPM event.
 45469  	ComponentName string `xml:"componentName" json:"componentName"`
 45470  	// Name of the VIB containing the software component.
 45471  	VibName string `xml:"vibName" json:"vibName"`
 45472  	// Version of the VIB containing the software component.
 45473  	VibVersion string `xml:"vibVersion" json:"vibVersion"`
 45474  	// Vendor of the VIB containing the software component.
 45475  	VibVendor string `xml:"vibVendor" json:"vibVendor"`
 45476  }
 45477  
 45478  func init() {
 45479  	t["HostTpmSoftwareComponentEventDetails"] = reflect.TypeOf((*HostTpmSoftwareComponentEventDetails)(nil)).Elem()
 45480  }
 45481  
 45482  // Details of a Trusted Platform Module (TPM) event recording the
 45483  // measurement of a module version.
 45484  type HostTpmVersionEventDetails struct {
 45485  	HostTpmEventDetails
 45486  
 45487  	// A packed structure containing the module version.
 45488  	Version []byte `xml:"version" json:"version"`
 45489  }
 45490  
 45491  func init() {
 45492  	t["HostTpmVersionEventDetails"] = reflect.TypeOf((*HostTpmVersionEventDetails)(nil)).Elem()
 45493  	minAPIVersionForType["HostTpmVersionEventDetails"] = "8.0.0.1"
 45494  }
 45495  
 45496  // This data object type represents result of the attestation done by
 45497  // Trust Authority attestation service.
 45498  type HostTrustAuthorityAttestationInfo struct {
 45499  	DynamicData
 45500  
 45501  	// Status of the attestation.
 45502  	//
 45503  	// See `HostTrustAuthorityAttestationInfoAttestationStatus_enum` for the
 45504  	// supported values.
 45505  	AttestationStatus string `xml:"attestationStatus" json:"attestationStatus"`
 45506  	// ID of the attestation service in case of attestation success.
 45507  	//
 45508  	// Unset when
 45509  	// not attested.
 45510  	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
 45511  	// Time of attestation.
 45512  	AttestedAt *time.Time `xml:"attestedAt" json:"attestedAt,omitempty"`
 45513  	// Time until attestation is valid.
 45514  	AttestedUntil *time.Time `xml:"attestedUntil" json:"attestedUntil,omitempty"`
 45515  	// Messages explaining attestation failure or attestation status
 45516  	// retrieval errors, if any.
 45517  	Messages []LocalizableMessage `xml:"messages,omitempty" json:"messages,omitempty"`
 45518  }
 45519  
 45520  func init() {
 45521  	t["HostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfo)(nil)).Elem()
 45522  	minAPIVersionForType["HostTrustAuthorityAttestationInfo"] = "7.0.1.0"
 45523  }
 45524  
 45525  // Information about an unresolved VMFS volume extent
 45526  // An unresolved VMFS volume extent is a device partition which is
 45527  // detected to have copy of an extent of a VMFS volume.
 45528  //
 45529  // Such a copy can be created via replication or snapshots, for example.
 45530  //
 45531  // See also `HostUnresolvedVmfsVolume`.
 45532  type HostUnresolvedVmfsExtent struct {
 45533  	DynamicData
 45534  
 45535  	// The device information
 45536  	Device HostScsiDiskPartition `xml:"device" json:"device"`
 45537  	// The device path of an VMFS extent
 45538  	DevicePath string `xml:"devicePath" json:"devicePath"`
 45539  	// The UUID of the VMFS volume read from to the partition.
 45540  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 45541  	// Is this a copy of the head extent of the VMFS volume?
 45542  	IsHeadExtent bool `xml:"isHeadExtent" json:"isHeadExtent"`
 45543  	// A number indicating the order of an extent in a volume.
 45544  	//
 45545  	// An extent with
 45546  	// a lower ordinal value than another extent provides a range of blocks to
 45547  	// a volume at an earlier block address range. Extents with the same
 45548  	// ordinal provide the same range of blocks to a volume. A zero ordinal
 45549  	// indicates that the extent is a head extent.
 45550  	//
 45551  	// In the case each extent in the `HostUnresolvedVmfsVolume` is
 45552  	// represented in the list of `HostUnresolvedVmfsExtent` data objects,
 45553  	// the ordinal will refer to the absolute index of the extent in the
 45554  	// volume. For example, ordinal "1" refers to the second extent;
 45555  	// ordinal "2" refers to the third extent.
 45556  	//
 45557  	// In the case that some extents of the volume are not represented in
 45558  	// the `HostUnresolvedVmfsExtent` list, the ordinal will not precisely
 45559  	// describe the position in the list of extents. A number will be skipped
 45560  	// to indicate holes in the extent order. For example, given a volume with
 45561  	// five extents with the second and third extents missing, the ordinal
 45562  	// values in use will be {0, 2, 3}. The missing second and third extent
 45563  	// are represented by the missing ordinal value "1" while the fourth and
 45564  	// fifth extents will be assigned an ordinal of "2" and "3" respectively.
 45565  	//
 45566  	// The reason the ordinals are not reliable in the case of missing extents
 45567  	// is because the extents are identified by their start and end blocks.
 45568  	// The ordinals are just a hint used to help indicate extents that
 45569  	// correspond to the same start and end blocks.
 45570  	Ordinal int32 `xml:"ordinal" json:"ordinal"`
 45571  	// Index of the first block that this extent provides.
 45572  	StartBlock int32 `xml:"startBlock" json:"startBlock"`
 45573  	// Index of the last block that this extent provides.
 45574  	EndBlock int32 `xml:"endBlock" json:"endBlock"`
 45575  	// Reason as to why the partition is marked as copy
 45576  	// of a VMFS volume's extent.
 45577  	//
 45578  	// Possible reasons are the disk id is not matching with what
 45579  	// the scsi inq is saying or disk uuid is not matching
 45580  	//
 45581  	// See also `HostUnresolvedVmfsExtentUnresolvedReason_enum`.
 45582  	Reason string `xml:"reason" json:"reason"`
 45583  }
 45584  
 45585  func init() {
 45586  	t["HostUnresolvedVmfsExtent"] = reflect.TypeOf((*HostUnresolvedVmfsExtent)(nil)).Elem()
 45587  }
 45588  
 45589  // Specification to resignature an Unresolved VMFS volume.
 45590  type HostUnresolvedVmfsResignatureSpec struct {
 45591  	DynamicData
 45592  
 45593  	// List of device path each specifying VMFS extents.
 45594  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 45595  }
 45596  
 45597  func init() {
 45598  	t["HostUnresolvedVmfsResignatureSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResignatureSpec)(nil)).Elem()
 45599  }
 45600  
 45601  // When an UnresolvedVmfsVolume has been resignatured or forceMounted, we want to
 45602  // return the original spec information along with newly created VMFS volume.
 45603  type HostUnresolvedVmfsResolutionResult struct {
 45604  	DynamicData
 45605  
 45606  	// The original UnresolvedVmfsResolutionSpec which user had specified
 45607  	Spec HostUnresolvedVmfsResolutionSpec `xml:"spec" json:"spec"`
 45608  	// Newly created VmfsVolume
 45609  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 45610  	// 'fault' would be set if the operation was not successful
 45611  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 45612  }
 45613  
 45614  func init() {
 45615  	t["HostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionResult)(nil)).Elem()
 45616  }
 45617  
 45618  // An unresolved VMFS volume is reported when one or more device partitions
 45619  // of volume are detected to have copies of extents of the volume.
 45620  //
 45621  // Such copies can be created via replication or snapshots, for example.
 45622  // This data object type describes how to resolve an unbound VMFS volume.
 45623  // The SCSI device path for each of the VMFS volume extent should be
 45624  // specified.
 45625  // For the current release, only head-extent needs to be specified.
 45626  // In future releases, we will allow user to specify explicitly all the
 45627  // extents which makes up a new Vmfs Volume.
 45628  type HostUnresolvedVmfsResolutionSpec struct {
 45629  	DynamicData
 45630  
 45631  	// List of device paths each specifying a VMFS extent.
 45632  	//
 45633  	// One extent must be specified. This property is represented as a
 45634  	// list to enable future enhancements to the interface.
 45635  	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
 45636  	// When set to Resignature, new Uuid is assigned to the VMFS
 45637  	// volume.
 45638  	//
 45639  	// When set to 'forceMount', existing uuid is assigned
 45640  	// to the Vmfs volume and Vmfs volumes metadata doesn't change.
 45641  	//
 45642  	// See also `HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum`.
 45643  	UuidResolution string `xml:"uuidResolution" json:"uuidResolution"`
 45644  }
 45645  
 45646  func init() {
 45647  	t["HostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpec)(nil)).Elem()
 45648  }
 45649  
 45650  // Information about detected unbound, unresolved VMFS volume.
 45651  //
 45652  // An unresolved VMFS volume is reported when one or more device
 45653  // partitions of volume are detected to have copies of extents
 45654  // of the volume. Such copies can be created via replication or
 45655  // snapshots.
 45656  //
 45657  // UnresolvedVmfsVolume are not mounted on the host where they
 45658  // are detected. User may choose to resignature the volume in
 45659  // which case a new Uuid is assigned to the volume and contents
 45660  // of the VMFS volume is kept intact.
 45661  //
 45662  // User may choose to keep the original Uuid and mount the VMFS
 45663  // volume as it is on the given host. In this case, user has
 45664  // chosen to mount the copy of the VMFS volume on that host with
 45665  // no change to the original Uuid. This may fail with
 45666  // VmfsVolumeAlreadyMounted exception if there is an existing
 45667  // VMFS volume with the same Uuid mounted somewhere in the same
 45668  // datacenter.
 45669  //
 45670  // Simple diagram representing the possible operations on UnresolvedVmfsVolume
 45671  //
 45672  //	---------------------------------------------------------------------------
 45673  //	|                resignature                 forceMount                   |
 45674  //	|  VmfsVolume <---------------  Unresolved ------------>  VmfsVolume with |
 45675  //	| forceMountedInfo              Vmfs Volume              forceMountedInfo |
 45676  //	|  not set                                                  will be set   |
 45677  //	---------------------------------------------------------------------------
 45678  //
 45679  // See also `HostStorageSystem`.
 45680  type HostUnresolvedVmfsVolume struct {
 45681  	DynamicData
 45682  
 45683  	// List of detected copies of VMFS extents.
 45684  	Extent []HostUnresolvedVmfsExtent `xml:"extent" json:"extent"`
 45685  	// The detected VMFS label name
 45686  	VmfsLabel string `xml:"vmfsLabel" json:"vmfsLabel"`
 45687  	// The detected VMFS UUID
 45688  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 45689  	// Total number of blocks in this volume.
 45690  	TotalBlocks int32 `xml:"totalBlocks" json:"totalBlocks"`
 45691  	// Information related to how the volume might be resolved.
 45692  	ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus" json:"resolveStatus"`
 45693  }
 45694  
 45695  func init() {
 45696  	t["HostUnresolvedVmfsVolume"] = reflect.TypeOf((*HostUnresolvedVmfsVolume)(nil)).Elem()
 45697  }
 45698  
 45699  // Data object that describes the resolvability of a volume.
 45700  type HostUnresolvedVmfsVolumeResolveStatus struct {
 45701  	DynamicData
 45702  
 45703  	// Can this volume be resolved? There may be other reasons a volume cannot
 45704  	// be resolved other than the fact that it is incomplete.
 45705  	//
 45706  	// This boolean will
 45707  	// authoritatively indicate if the server can resolve this volume.
 45708  	Resolvable bool `xml:"resolvable" json:"resolvable"`
 45709  	// Is the list of extents for the volume a partial list? A volume can only
 45710  	// be resignatured if all extents composing that volume are available.
 45711  	//
 45712  	// Hence, a volume with a partial extent list cannot be resignatured.
 45713  	//
 45714  	// In cases where this information is not known for a volume, this
 45715  	// property will be unset.
 45716  	IncompleteExtents *bool `xml:"incompleteExtents" json:"incompleteExtents,omitempty"`
 45717  	// Are there multiple copies of extents for this volume? If any extent of
 45718  	// the volume has multiple copies then the extents to be resolved must be
 45719  	// explicitly specified when resolving this volume.
 45720  	//
 45721  	// In cases where this information is not known for a volume, this
 45722  	// property will be unset.
 45723  	MultipleCopies *bool `xml:"multipleCopies" json:"multipleCopies,omitempty"`
 45724  }
 45725  
 45726  func init() {
 45727  	t["HostUnresolvedVmfsVolumeResolveStatus"] = reflect.TypeOf((*HostUnresolvedVmfsVolumeResolveStatus)(nil)).Elem()
 45728  }
 45729  
 45730  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadataEx_Task`.
 45731  type HostUpdateVStorageObjectMetadataExRequestType struct {
 45732  	This ManagedObjectReference `xml:"_this" json:"-"`
 45733  	// The ID of the virtual storage object.
 45734  	Id ID `xml:"id" json:"id"`
 45735  	// The datastore to query for the virtual storage objects.
 45736  	//
 45737  	// Refers instance of `Datastore`.
 45738  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 45739  	// array of key/value strings. (keys must be unique
 45740  	// within the list)
 45741  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 45742  	// array of keys need to be deleted
 45743  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 45744  }
 45745  
 45746  func init() {
 45747  	t["HostUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 45748  	minAPIVersionForType["HostUpdateVStorageObjectMetadataExRequestType"] = "7.0.2.0"
 45749  }
 45750  
 45751  type HostUpdateVStorageObjectMetadataEx_Task HostUpdateVStorageObjectMetadataExRequestType
 45752  
 45753  func init() {
 45754  	t["HostUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 45755  }
 45756  
 45757  type HostUpdateVStorageObjectMetadataEx_TaskResponse struct {
 45758  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 45759  }
 45760  
 45761  // The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadata_Task`.
 45762  type HostUpdateVStorageObjectMetadataRequestType struct {
 45763  	This ManagedObjectReference `xml:"_this" json:"-"`
 45764  	// The ID of the virtual storage object.
 45765  	Id ID `xml:"id" json:"id"`
 45766  	// The datastore to query for the virtual storage objects.
 45767  	//
 45768  	// Refers instance of `Datastore`.
 45769  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 45770  	// array of key/value strings. (keys must be unique
 45771  	// within the list)
 45772  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 45773  	// array of keys need to be deleted
 45774  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 45775  }
 45776  
 45777  func init() {
 45778  	t["HostUpdateVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataRequestType)(nil)).Elem()
 45779  }
 45780  
 45781  type HostUpdateVStorageObjectMetadata_Task HostUpdateVStorageObjectMetadataRequestType
 45782  
 45783  func init() {
 45784  	t["HostUpdateVStorageObjectMetadata_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadata_Task)(nil)).Elem()
 45785  }
 45786  
 45787  type HostUpdateVStorageObjectMetadata_TaskResponse struct {
 45788  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 45789  }
 45790  
 45791  // This event records a failure to connect to a host
 45792  // due to an installation or upgrade issue.
 45793  type HostUpgradeFailedEvent struct {
 45794  	HostEvent
 45795  }
 45796  
 45797  func init() {
 45798  	t["HostUpgradeFailedEvent"] = reflect.TypeOf((*HostUpgradeFailedEvent)(nil)).Elem()
 45799  }
 45800  
 45801  // Deprecated as of vSphere API 5.0, the event is no longer relevant.
 45802  //
 45803  // This event records that the userworld swap is not enabled on the host.
 45804  //
 45805  // HA
 45806  // needs userworld swap to be configured on embedded ESX hosts to function.
 45807  type HostUserWorldSwapNotEnabledEvent struct {
 45808  	HostEvent
 45809  }
 45810  
 45811  func init() {
 45812  	t["HostUserWorldSwapNotEnabledEvent"] = reflect.TypeOf((*HostUserWorldSwapNotEnabledEvent)(nil)).Elem()
 45813  }
 45814  
 45815  // Data object describes host vFlash cache configuration information.
 45816  type HostVFlashManagerVFlashCacheConfigInfo struct {
 45817  	DynamicData
 45818  
 45819  	// Cache configuration options for the supported vFlash modules.
 45820  	VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty" json:"vFlashModuleConfigOption,omitempty"`
 45821  	// Name of the default vFlash module for the read-write cache associated
 45822  	// with the VMs of this host.
 45823  	//
 45824  	// This setting can be overridden by
 45825  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 45826  	// per VMDK.
 45827  	DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty" json:"defaultVFlashModule,omitempty"`
 45828  	// Amount of vFlash resource is allocated to the host swap cache.
 45829  	//
 45830  	// As long as set,
 45831  	// reservation will be permanent and retain regardless of host power state. The host
 45832  	// swap cache will be disabled if reservation is set to zero.
 45833  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty" json:"swapCacheReservationInGB,omitempty"`
 45834  }
 45835  
 45836  func init() {
 45837  	t["HostVFlashManagerVFlashCacheConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfo)(nil)).Elem()
 45838  }
 45839  
 45840  type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
 45841  	DynamicData
 45842  
 45843  	// Name of the vFlash module
 45844  	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
 45845  	// Version of the vFlash module
 45846  	VFlashModuleVersion string `xml:"vFlashModuleVersion" json:"vFlashModuleVersion"`
 45847  	// Minimum supported version
 45848  	MinSupportedModuleVersion string `xml:"minSupportedModuleVersion" json:"minSupportedModuleVersion"`
 45849  	// Cache data consistency types.
 45850  	//
 45851  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 45852  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 45853  	// Cache modes.
 45854  	//
 45855  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 45856  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 45857  	// blockSizeInKBOption defines a range of virtual disk cache block size.
 45858  	BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption" json:"blockSizeInKBOption"`
 45859  	// reservationInMBOption defines a range of virtual disk cache size.
 45860  	ReservationInMBOption LongOption `xml:"reservationInMBOption" json:"reservationInMBOption"`
 45861  	// Maximal size of virtual disk supported in kilobytes.
 45862  	MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB" json:"maxDiskSizeInKB"`
 45863  }
 45864  
 45865  func init() {
 45866  	t["HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem()
 45867  }
 45868  
 45869  // Specification to configure vFlash cache on the host.
 45870  type HostVFlashManagerVFlashCacheConfigSpec struct {
 45871  	DynamicData
 45872  
 45873  	// Name of the default vFlash module for the read-write caches associated
 45874  	// with the VMs of this host.
 45875  	//
 45876  	// This setting can be overridden by
 45877  	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
 45878  	// per VMDK.
 45879  	DefaultVFlashModule string `xml:"defaultVFlashModule" json:"defaultVFlashModule"`
 45880  	// Amount of vFlash resource is allocated to the host swap cache.
 45881  	//
 45882  	// As long as set,
 45883  	// reservation will be permanent and retain regardless of host power state. The host
 45884  	// swap cache will be disabled if the reservation is set to zero.
 45885  	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB" json:"swapCacheReservationInGB"`
 45886  }
 45887  
 45888  func init() {
 45889  	t["HostVFlashManagerVFlashCacheConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigSpec)(nil)).Elem()
 45890  }
 45891  
 45892  // vFlash configuration Information.
 45893  type HostVFlashManagerVFlashConfigInfo struct {
 45894  	DynamicData
 45895  
 45896  	// vFlash resource configuration information
 45897  	VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty" json:"vFlashResourceConfigInfo,omitempty"`
 45898  	// vFlash cache configuration information
 45899  	VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
 45900  }
 45901  
 45902  func init() {
 45903  	t["HostVFlashManagerVFlashConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashConfigInfo)(nil)).Elem()
 45904  }
 45905  
 45906  // vFlash resource configuration Information.
 45907  type HostVFlashManagerVFlashResourceConfigInfo struct {
 45908  	DynamicData
 45909  
 45910  	// The contained VFFS volume
 45911  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 45912  	// Capacity of the vFlash resource.
 45913  	//
 45914  	// It is the capacity
 45915  	// of the contained VFFS volume.
 45916  	Capacity int64 `xml:"capacity" json:"capacity"`
 45917  }
 45918  
 45919  func init() {
 45920  	t["HostVFlashManagerVFlashResourceConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigInfo)(nil)).Elem()
 45921  }
 45922  
 45923  // vFlash resource configuration specification.
 45924  type HostVFlashManagerVFlashResourceConfigSpec struct {
 45925  	DynamicData
 45926  
 45927  	// The contained VFFS volume uuid.
 45928  	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
 45929  }
 45930  
 45931  func init() {
 45932  	t["HostVFlashManagerVFlashResourceConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigSpec)(nil)).Elem()
 45933  }
 45934  
 45935  // Data object provides vFlash resource runtime usage.
 45936  type HostVFlashManagerVFlashResourceRunTimeInfo struct {
 45937  	DynamicData
 45938  
 45939  	// Overall usage of vFlash resource, in bytes.
 45940  	Usage int64 `xml:"usage" json:"usage"`
 45941  	// Overall capacity of vFlash resource, in bytes.
 45942  	Capacity int64 `xml:"capacity" json:"capacity"`
 45943  	// True if all the included the VFFS volumes are accessible.
 45944  	//
 45945  	// False if one or
 45946  	// multiple included VFFS volumes are inaccessible.
 45947  	Accessible bool `xml:"accessible" json:"accessible"`
 45948  	// vFlash resource capacity can be allocated for VM caches
 45949  	CapacityForVmCache int64 `xml:"capacityForVmCache" json:"capacityForVmCache"`
 45950  	// Free vFlash resource can be allocated for VM caches
 45951  	FreeForVmCache int64 `xml:"freeForVmCache" json:"freeForVmCache"`
 45952  }
 45953  
 45954  func init() {
 45955  	t["HostVFlashManagerVFlashResourceRunTimeInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceRunTimeInfo)(nil)).Elem()
 45956  }
 45957  
 45958  // vFlash resource configuration result returns the newly-configured backend
 45959  // VFFS volume and operation result for each passed-in SSD device.
 45960  type HostVFlashResourceConfigurationResult struct {
 45961  	DynamicData
 45962  
 45963  	// The original array of device path which user had specified
 45964  	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
 45965  	// Newly configured VffsVolume
 45966  	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
 45967  	// Array of device operation results.
 45968  	DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty" json:"diskConfigurationResult,omitempty"`
 45969  }
 45970  
 45971  func init() {
 45972  	t["HostVFlashResourceConfigurationResult"] = reflect.TypeOf((*HostVFlashResourceConfigurationResult)(nil)).Elem()
 45973  }
 45974  
 45975  // The object type for the array returned by queryVMotionCompatibility;
 45976  // specifies the VMotion compatibility types for a host.
 45977  type HostVMotionCompatibility struct {
 45978  	DynamicData
 45979  
 45980  	// The prospective host for the virtual machine.
 45981  	//
 45982  	// Refers instance of `HostSystem`.
 45983  	Host ManagedObjectReference `xml:"host" json:"host"`
 45984  	// Ways in which the host is compatible with the designated virtual
 45985  	// machine that is a candidate for VMotion.
 45986  	//
 45987  	// This array will be
 45988  	// a subset of the set of VMotionCompatibilityType strings that
 45989  	// were input to queryVMotionCompatibility.
 45990  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 45991  }
 45992  
 45993  func init() {
 45994  	t["HostVMotionCompatibility"] = reflect.TypeOf((*HostVMotionCompatibility)(nil)).Elem()
 45995  }
 45996  
 45997  // This data object configuring VMotion on the host.
 45998  //
 45999  // The runtime information is available from the
 46000  // `VMotionInfo` data object type.
 46001  type HostVMotionConfig struct {
 46002  	DynamicData
 46003  
 46004  	// Key of the VirtualNic used for VMotion.
 46005  	VmotionNicKey string `xml:"vmotionNicKey,omitempty" json:"vmotionNicKey,omitempty"`
 46006  	// Flag to indicate whether or not VMotion is enabled.
 46007  	Enabled bool `xml:"enabled" json:"enabled"`
 46008  }
 46009  
 46010  func init() {
 46011  	t["HostVMotionConfig"] = reflect.TypeOf((*HostVMotionConfig)(nil)).Elem()
 46012  }
 46013  
 46014  // Deprecated as of VI API 4.0, use `HostVirtualNicManagerInfo`.
 46015  //
 46016  // This data object type describes VMotion host
 46017  // configuration data objects.
 46018  type HostVMotionInfo struct {
 46019  	DynamicData
 46020  
 46021  	// VMotion network configuration.
 46022  	NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 46023  	// IP configuration of the VMotion VirtualNic.
 46024  	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 46025  }
 46026  
 46027  func init() {
 46028  	t["HostVMotionInfo"] = reflect.TypeOf((*HostVMotionInfo)(nil)).Elem()
 46029  }
 46030  
 46031  // The result of an InstantClone task.
 46032  //
 46033  // Contains the dest VM id and timestamp
 46034  // values at the time of different operations.
 46035  type HostVMotionManagerDstInstantCloneResult struct {
 46036  	DynamicData
 46037  
 46038  	// The destination VM ID of the InstantCloned VM.
 46039  	DstVmId int32 `xml:"dstVmId,omitempty" json:"dstVmId,omitempty"`
 46040  	// Time stamp at the start of the InstantClone operation at the dest
 46041  	// VM.
 46042  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 46043  	// Time stamp when the destination VM starts cpt load.
 46044  	CptLoadTime int64 `xml:"cptLoadTime,omitempty" json:"cptLoadTime,omitempty"`
 46045  	// Time stamp when the destination VM completes cpt load.
 46046  	CptLoadDoneTime int64 `xml:"cptLoadDoneTime,omitempty" json:"cptLoadDoneTime,omitempty"`
 46047  	// Time stamp when the destination VM completes replicating memory.
 46048  	ReplicateMemDoneTime int64 `xml:"replicateMemDoneTime,omitempty" json:"replicateMemDoneTime,omitempty"`
 46049  	// Time stamp when the migration completes on the destination VM.
 46050  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 46051  	// Device checkpoint stream time.
 46052  	CptXferTime int64 `xml:"cptXferTime,omitempty" json:"cptXferTime,omitempty"`
 46053  	// Checkpoint cache size used.
 46054  	CptCacheUsed int64 `xml:"cptCacheUsed,omitempty" json:"cptCacheUsed,omitempty"`
 46055  	// Device checkpoint stream size.
 46056  	DevCptStreamSize int64 `xml:"devCptStreamSize,omitempty" json:"devCptStreamSize,omitempty"`
 46057  	// Device checkpoint stream time.
 46058  	DevCptStreamTime int64 `xml:"devCptStreamTime,omitempty" json:"devCptStreamTime,omitempty"`
 46059  }
 46060  
 46061  func init() {
 46062  	t["HostVMotionManagerDstInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerDstInstantCloneResult)(nil)).Elem()
 46063  }
 46064  
 46065  // The result of an InstantClone InitiateSource task.
 46066  //
 46067  // Contains the timestamp
 46068  // value at the time of different operations.
 46069  type HostVMotionManagerSrcInstantCloneResult struct {
 46070  	DynamicData
 46071  
 46072  	// Time stamp at the start of the InstantClone operation at the
 46073  	// source VM.
 46074  	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
 46075  	// Time stamp when the source VM enters quiesce state.
 46076  	QuiesceTime int64 `xml:"quiesceTime,omitempty" json:"quiesceTime,omitempty"`
 46077  	// Time stamp when the source VM successfully quiesces.
 46078  	QuiesceDoneTime int64 `xml:"quiesceDoneTime,omitempty" json:"quiesceDoneTime,omitempty"`
 46079  	// Time stamp when the source VM completes resuming.
 46080  	ResumeDoneTime int64 `xml:"resumeDoneTime,omitempty" json:"resumeDoneTime,omitempty"`
 46081  	// Time stamp when the migration completes on the source VM.
 46082  	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
 46083  }
 46084  
 46085  func init() {
 46086  	t["HostVMotionManagerSrcInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerSrcInstantCloneResult)(nil)).Elem()
 46087  }
 46088  
 46089  // The NetConfig data object type contains the networking
 46090  // configuration for VMotion operations.
 46091  type HostVMotionNetConfig struct {
 46092  	DynamicData
 46093  
 46094  	// List of VirtualNic objects that may be used for VMotion.
 46095  	//
 46096  	// This will be a subset of the list of VirtualNics in
 46097  	// `HostNetworkInfo.vnic`.
 46098  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 46099  	// VirtualNic that is selected for use in VMotion operations.
 46100  	SelectedVnic string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 46101  }
 46102  
 46103  func init() {
 46104  	t["HostVMotionNetConfig"] = reflect.TypeOf((*HostVMotionNetConfig)(nil)).Elem()
 46105  }
 46106  
 46107  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateDiskFromSnapshot_Task`.
 46108  type HostVStorageObjectCreateDiskFromSnapshotRequestType struct {
 46109  	This ManagedObjectReference `xml:"_this" json:"-"`
 46110  	// The ID of the virtual storage object.
 46111  	Id ID `xml:"id" json:"id"`
 46112  	// The datastore where the source virtual storage object
 46113  	// is located.
 46114  	//
 46115  	// Refers instance of `Datastore`.
 46116  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46117  	// The ID of the snapshot of the virtual storage object.
 46118  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46119  	// A user friendly name to be associated with the new disk.
 46120  	Name string `xml:"name" json:"name"`
 46121  	// SPBM Profile requirement on the new virtual storage object.
 46122  	// If not specified datastore default policy would be
 46123  	// assigned.
 46124  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 46125  	// Crypto information of the new disk.
 46126  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 46127  	// Relative location in the specified datastore where disk needs
 46128  	// to be created. If not specified disk gets created at defualt
 46129  	// VStorageObject location on the specified datastore.
 46130  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 46131  	// Provisioining type of the disk as specified in above
 46132  	// mentioned profile. The list of supported values can be found in
 46133  	// `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 46134  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty" vim:"8.0.0.1"`
 46135  }
 46136  
 46137  func init() {
 46138  	t["HostVStorageObjectCreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshotRequestType)(nil)).Elem()
 46139  }
 46140  
 46141  type HostVStorageObjectCreateDiskFromSnapshot_Task HostVStorageObjectCreateDiskFromSnapshotRequestType
 46142  
 46143  func init() {
 46144  	t["HostVStorageObjectCreateDiskFromSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshot_Task)(nil)).Elem()
 46145  }
 46146  
 46147  type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse struct {
 46148  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46149  }
 46150  
 46151  // The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateSnapshot_Task`.
 46152  type HostVStorageObjectCreateSnapshotRequestType struct {
 46153  	This ManagedObjectReference `xml:"_this" json:"-"`
 46154  	// The ID of the virtual storage object.
 46155  	Id ID `xml:"id" json:"id"`
 46156  	// The datastore where the source virtual storage object
 46157  	// is located.
 46158  	//
 46159  	// Refers instance of `Datastore`.
 46160  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46161  	// A short description to be associated with the snapshot.
 46162  	Description string `xml:"description" json:"description"`
 46163  }
 46164  
 46165  func init() {
 46166  	t["HostVStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 46167  }
 46168  
 46169  type HostVStorageObjectCreateSnapshot_Task HostVStorageObjectCreateSnapshotRequestType
 46170  
 46171  func init() {
 46172  	t["HostVStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshot_Task)(nil)).Elem()
 46173  }
 46174  
 46175  type HostVStorageObjectCreateSnapshot_TaskResponse struct {
 46176  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46177  }
 46178  
 46179  // The parameters of `HostVStorageObjectManager.HostVStorageObjectDeleteSnapshot_Task`.
 46180  type HostVStorageObjectDeleteSnapshotRequestType struct {
 46181  	This ManagedObjectReference `xml:"_this" json:"-"`
 46182  	// The ID of the virtual storage object.
 46183  	Id ID `xml:"id" json:"id"`
 46184  	// The datastore where the source virtual storage object
 46185  	// is located.
 46186  	//
 46187  	// Refers instance of `Datastore`.
 46188  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46189  	// The ID of the snapshot of a virtual storage object.
 46190  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46191  }
 46192  
 46193  func init() {
 46194  	t["HostVStorageObjectDeleteSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshotRequestType)(nil)).Elem()
 46195  }
 46196  
 46197  type HostVStorageObjectDeleteSnapshot_Task HostVStorageObjectDeleteSnapshotRequestType
 46198  
 46199  func init() {
 46200  	t["HostVStorageObjectDeleteSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshot_Task)(nil)).Elem()
 46201  }
 46202  
 46203  type HostVStorageObjectDeleteSnapshot_TaskResponse struct {
 46204  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46205  }
 46206  
 46207  type HostVStorageObjectRetrieveSnapshotInfo HostVStorageObjectRetrieveSnapshotInfoRequestType
 46208  
 46209  func init() {
 46210  	t["HostVStorageObjectRetrieveSnapshotInfo"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfo)(nil)).Elem()
 46211  }
 46212  
 46213  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRetrieveSnapshotInfo`.
 46214  type HostVStorageObjectRetrieveSnapshotInfoRequestType struct {
 46215  	This ManagedObjectReference `xml:"_this" json:"-"`
 46216  	// The ID of the virtual storage object.
 46217  	Id ID `xml:"id" json:"id"`
 46218  	// The datastore where the source virtual storage object
 46219  	// is located.
 46220  	//
 46221  	// Refers instance of `Datastore`.
 46222  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46223  }
 46224  
 46225  func init() {
 46226  	t["HostVStorageObjectRetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfoRequestType)(nil)).Elem()
 46227  }
 46228  
 46229  type HostVStorageObjectRetrieveSnapshotInfoResponse struct {
 46230  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 46231  }
 46232  
 46233  // The parameters of `HostVStorageObjectManager.HostVStorageObjectRevert_Task`.
 46234  type HostVStorageObjectRevertRequestType struct {
 46235  	This ManagedObjectReference `xml:"_this" json:"-"`
 46236  	// The ID of the virtual storage object.
 46237  	Id ID `xml:"id" json:"id"`
 46238  	// The datastore where the source virtual storage object
 46239  	// is located.
 46240  	//
 46241  	// Refers instance of `Datastore`.
 46242  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 46243  	// The ID of the snapshot of a virtual storage object.
 46244  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 46245  }
 46246  
 46247  func init() {
 46248  	t["HostVStorageObjectRevertRequestType"] = reflect.TypeOf((*HostVStorageObjectRevertRequestType)(nil)).Elem()
 46249  }
 46250  
 46251  type HostVStorageObjectRevert_Task HostVStorageObjectRevertRequestType
 46252  
 46253  func init() {
 46254  	t["HostVStorageObjectRevert_Task"] = reflect.TypeOf((*HostVStorageObjectRevert_Task)(nil)).Elem()
 46255  }
 46256  
 46257  type HostVStorageObjectRevert_TaskResponse struct {
 46258  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 46259  }
 46260  
 46261  // VFAT file system volume.
 46262  type HostVfatVolume struct {
 46263  	HostFileSystemVolume
 46264  }
 46265  
 46266  func init() {
 46267  	t["HostVfatVolume"] = reflect.TypeOf((*HostVfatVolume)(nil)).Elem()
 46268  }
 46269  
 46270  // This data object type describes the VFFS
 46271  // creation specification.
 46272  type HostVffsSpec struct {
 46273  	DynamicData
 46274  
 46275  	// The device path of the SSD disk.
 46276  	//
 46277  	// See also `HostScsiDisk.devicePath`.
 46278  	DevicePath string `xml:"devicePath" json:"devicePath"`
 46279  	// Partition specification of the SSD disk.
 46280  	//
 46281  	// If this property
 46282  	// is not provided, partition information will be computed
 46283  	// and generated.
 46284  	Partition *HostDiskPartitionSpec `xml:"partition,omitempty" json:"partition,omitempty"`
 46285  	// Major version number of VFFS.
 46286  	//
 46287  	// This can be changed if the VFFS is
 46288  	// upgraded, but this is an irreversible change.
 46289  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46290  	// Volume name of VFFS.
 46291  	VolumeName string `xml:"volumeName" json:"volumeName"`
 46292  }
 46293  
 46294  func init() {
 46295  	t["HostVffsSpec"] = reflect.TypeOf((*HostVffsSpec)(nil)).Elem()
 46296  }
 46297  
 46298  // vFlash File System Volume.
 46299  type HostVffsVolume struct {
 46300  	HostFileSystemVolume
 46301  
 46302  	// Major version number of VFFS.
 46303  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46304  	// Version string.
 46305  	//
 46306  	// Contains major and minor version numbers.
 46307  	Version string `xml:"version" json:"version"`
 46308  	// The universally unique identifier assigned to VFFS.
 46309  	Uuid string `xml:"uuid" json:"uuid"`
 46310  	// The list of partition names that comprise this disk's
 46311  	// VFFS extents.
 46312  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 46313  }
 46314  
 46315  func init() {
 46316  	t["HostVffsVolume"] = reflect.TypeOf((*HostVffsVolume)(nil)).Elem()
 46317  }
 46318  
 46319  // The `HostVirtualNic` data object describes a virtual network adapter
 46320  // that connects to a virtual switch.
 46321  //
 46322  // A host virtual NIC differs from a physical NIC:
 46323  //   - A host virtual NIC is a virtual device that is connected to a virtual switch.
 46324  //   - A physical NIC (`HostNetworkInfo.pnic`) corresponds to a physical
 46325  //     device that is connected to the physical network.
 46326  //
 46327  // A host virtual NIC provides access to the external network through a virtual switch
 46328  // that is bridged through a Physical NIC to a physical network.
 46329  type HostVirtualNic struct {
 46330  	DynamicData
 46331  
 46332  	// Device name.
 46333  	Device string `xml:"device" json:"device"`
 46334  	// Linkable identifier.
 46335  	Key string `xml:"key" json:"key"`
 46336  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 46337  	// portgroup connected.
 46338  	//
 46339  	// If the Virtual NIC is connecting to a
 46340  	// DistributedVirtualSwitch or opaque network, this property is an empty string.
 46341  	Portgroup string `xml:"portgroup" json:"portgroup"`
 46342  	// Configurable properties for the virtual network adapter object.
 46343  	Spec HostVirtualNicSpec `xml:"spec" json:"spec"`
 46344  	// Port(`HostPortGroup.port`) on the port group that the virtual
 46345  	// NIC is using when it is enabled.
 46346  	//
 46347  	// If the Virtual NIC is connected to
 46348  	// DistributedVirtualSwitch or opaque network, this property is unset.
 46349  	Port string `xml:"port,omitempty" json:"port,omitempty"`
 46350  }
 46351  
 46352  func init() {
 46353  	t["HostVirtualNic"] = reflect.TypeOf((*HostVirtualNic)(nil)).Elem()
 46354  }
 46355  
 46356  // The `HostVirtualNicConfig` data object describes the virtual
 46357  // NIC configuration.
 46358  //
 46359  // It represents both the configured properties on a
 46360  // `HostVirtualNic` and identification information.
 46361  type HostVirtualNicConfig struct {
 46362  	DynamicData
 46363  
 46364  	// Change operation to apply on this configuration specification.
 46365  	//
 46366  	// See also `HostConfigChangeOperation_enum`.
 46367  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 46368  	// Virtual NIC device (`HostVirtualNic.device`) to which
 46369  	// configuration applies.
 46370  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 46371  	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
 46372  	// portgroup connected.
 46373  	//
 46374  	// If the Virtual NIC is connecting to a
 46375  	// `DistributedVirtualSwitch` or `HostOpaqueNetworkInfo`,
 46376  	// this property is ignored.
 46377  	Portgroup string `xml:"portgroup" json:"portgroup"`
 46378  	// Specification of the virtual network adapter.
 46379  	Spec *HostVirtualNicSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 46380  }
 46381  
 46382  func init() {
 46383  	t["HostVirtualNicConfig"] = reflect.TypeOf((*HostVirtualNicConfig)(nil)).Elem()
 46384  }
 46385  
 46386  // DataObject which provides a level of indirection when
 46387  // identifying VirtualNics during configuration.
 46388  //
 46389  // This dataObject lets users specify a VirtualNic in terms of
 46390  // the portgroup/Dv Port the Virtual NIC is connected to.
 46391  // This is useful in cases where VirtualNic will be created as part of
 46392  // a configuration operation and the created VirtualNic is referred to
 46393  // in some other part of configuration. e.g: for configuring VMotion
 46394  type HostVirtualNicConnection struct {
 46395  	DynamicData
 46396  
 46397  	// Name of the portgroup to which the virtual nic is connected to.
 46398  	//
 46399  	// If this parameter is set, use a virtual nic connected to
 46400  	// a legacy portgroup.
 46401  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 46402  	// Identifier for the DistributedVirtualPort.
 46403  	//
 46404  	// If the virtual nic is to be connected to a DVS,
 46405  	// \#dvPort will be set instead of #portgroup
 46406  	DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty" json:"dvPort,omitempty"`
 46407  	// Identifier for the opaqueNetworkSpec virtual nic connected to.
 46408  	//
 46409  	// If the virtual nic is to be connected to a logicSwitch,
 46410  	// \#opNetwork will be set instead of #portgroup and #dvPort
 46411  	OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty" json:"opNetwork,omitempty"`
 46412  }
 46413  
 46414  func init() {
 46415  	t["HostVirtualNicConnection"] = reflect.TypeOf((*HostVirtualNicConnection)(nil)).Elem()
 46416  }
 46417  
 46418  // The `HostVirtualNicIpRouteSpec` data object describes the
 46419  // IpRoute configuration used by virtual NIC.
 46420  type HostVirtualNicIpRouteSpec struct {
 46421  	DynamicData
 46422  
 46423  	// By default, a host virtual NIC uses default gateway configuration
 46424  	// from it's `HostNetStackInstance`.
 46425  	//
 46426  	// A custom IPv4 and IPv6
 46427  	// default gateway can be configured by specifying valid
 46428  	// `HostIpRouteConfig.defaultGateway` and
 46429  	// `HostIpRouteConfig.ipV6DefaultGateway` properties.
 46430  	// A user defined IPv4 and IPv6 default gateway can be removed by
 46431  	// unsetting corresponding gateway property from ipRouteConfig.
 46432  	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
 46433  }
 46434  
 46435  func init() {
 46436  	t["HostVirtualNicIpRouteSpec"] = reflect.TypeOf((*HostVirtualNicIpRouteSpec)(nil)).Elem()
 46437  }
 46438  
 46439  // This data object type describes VirtualNic host
 46440  // configuration data objects.
 46441  type HostVirtualNicManagerInfo struct {
 46442  	DynamicData
 46443  
 46444  	// List of VirtualNicManager network configuration.
 46445  	//
 46446  	// See also `VirtualNicManagerNetConfig`This contains the network
 46447  	// configuration for each NicType..
 46448  	NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
 46449  }
 46450  
 46451  func init() {
 46452  	t["HostVirtualNicManagerInfo"] = reflect.TypeOf((*HostVirtualNicManagerInfo)(nil)).Elem()
 46453  }
 46454  
 46455  // DataObject which lets a VirtualNic be marked for
 46456  // use as a `HostVirtualNicManagerNicType_enum`.
 46457  type HostVirtualNicManagerNicTypeSelection struct {
 46458  	DynamicData
 46459  
 46460  	// VirtualNic for the selection is being made
 46461  	Vnic    HostVirtualNicConnection `xml:"vnic" json:"vnic"`
 46462  	NicType []string                 `xml:"nicType,omitempty" json:"nicType,omitempty"`
 46463  }
 46464  
 46465  func init() {
 46466  	t["HostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*HostVirtualNicManagerNicTypeSelection)(nil)).Elem()
 46467  }
 46468  
 46469  // The `HostVirtualNicOpaqueNetworkSpec` data object
 46470  // describes the opaque network(`HostOpaqueNetworkInfo`)
 46471  // configuration used by virtual NIC.
 46472  type HostVirtualNicOpaqueNetworkSpec struct {
 46473  	DynamicData
 46474  
 46475  	// ID of the Opaque network to which the virtual NIC is connected.
 46476  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 46477  	// Type of the Opaque network to which the virtual NIC is connected.
 46478  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 46479  }
 46480  
 46481  func init() {
 46482  	t["HostVirtualNicOpaqueNetworkSpec"] = reflect.TypeOf((*HostVirtualNicOpaqueNetworkSpec)(nil)).Elem()
 46483  }
 46484  
 46485  // The `HostVirtualNicSpec` data object describes the
 46486  // `HostVirtualNic` configuration containing both the configured
 46487  // properties on a virtual NIC and identification information.
 46488  type HostVirtualNicSpec struct {
 46489  	DynamicData
 46490  
 46491  	// IP configuration on the virtual network adapter.
 46492  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 46493  	// Media access control (MAC) address of the virtual network adapter.
 46494  	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
 46495  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 46496  	// connection.
 46497  	//
 46498  	// To specify a port connection, set
 46499  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portKey`
 46500  	// properties. To specify a portgroup connection, set
 46501  	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portgroupKey`
 46502  	// properties.
 46503  	//
 46504  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 46505  	// to which the virtual NIC should connect. You can specify this property
 46506  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 46507  	// `HostVirtualNicSpec.opaqueNetwork`
 46508  	DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty" json:"distributedVirtualPort,omitempty"`
 46509  	// Portgroup (`HostPortGroup`) to which the virtual NIC is connected.
 46510  	//
 46511  	// When reconfiguring a virtual NIC, this property indicates the new portgroup
 46512  	// to which the virtual NIC should connect. You can specify this property
 46513  	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
 46514  	// `HostVirtualNicSpec.opaqueNetwork`
 46515  	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 46516  	// Maximum transmission unit for packets size in bytes for the virtual
 46517  	// NIC.
 46518  	//
 46519  	// If not specified, the Server will use the system default value.
 46520  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 46521  	// Flag enabling or disabling TCP segmentation offset for a virtual NIC.
 46522  	//
 46523  	// If not specified, a default value of true will be used.
 46524  	TsoEnabled *bool `xml:"tsoEnabled" json:"tsoEnabled,omitempty"`
 46525  	// The NetStackInstance that the virtual NIC uses, the value of this property
 46526  	// is default to be `defaultTcpipStack`
 46527  	NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty" json:"netStackInstanceKey,omitempty"`
 46528  	// Opaque network (`HostOpaqueNetworkInfo`) to which the
 46529  	// virtual NIC is connected.
 46530  	//
 46531  	// When reconfiguring a virtual NIC, this property indicates the specification
 46532  	// of opaque network to which the virtual NIC should connect. You can specify
 46533  	// this property only if you do not specify `HostVirtualNicSpec.distributedVirtualPort`
 46534  	// and `HostVirtualNicSpec.portgroup`.
 46535  	OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty"`
 46536  	// An ID assigned to the vmkernel adapter by external management plane.
 46537  	//
 46538  	// The value and format of this property is determined by external management
 46539  	// plane, and vSphere doesn't do any validation. It's also up to external
 46540  	// management plane to set, unset or maintain this property.
 46541  	//
 46542  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set,
 46543  	// otherwise it's value is ignored.
 46544  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 46545  	// The physical nic to which the vmkernel adapter is pinned.
 46546  	//
 46547  	// Setting this value
 46548  	// ensures that the virtual NIC will access external network only via the
 46549  	// the specified physical NIC.
 46550  	//
 46551  	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set.
 46552  	// If the vmkernel adapter is connected to a portgroup or dvPort, then such
 46553  	// pinning can be achieved by configuring correct teaming policy on the portgroup
 46554  	// or dvPort or dvPortgroup that is connected to virtual NIC.
 46555  	PinnedPnic string `xml:"pinnedPnic,omitempty" json:"pinnedPnic,omitempty"`
 46556  	// The ip route configuration used by the vmkernel adapter.
 46557  	//
 46558  	// This attribute
 46559  	// allows the vmkernel adapter to specify its own default gateway.
 46560  	IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty" json:"ipRouteSpec,omitempty"`
 46561  	// Set to true when the vmkernel adapter is configured by
 46562  	// other system indirectly other than by the user directly.
 46563  	SystemOwned *bool `xml:"systemOwned" json:"systemOwned,omitempty"`
 46564  	// The identifier of the DPU hosting the vmknic.
 46565  	//
 46566  	// If vmknic is on ESX host, dpuId will be unset.
 46567  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 46568  }
 46569  
 46570  func init() {
 46571  	t["HostVirtualNicSpec"] = reflect.TypeOf((*HostVirtualNicSpec)(nil)).Elem()
 46572  }
 46573  
 46574  // The virtual switch is a software entity to which multiple virtual network
 46575  // adapters can connect to create a virtual network.
 46576  //
 46577  // It can also be
 46578  // bridged to a physical network.
 46579  type HostVirtualSwitch struct {
 46580  	DynamicData
 46581  
 46582  	// The name of the virtual switch.
 46583  	//
 46584  	// Maximum length is 32 characters.
 46585  	Name string `xml:"name" json:"name"`
 46586  	// The virtual switch key.
 46587  	Key string `xml:"key" json:"key"`
 46588  	// The number of ports that this virtual switch currently has.
 46589  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 46590  	// The number of ports that are available on this virtual switch.
 46591  	//
 46592  	// There
 46593  	// are a number of networking services that utilize a port on the virtual
 46594  	// switch and are not accounted for in the Port array of a PortGroup. For
 46595  	// example, each physical NIC attached to a virtual switch consumes one
 46596  	// port. This property should be used when attempting to implement
 46597  	// admission control for new services attaching to virtual switches.
 46598  	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
 46599  	// The maximum transmission unit (MTU) associated with this virtual switch
 46600  	// in bytes.
 46601  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 46602  	// The list of port groups configured for this virtual switch.
 46603  	Portgroup []string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
 46604  	// The set of physical network adapters associated with this bridge.
 46605  	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 46606  	// The specification of this virtual switch.
 46607  	Spec HostVirtualSwitchSpec `xml:"spec" json:"spec"`
 46608  }
 46609  
 46610  func init() {
 46611  	t["HostVirtualSwitch"] = reflect.TypeOf((*HostVirtualSwitch)(nil)).Elem()
 46612  }
 46613  
 46614  // This data type describes a bridge that automatically selects
 46615  // a particular physical network adapter on the host
 46616  // according to some predetermined policy.
 46617  //
 46618  // Used primarily to support mobility
 46619  // scenarios.
 46620  type HostVirtualSwitchAutoBridge struct {
 46621  	HostVirtualSwitchBridge
 46622  
 46623  	// List of physical network adapters that have been excluded from
 46624  	// participating in the AutoBridge
 46625  	ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty" json:"excludedNicDevice,omitempty"`
 46626  }
 46627  
 46628  func init() {
 46629  	t["HostVirtualSwitchAutoBridge"] = reflect.TypeOf((*HostVirtualSwitchAutoBridge)(nil)).Elem()
 46630  }
 46631  
 46632  // This data object type describes the configuration of the beacon
 46633  // to probe connectivity of physical network adapters.
 46634  //
 46635  // A
 46636  // beacon is sent out of one network adapter and should arrive on another
 46637  // network adapter in the team. The successful roundtrip indicates
 46638  // that the network adapters are working.
 46639  //
 46640  // Define this data object to enable beacon probing as a method to validate
 46641  // the link status of a physical network adapter. Beacon probing must
 46642  // be configured in order to use the beacon status as a criteria to
 46643  // determine if a physical network adapter failed.
 46644  //
 46645  // See also `HostNicFailureCriteria.checkBeacon`.
 46646  type HostVirtualSwitchBeaconConfig struct {
 46647  	DynamicData
 46648  
 46649  	// Determines how often, in seconds, a beacon should be sent.
 46650  	Interval int32 `xml:"interval" json:"interval"`
 46651  }
 46652  
 46653  func init() {
 46654  	t["HostVirtualSwitchBeaconConfig"] = reflect.TypeOf((*HostVirtualSwitchBeaconConfig)(nil)).Elem()
 46655  }
 46656  
 46657  // This data object type describes a bridge that provides
 46658  // network adapter teaming capabilities.
 46659  type HostVirtualSwitchBondBridge struct {
 46660  	HostVirtualSwitchBridge
 46661  
 46662  	// The list of keys of the physical network adapters to be bridged.
 46663  	NicDevice []string `xml:"nicDevice" json:"nicDevice"`
 46664  	// The beacon configuration to probe for the validity of a link.
 46665  	//
 46666  	// If this is set, beacon probing is configured and will be used.
 46667  	// If this is not set, beacon probing is disabled.
 46668  	Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty" json:"beacon,omitempty"`
 46669  	// The link discovery protocol configuration for the virtual switch.
 46670  	//
 46671  	// See also `LinkDiscoveryProtocolConfig`.
 46672  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 46673  }
 46674  
 46675  func init() {
 46676  	t["HostVirtualSwitchBondBridge"] = reflect.TypeOf((*HostVirtualSwitchBondBridge)(nil)).Elem()
 46677  }
 46678  
 46679  // A bridge connects a virtual switch to a physical network adapter.
 46680  //
 46681  // There are multiple types of bridges.
 46682  type HostVirtualSwitchBridge struct {
 46683  	DynamicData
 46684  }
 46685  
 46686  func init() {
 46687  	t["HostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem()
 46688  }
 46689  
 46690  // This data object type describes the VirtualSwitch configuration
 46691  // containing both the configurable
 46692  // properties on a VirtualSwitch and identification information.
 46693  type HostVirtualSwitchConfig struct {
 46694  	DynamicData
 46695  
 46696  	// This property indicates the change operation to apply on
 46697  	// this configuration specification.
 46698  	//
 46699  	// See also `HostConfigChangeOperation_enum`.
 46700  	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
 46701  	// The name of the virtual switch.
 46702  	//
 46703  	// Maximum length is 32 characters.
 46704  	Name string `xml:"name" json:"name"`
 46705  	// The specification of the VirtualSwitch.
 46706  	Spec *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 46707  }
 46708  
 46709  func init() {
 46710  	t["HostVirtualSwitchConfig"] = reflect.TypeOf((*HostVirtualSwitchConfig)(nil)).Elem()
 46711  }
 46712  
 46713  // A bridge that is statically bound to a single physical network adapter.
 46714  type HostVirtualSwitchSimpleBridge struct {
 46715  	HostVirtualSwitchBridge
 46716  
 46717  	// The key of the physical network adapter to be bridged.
 46718  	NicDevice string `xml:"nicDevice" json:"nicDevice"`
 46719  }
 46720  
 46721  func init() {
 46722  	t["HostVirtualSwitchSimpleBridge"] = reflect.TypeOf((*HostVirtualSwitchSimpleBridge)(nil)).Elem()
 46723  }
 46724  
 46725  // This data object type describes the VirtualSwitch specification
 46726  // representing the properties on a VirtualSwitch that can be
 46727  // configured once the object exists.
 46728  type HostVirtualSwitchSpec struct {
 46729  	DynamicData
 46730  
 46731  	// The number of ports that this virtual switch is configured to use.
 46732  	//
 46733  	// Changing this setting does not take effect until the next reboot. The maximum
 46734  	// value is 1024, although other constraints, such as memory limits, may establish
 46735  	// a lower effective limit.
 46736  	NumPorts int32 `xml:"numPorts" json:"numPorts"`
 46737  	// The bridge specification describes how physical network adapters
 46738  	// can be bridged to a virtual switch.
 46739  	Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr" json:"bridge,omitempty"`
 46740  	// The virtual switch policy specification.
 46741  	//
 46742  	// This has a lower
 46743  	// precedence than PortGroup. If the policy property is not set
 46744  	// and you are creating a virtual switch, then a default
 46745  	// policy property setting is used. If the policy property is not
 46746  	// set and you are updating a virtual switch, then the policy will
 46747  	// be unchanged.
 46748  	Policy *HostNetworkPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 46749  	// The maximum transmission unit (MTU) of the virtual switch in bytes.
 46750  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 46751  }
 46752  
 46753  func init() {
 46754  	t["HostVirtualSwitchSpec"] = reflect.TypeOf((*HostVirtualSwitchSpec)(nil)).Elem()
 46755  }
 46756  
 46757  // The AccessSpec data object declares an update to the service
 46758  // access granted to a VM.
 46759  //
 46760  // The given list of services will either
 46761  // be granted in addition to existing services, replace the
 46762  // existing service or be revoked depending on the mode
 46763  // specified. In case of a revoke, an empty or non-existing service
 46764  // list indicates that all granted services should be revoked.
 46765  type HostVmciAccessManagerAccessSpec struct {
 46766  	DynamicData
 46767  
 46768  	// Refers instance of `VirtualMachine`.
 46769  	Vm       ManagedObjectReference `xml:"vm" json:"vm"`
 46770  	Services []string               `xml:"services,omitempty" json:"services,omitempty"`
 46771  	Mode     string                 `xml:"mode" json:"mode"`
 46772  }
 46773  
 46774  func init() {
 46775  	t["HostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*HostVmciAccessManagerAccessSpec)(nil)).Elem()
 46776  }
 46777  
 46778  // When a user resignatures an UnresolvedVmfsVolume through DatastoreSystem API,
 46779  // we resignature and auto-mount on the other hosts which share the
 46780  // same underlying storage luns.
 46781  //
 46782  // As part of the operation, we rescan host.
 46783  // This data object describes the outcome of rescan operation on a host
 46784  type HostVmfsRescanResult struct {
 46785  	DynamicData
 46786  
 46787  	// Host name on which rescan was performed
 46788  	//
 46789  	// Refers instance of `HostSystem`.
 46790  	Host ManagedObjectReference `xml:"host" json:"host"`
 46791  	// 'fault' would be set if the operation was not successful
 46792  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 46793  }
 46794  
 46795  func init() {
 46796  	t["HostVmfsRescanResult"] = reflect.TypeOf((*HostVmfsRescanResult)(nil)).Elem()
 46797  }
 46798  
 46799  // This data object type describes the VMware File System (VMFS)
 46800  // creation specification.
 46801  //
 46802  // Once created, these properties for the most
 46803  // part cannot be changed. There are a few exceptions.
 46804  type HostVmfsSpec struct {
 46805  	DynamicData
 46806  
 46807  	// Head extent of VMFS.
 46808  	//
 46809  	// The head extent identifies the VMFS. However,
 46810  	// the head extent should not be used to identify the VMFS across host
 46811  	// reboots. The actual identifier is specified in "vmhbaI:T:L" format
 46812  	// which is not guaranteed to be stable across reboots. Define a volume
 46813  	// name that is unique to the host and use it to refer to the VMFS.
 46814  	// Alternatively, the immutable UUID of the VMFS can be used after it
 46815  	// is created.
 46816  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 46817  	// Deprecated as of vSphere API 6.5, use
 46818  	// `HostVmfsSpec.blockSize` instead.
 46819  	//
 46820  	// The block size of VMFS in megabytes (MB).
 46821  	//
 46822  	// Determines the maximum file
 46823  	// size. If this optional property is not set, the maximum
 46824  	// file size defaults to the maximum file size for the platform.
 46825  	//
 46826  	// In VMFS2, the valid block sizes 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB,
 46827  	// 128MB, and 256MB.
 46828  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 46829  	// In VMFS5, the only valid block size is 1MB.
 46830  	BlockSizeMb int32 `xml:"blockSizeMb,omitempty" json:"blockSizeMb,omitempty"`
 46831  	// Major version number of VMFS.
 46832  	//
 46833  	// This can be changed if the VMFS is
 46834  	// upgraded, but this is an irreversible change.
 46835  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46836  	// Volume name of VMFS.
 46837  	VolumeName string `xml:"volumeName" json:"volumeName"`
 46838  	// The block size of VMFS in kilotypes (KB).
 46839  	//
 46840  	// Determines the maximum file
 46841  	// size. If this optional property is not set, the maximum
 46842  	// file size defaults to the maximum file size for the platform.
 46843  	//
 46844  	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
 46845  	// In VMFS5, the only valid block size is 1MB.
 46846  	// In VMFS6, the valid block sizes are 64KB and 1MB.
 46847  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty"`
 46848  	// The granularity of VMFS unmap operations.
 46849  	//
 46850  	// VMFS unmap reclaims
 46851  	// unused storage space.
 46852  	// The unit is KB. The minimum unmap granularity is 8KB. The maximum
 46853  	// unmap granularity is determined by the block size of VMFS
 46854  	// `HostVmfsVolume.blockSize`.
 46855  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty"`
 46856  	// VMFS unmap priority.
 46857  	//
 46858  	// VMFS unmap reclaims unused storage space. This
 46859  	// determines the processing rate of unmaps.
 46860  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 46861  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty"`
 46862  	// VMFS unmap bandwidth related specification.
 46863  	//
 46864  	// See
 46865  	// `VmfsUnmapBandwidthSpec` for detail.
 46866  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty"`
 46867  }
 46868  
 46869  func init() {
 46870  	t["HostVmfsSpec"] = reflect.TypeOf((*HostVmfsSpec)(nil)).Elem()
 46871  }
 46872  
 46873  // The VMFS file system.
 46874  type HostVmfsVolume struct {
 46875  	HostFileSystemVolume
 46876  
 46877  	// Deprecated as of vSphere API 6.5, use
 46878  	// `HostVmfsVolume.blockSize` instead.
 46879  	//
 46880  	// Block size of VMFS.
 46881  	//
 46882  	// Determines maximum file size. The maximum number
 46883  	// of blocks is typically fixed with each specific version of VMFS. To
 46884  	// increase the maximum size of a VMFS file, increase the block size.
 46885  	//
 46886  	// The minimum block size is 1MB.
 46887  	BlockSizeMb int32 `xml:"blockSizeMb" json:"blockSizeMb"`
 46888  	// Block size of VMFS in KB.
 46889  	//
 46890  	// Determines maximum file size. The maximum
 46891  	// number of blocks is typically fixed with each specific version of VMFS.
 46892  	// To increase the maximum size of a VMFS file, increase the block size.
 46893  	//
 46894  	// The minimum block size is 1MB.
 46895  	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty"`
 46896  	// VMFS unmap reclaims unused storage space.
 46897  	//
 46898  	// This property
 46899  	// determines the granularity of unmap operations.
 46900  	// The unit is KB. If not specified, the default value is the same as
 46901  	// the block size of VMFS `HostVmfsVolume.blockSize`.
 46902  	// This property cannot be changed after a VMFS volume is created.
 46903  	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty"`
 46904  	// VMFS unmap reclaims unused storage space.
 46905  	//
 46906  	// This property
 46907  	// determines the processing rate of unmaps.
 46908  	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
 46909  	// If not specified, the default value is
 46910  	// `low`, which means
 46911  	// unmap is processed at low rate. This property can be updated by
 46912  	// calling `HostStorageSystem.UpdateVmfsUnmapPriority`.
 46913  	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty"`
 46914  	// VMFS unmap bandwidth related specification.
 46915  	//
 46916  	// See
 46917  	// `VmfsUnmapBandwidthSpec` for detail.
 46918  	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty"`
 46919  	// Maximum number of blocks.
 46920  	//
 46921  	// Determines maximum file size along
 46922  	// with blockSize. See information about the blockSize.
 46923  	MaxBlocks int32 `xml:"maxBlocks" json:"maxBlocks"`
 46924  	// Major version number of VMFS.
 46925  	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
 46926  	// Version string.
 46927  	//
 46928  	// Contains major and minor version numbers.
 46929  	Version string `xml:"version" json:"version"`
 46930  	// The universally unique identifier assigned to VMFS.
 46931  	Uuid string `xml:"uuid" json:"uuid"`
 46932  	// The list of partition names that comprise this disk's
 46933  	// VMFS extents.
 46934  	//
 46935  	// This property can be accessed via various enclosing objects.
 46936  	// In VirtualCenter, where it can be accessed from multiple
 46937  	// hosts, the value of this property may differ according to the context
 46938  	// in which it is accessed. When accessed from the
 46939  	// `VmfsDatastoreInfo` object, in VirtualCenter, this
 46940  	// property reflects the extent information of any one of the hosts visible
 46941  	// to the datastore.
 46942  	//
 46943  	// For a VirtualCenter system which manages ESX Server 2.x and
 46944  	// ESX Server 3.x hosts, this extent information is only correlatable
 46945  	// across hosts if the extents are exposed on the same adapter on all hosts
 46946  	// which can access them. To find the extent names for a specific host,
 46947  	// this same property should be accessed via the host's
 46948  	// `HostFileSystemVolume` object, by correlating the uuid of
 46949  	// the VMFS datastore in the VmfsDatastoreInfo object to the uuid in the
 46950  	// FileSystemVolume object.
 46951  	//
 46952  	// For a Virtual Center system which manages only ESX Server hosts with
 46953  	// versions 4.0 onwards , this extent information is correlatable across
 46954  	// hosts, irrespective of the adapters the extents are exposed on.
 46955  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 46956  	// Can the filesystem be upgraded to a newer version.
 46957  	//
 46958  	// See also `HostStorageSystem.UpgradeVmfs`.
 46959  	VmfsUpgradable bool `xml:"vmfsUpgradable" json:"vmfsUpgradable"`
 46960  	// Information about 'forceMounted' VmfsVolume.
 46961  	//
 46962  	// When the system detects a copy of a VmfsVolume, it will not be
 46963  	// auto-mounted on the host and it will be detected as
 46964  	// 'UnresolvedVmfsVolume'. If user decides to 'forceMount' the
 46965  	// VmfsVolume on the host, forceMountedInfo will be populated.
 46966  	// It will not be set for automounted VMFS volumes.
 46967  	ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty" json:"forceMountedInfo,omitempty"`
 46968  	// Indicates whether the volume is SSD backed.
 46969  	//
 46970  	// If unset, the information whether the volume is SSD backed is unknown.
 46971  	Ssd *bool `xml:"ssd" json:"ssd,omitempty"`
 46972  	// Indicates whether the volume is backed by local disk.
 46973  	//
 46974  	// If unset, the information of the volume is local-disk backed is unknown.
 46975  	Local *bool `xml:"local" json:"local,omitempty"`
 46976  	// The type of disk drives.
 46977  	//
 46978  	// See `ScsiDiskType_enum`
 46979  	// for supported types.
 46980  	// If unset, the default disk drive type is
 46981  	// `native512`.
 46982  	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty"`
 46983  }
 46984  
 46985  func init() {
 46986  	t["HostVmfsVolume"] = reflect.TypeOf((*HostVmfsVolume)(nil)).Elem()
 46987  }
 46988  
 46989  // This event records when some host Virtual NICs were reconfigured to use
 46990  // DVPorts with port level configuration, which might be different
 46991  // from the DVportgroup.
 46992  type HostVnicConnectedToCustomizedDVPortEvent struct {
 46993  	HostEvent
 46994  
 46995  	// Information about the Virtual NIC that is using the DVport.
 46996  	Vnic VnicPortArgument `xml:"vnic" json:"vnic"`
 46997  	// Information about the previous Virtual NIC that is using the DVport.
 46998  	PrevPortKey string `xml:"prevPortKey,omitempty" json:"prevPortKey,omitempty"`
 46999  }
 47000  
 47001  func init() {
 47002  	t["HostVnicConnectedToCustomizedDVPortEvent"] = reflect.TypeOf((*HostVnicConnectedToCustomizedDVPortEvent)(nil)).Elem()
 47003  }
 47004  
 47005  // All fields in the CMMDS Query spec are optional, but at least one needs
 47006  // specified to make a valid query.
 47007  type HostVsanInternalSystemCmmdsQuery struct {
 47008  	DynamicData
 47009  
 47010  	// CMMDS type, e.g.
 47011  	//
 47012  	// DOM\_OBJECT, LSOM\_OBJECT, POLICY, DISK etc.
 47013  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 47014  	// UUID of the entry.
 47015  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 47016  	// UUID of the owning node.
 47017  	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
 47018  }
 47019  
 47020  func init() {
 47021  	t["HostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*HostVsanInternalSystemCmmdsQuery)(nil)).Elem()
 47022  }
 47023  
 47024  // Result of DeleteVsanObjects.
 47025  type HostVsanInternalSystemDeleteVsanObjectsResult struct {
 47026  	DynamicData
 47027  
 47028  	// UUID of the VSAN object.
 47029  	Uuid string `xml:"uuid" json:"uuid"`
 47030  	// Indicates success or failure of object deletion.
 47031  	Success bool `xml:"success" json:"success"`
 47032  	// List of LocalizableMessages with the failure vobs.
 47033  	//
 47034  	// This is unset if delete is successful.
 47035  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47036  }
 47037  
 47038  func init() {
 47039  	t["HostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*HostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem()
 47040  }
 47041  
 47042  // Operation result for a VSAN object upon failure.
 47043  type HostVsanInternalSystemVsanObjectOperationResult struct {
 47044  	DynamicData
 47045  
 47046  	// The UUID of the in question VSAN object.
 47047  	Uuid string `xml:"uuid" json:"uuid"`
 47048  	// List of LocalizableMessages with the failure vobs.
 47049  	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47050  }
 47051  
 47052  func init() {
 47053  	t["HostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem()
 47054  }
 47055  
 47056  // Result structure for a VSAN Physical Disk Diagnostics run.
 47057  //
 47058  // Specifies the
 47059  // result of a single disk.
 47060  type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
 47061  	DynamicData
 47062  
 47063  	// VSAN Disk UUID of the checked disk.
 47064  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 47065  	// Indicates success or failure of object creation on the disk.
 47066  	Success bool `xml:"success" json:"success"`
 47067  	// A failure reason type, in case of failure.
 47068  	FailureReason string `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
 47069  }
 47070  
 47071  func init() {
 47072  	t["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem()
 47073  }
 47074  
 47075  type HostVvolNQN struct {
 47076  	DynamicData
 47077  
 47078  	TargetNQN    string `xml:"targetNQN" json:"targetNQN"`
 47079  	StorageArray string `xml:"storageArray" json:"storageArray"`
 47080  	Online       bool   `xml:"online" json:"online"`
 47081  }
 47082  
 47083  func init() {
 47084  	t["HostVvolNQN"] = reflect.TypeOf((*HostVvolNQN)(nil)).Elem()
 47085  	minAPIVersionForType["HostVvolNQN"] = "8.0.2.0"
 47086  }
 47087  
 47088  type HostVvolVolume struct {
 47089  	HostFileSystemVolume
 47090  
 47091  	// The universally unique identifier assigned to vvolDS.
 47092  	ScId   string       `xml:"scId" json:"scId"`
 47093  	HostPE []VVolHostPE `xml:"hostPE,omitempty" json:"hostPE,omitempty"`
 47094  	// Virtual Protocol endpoints for this volume
 47095  	HostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"hostVvolNQN,omitempty" json:"hostVvolNQN,omitempty" vim:"8.0.2.0"`
 47096  	// VASA Providers that manage this volume
 47097  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 47098  	// List of storage array serving this VVol based storage container
 47099  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 47100  	// Backing protocol of the datastore
 47101  	ProtocolEndpointType string `xml:"protocolEndpointType,omitempty" json:"protocolEndpointType,omitempty" vim:"8.0.0.0"`
 47102  	// vVol NQN field availability
 47103  	VvolNQNFieldsAvailable *bool `xml:"vvolNQNFieldsAvailable" json:"vvolNQNFieldsAvailable,omitempty" vim:"8.0.2.0"`
 47104  	// if set to true, indicates a stretched container
 47105  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 47106  }
 47107  
 47108  func init() {
 47109  	t["HostVvolVolume"] = reflect.TypeOf((*HostVvolVolume)(nil)).Elem()
 47110  }
 47111  
 47112  type HostVvolVolumeHostVvolNQN struct {
 47113  	DynamicData
 47114  
 47115  	// The host associated with this volume.
 47116  	//
 47117  	// Refers instance of `HostSystem`.
 47118  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 47119  	// Host-specific information about the virtual ProtocolEndpoint.
 47120  	VvolNQN []HostVvolNQN `xml:"vvolNQN,omitempty" json:"vvolNQN,omitempty"`
 47121  }
 47122  
 47123  func init() {
 47124  	t["HostVvolVolumeHostVvolNQN"] = reflect.TypeOf((*HostVvolVolumeHostVvolNQN)(nil)).Elem()
 47125  	minAPIVersionForType["HostVvolVolumeHostVvolNQN"] = "8.0.2.0"
 47126  }
 47127  
 47128  type HostVvolVolumeSpecification struct {
 47129  	DynamicData
 47130  
 47131  	// Maximum size of the container
 47132  	MaxSizeInMB int64 `xml:"maxSizeInMB" json:"maxSizeInMB"`
 47133  	// Container name.
 47134  	VolumeName string `xml:"volumeName" json:"volumeName"`
 47135  	// VASA Providers that manage this volume
 47136  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 47137  	// Storage Array
 47138  	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
 47139  	// Vendor specified storage-container ID
 47140  	Uuid string `xml:"uuid" json:"uuid"`
 47141  	// if set to true, indicates a stretched container
 47142  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 47143  }
 47144  
 47145  func init() {
 47146  	t["HostVvolVolumeSpecification"] = reflect.TypeOf((*HostVvolVolumeSpecification)(nil)).Elem()
 47147  }
 47148  
 47149  // This event records a change in a host's WWN (World Wide Name).
 47150  type HostWwnChangedEvent struct {
 47151  	HostEvent
 47152  
 47153  	// The old node WWN.
 47154  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 47155  	// The old port WWN.
 47156  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 47157  	// The new node WWN.
 47158  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 47159  	// The new port WWN.
 47160  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 47161  }
 47162  
 47163  func init() {
 47164  	t["HostWwnChangedEvent"] = reflect.TypeOf((*HostWwnChangedEvent)(nil)).Elem()
 47165  }
 47166  
 47167  // This event records a conflict of host WWNs (World Wide Name).
 47168  type HostWwnConflictEvent struct {
 47169  	HostEvent
 47170  
 47171  	// The virtual machine whose WWN conflicts with the
 47172  	// current host's WWN.
 47173  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 47174  	// The host whose physical WWN conflicts with the
 47175  	// current host's WWN.
 47176  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 47177  	// The WWN in conflict.
 47178  	Wwn int64 `xml:"wwn" json:"wwn"`
 47179  }
 47180  
 47181  func init() {
 47182  	t["HostWwnConflictEvent"] = reflect.TypeOf((*HostWwnConflictEvent)(nil)).Elem()
 47183  }
 47184  
 47185  // An attempt is being made to move a virtual machine's disk that has
 47186  // associated snapshots, and preserving the snapshots is not supported by the
 47187  // host because the virtual machine is currently powered on.
 47188  type HotSnapshotMoveNotSupported struct {
 47189  	SnapshotCopyNotSupported
 47190  }
 47191  
 47192  func init() {
 47193  	t["HotSnapshotMoveNotSupported"] = reflect.TypeOf((*HotSnapshotMoveNotSupported)(nil)).Elem()
 47194  }
 47195  
 47196  type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported
 47197  
 47198  func init() {
 47199  	t["HotSnapshotMoveNotSupportedFault"] = reflect.TypeOf((*HotSnapshotMoveNotSupportedFault)(nil)).Elem()
 47200  }
 47201  
 47202  // The `HourlyTaskScheduler` data object sets the time for hourly
 47203  // task execution.
 47204  //
 47205  // By default, the scheduled task will run once every hour,
 47206  // at the specified minute.
 47207  //
 47208  // If you set the interval to a value greater than 1, the task will
 47209  // execute at the specified hourly interval. (For example, an interval
 47210  // of 2 will cause the task to execute at the specified minute every 2 hours.)
 47211  type HourlyTaskScheduler struct {
 47212  	RecurrentTaskScheduler
 47213  
 47214  	// The minute at which the `RecurrentTaskScheduler` runs
 47215  	// the task.
 47216  	//
 47217  	// Specify the minute value as a UTC (Coordinated Universal Time)
 47218  	// value in the range 0 to 59.
 47219  	//
 47220  	// For vCenter 2.x and prior releases, use the server's local time.
 47221  	// For example, use Australia Northern Territory (UTC +9:30) or Indian (UTC +5:30)
 47222  	// time values, rather than a UTC value.
 47223  	Minute int32 `xml:"minute" json:"minute"`
 47224  }
 47225  
 47226  func init() {
 47227  	t["HourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem()
 47228  }
 47229  
 47230  // Generic base class for outbound HTTP communication errors.
 47231  type HttpFault struct {
 47232  	VimFault
 47233  
 47234  	// HTTP status code received from external web-server.
 47235  	StatusCode int32 `xml:"statusCode" json:"statusCode"`
 47236  	// HTTP status message received from external web-server.
 47237  	StatusMessage string `xml:"statusMessage" json:"statusMessage"`
 47238  }
 47239  
 47240  func init() {
 47241  	t["HttpFault"] = reflect.TypeOf((*HttpFault)(nil)).Elem()
 47242  }
 47243  
 47244  type HttpFaultFault HttpFault
 47245  
 47246  func init() {
 47247  	t["HttpFaultFault"] = reflect.TypeOf((*HttpFaultFault)(nil)).Elem()
 47248  }
 47249  
 47250  type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType
 47251  
 47252  func init() {
 47253  	t["HttpNfcLeaseAbort"] = reflect.TypeOf((*HttpNfcLeaseAbort)(nil)).Elem()
 47254  }
 47255  
 47256  // The parameters of `HttpNfcLease.HttpNfcLeaseAbort`.
 47257  type HttpNfcLeaseAbortRequestType struct {
 47258  	This ManagedObjectReference `xml:"_this" json:"-"`
 47259  	// \[in\] The fault that caused the abort, if any.
 47260  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 47261  }
 47262  
 47263  func init() {
 47264  	t["HttpNfcLeaseAbortRequestType"] = reflect.TypeOf((*HttpNfcLeaseAbortRequestType)(nil)).Elem()
 47265  }
 47266  
 47267  type HttpNfcLeaseAbortResponse struct {
 47268  }
 47269  
 47270  // Descriptor of the lease capabilities.
 47271  type HttpNfcLeaseCapabilities struct {
 47272  	DynamicData
 47273  
 47274  	// True if overall this lease can be upgraded to pull mode and
 47275  	// all hosts in this lease support pull mode.
 47276  	//
 47277  	// Prerequisite before calling pullFromUrls.
 47278  	PullModeSupported bool `xml:"pullModeSupported" json:"pullModeSupported"`
 47279  	// True if all hosts in the lease support HTTP CORS.
 47280  	CorsSupported bool `xml:"corsSupported" json:"corsSupported"`
 47281  }
 47282  
 47283  func init() {
 47284  	t["HttpNfcLeaseCapabilities"] = reflect.TypeOf((*HttpNfcLeaseCapabilities)(nil)).Elem()
 47285  }
 47286  
 47287  type HttpNfcLeaseComplete HttpNfcLeaseCompleteRequestType
 47288  
 47289  func init() {
 47290  	t["HttpNfcLeaseComplete"] = reflect.TypeOf((*HttpNfcLeaseComplete)(nil)).Elem()
 47291  }
 47292  
 47293  type HttpNfcLeaseCompleteRequestType struct {
 47294  	This ManagedObjectReference `xml:"_this" json:"-"`
 47295  }
 47296  
 47297  func init() {
 47298  	t["HttpNfcLeaseCompleteRequestType"] = reflect.TypeOf((*HttpNfcLeaseCompleteRequestType)(nil)).Elem()
 47299  }
 47300  
 47301  type HttpNfcLeaseCompleteResponse struct {
 47302  }
 47303  
 47304  // For a given datastore, represented by datastoreKey, contains a list of leased
 47305  // multi-POST-capable hosts connected to it.
 47306  type HttpNfcLeaseDatastoreLeaseInfo struct {
 47307  	DynamicData
 47308  
 47309  	// Datastore key.
 47310  	DatastoreKey string `xml:"datastoreKey" json:"datastoreKey"`
 47311  	// List of hosts connected to this datastore and covered by this lease.
 47312  	//
 47313  	// The
 47314  	// hosts in this list are multi-POST-capable, and any one of them can be used
 47315  	// to transfer disks on this datastore.
 47316  	Hosts []HttpNfcLeaseHostInfo `xml:"hosts" json:"hosts"`
 47317  }
 47318  
 47319  func init() {
 47320  	t["HttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem()
 47321  }
 47322  
 47323  // Provides a mapping from logical device IDs to upload/download
 47324  // URLs.
 47325  //
 47326  // For export, a single device id is returned based on the object
 47327  // identifiers for the objects.
 47328  //
 47329  // For import, two device ids are returned. One based on the object
 47330  // names used in the ImportSpec, and one based on the object
 47331  // identifiers for the created objects. This is immutable and would
 47332  // match the id if an ExportLease is latter created.
 47333  type HttpNfcLeaseDeviceUrl struct {
 47334  	DynamicData
 47335  
 47336  	// The immutable identifier for the device.
 47337  	//
 47338  	// This is set for both import/export
 47339  	// leases.
 47340  	Key string `xml:"key" json:"key"`
 47341  	// Identifies the device based on the names in an ImportSpec.
 47342  	//
 47343  	// This is only
 47344  	// set for import leases.
 47345  	ImportKey string `xml:"importKey" json:"importKey"`
 47346  	// The URL to use to upload/download the device content.
 47347  	//
 47348  	// The returned url contains either an IP address, a hostname or a "\*". If a
 47349  	// "\*" is returned the client must substitutes the "\*" with the hostname
 47350  	// or IP address used when connecting to the server.
 47351  	// For example if the client connected to "someHost" and the device
 47352  	// url returned is:
 47353  	//
 47354  	//	http:// *:somePort/somePath
 47355  	//
 47356  	// the client must substitute the "\*" with "someHost" before use. The resulting
 47357  	// url would be:
 47358  	//
 47359  	//	http://someHost:somePort/somePath
 47360  	//
 47361  	// The server cannot return a valid hostname or IP address when the client
 47362  	// connects via a NAT, a proxy, or when the server is multihomed.
 47363  	Url string `xml:"url" json:"url"`
 47364  	// SSL thumbprint for the host the URL refers to.
 47365  	//
 47366  	// Empty if no SSL thumbprint
 47367  	// is available or needed.
 47368  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 47369  	// Optional value to specify if the attached file is a disk in
 47370  	// vmdk format.
 47371  	Disk *bool `xml:"disk" json:"disk,omitempty"`
 47372  	// Id for this target.
 47373  	//
 47374  	// This only used for multi-POSTing, where a single HTTP
 47375  	// POST is applied to multiple targets.
 47376  	TargetId string `xml:"targetId,omitempty" json:"targetId,omitempty"`
 47377  	// Key for the datastore this disk is on.
 47378  	//
 47379  	// This is used to look up hosts
 47380  	// which can be used to multi-POST disk contents, in the host map of the
 47381  	// lease.
 47382  	DatastoreKey string `xml:"datastoreKey,omitempty" json:"datastoreKey,omitempty"`
 47383  	// Specifies the size of the file backing for this device.
 47384  	//
 47385  	// This property
 47386  	// is only set for non-disk file backings.
 47387  	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
 47388  }
 47389  
 47390  func init() {
 47391  	t["HttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*HttpNfcLeaseDeviceUrl)(nil)).Elem()
 47392  }
 47393  
 47394  type HttpNfcLeaseGetManifest HttpNfcLeaseGetManifestRequestType
 47395  
 47396  func init() {
 47397  	t["HttpNfcLeaseGetManifest"] = reflect.TypeOf((*HttpNfcLeaseGetManifest)(nil)).Elem()
 47398  }
 47399  
 47400  type HttpNfcLeaseGetManifestRequestType struct {
 47401  	This ManagedObjectReference `xml:"_this" json:"-"`
 47402  }
 47403  
 47404  func init() {
 47405  	t["HttpNfcLeaseGetManifestRequestType"] = reflect.TypeOf((*HttpNfcLeaseGetManifestRequestType)(nil)).Elem()
 47406  }
 47407  
 47408  type HttpNfcLeaseGetManifestResponse struct {
 47409  	Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 47410  }
 47411  
 47412  // Contains information about how to connect to a given host.
 47413  type HttpNfcLeaseHostInfo struct {
 47414  	DynamicData
 47415  
 47416  	// The host url will be of the form
 47417  	//
 47418  	//	https://hostname/nfc/ticket id/
 47419  	//
 47420  	// The url can be used for both POST requests to a single device and for
 47421  	// multi-POST requests to multiple devices. A single-POST URL is formed
 47422  	// by adding the target id to the hostUrl:
 47423  	//
 47424  	//	https://hostname/nfc/ticket id/target id
 47425  	//
 47426  	// a multi-POST URL looks like
 47427  	//
 47428  	//	https://hostname/nfc/ticket id/multi?targets=id1,id2,id3,...
 47429  	Url string `xml:"url" json:"url"`
 47430  	// SSL thumbprint for the host the URL refers to.
 47431  	//
 47432  	// Empty if no SSL thumbprint
 47433  	// is available or needed.
 47434  	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
 47435  }
 47436  
 47437  func init() {
 47438  	t["HttpNfcLeaseHostInfo"] = reflect.TypeOf((*HttpNfcLeaseHostInfo)(nil)).Elem()
 47439  }
 47440  
 47441  // This class holds information about the lease, such as the entity covered by the
 47442  // lease, and HTTP URLs for up/downloading file backings.
 47443  type HttpNfcLeaseInfo struct {
 47444  	DynamicData
 47445  
 47446  	// The `HttpNfcLease` object this information belongs to.
 47447  	//
 47448  	// Refers instance of `HttpNfcLease`.
 47449  	Lease ManagedObjectReference `xml:"lease" json:"lease"`
 47450  	// The `VirtualMachine` or `VirtualApp` this
 47451  	// lease covers.
 47452  	//
 47453  	// Refers instance of `ManagedEntity`.
 47454  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 47455  	// The deviceUrl property contains a mapping from logical device keys
 47456  	// to URLs.
 47457  	DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty" json:"deviceUrl,omitempty"`
 47458  	// Total capacity in kilobytes of all disks in all Virtual Machines
 47459  	// covered by this lease.
 47460  	//
 47461  	// This can be used to track progress when
 47462  	// transferring disks.
 47463  	TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB" json:"totalDiskCapacityInKB"`
 47464  	// Number of seconds before the lease times out.
 47465  	//
 47466  	// The client extends
 47467  	// the lease by calling `HttpNfcLease.HttpNfcLeaseProgress` before
 47468  	// the timeout has expired.
 47469  	LeaseTimeout int32 `xml:"leaseTimeout" json:"leaseTimeout"`
 47470  	// Map of URLs for leased hosts for a given datastore.
 47471  	//
 47472  	// This is used to
 47473  	// look up multi-POST-capable hosts for a datastore.
 47474  	HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty" json:"hostMap,omitempty"`
 47475  }
 47476  
 47477  func init() {
 47478  	t["HttpNfcLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseInfo)(nil)).Elem()
 47479  }
 47480  
 47481  // Provides a manifest for downloaded (exported) files and disks.
 47482  type HttpNfcLeaseManifestEntry struct {
 47483  	DynamicData
 47484  
 47485  	// Key used to match this entry with the corresponding `HttpNfcLeaseDeviceUrl`
 47486  	// entry in `HttpNfcLease.info`.
 47487  	Key string `xml:"key" json:"key"`
 47488  	// SHA-1 checksum of the data stream sent from the server.
 47489  	//
 47490  	// This can be used
 47491  	// to verify that the bytes received by the client match those sent by the
 47492  	// HttpNfc server.
 47493  	Sha1 string `xml:"sha1" json:"sha1"`
 47494  	// Checksum of the data stream sent/recieved by host.
 47495  	//
 47496  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for used algoritm.
 47497  	Checksum string `xml:"checksum,omitempty" json:"checksum,omitempty"`
 47498  	// Algorithm used to produce checksum in respective property.
 47499  	//
 47500  	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for supported algorithms.
 47501  	ChecksumType string `xml:"checksumType,omitempty" json:"checksumType,omitempty"`
 47502  	// Size of the downloaded file.
 47503  	Size int64 `xml:"size" json:"size"`
 47504  	// True if the downloaded file is a virtual disk backing.
 47505  	Disk bool `xml:"disk" json:"disk"`
 47506  	// The capacity of the disk, if the file is a virtual disk backing.
 47507  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 47508  	// The populated size of the disk, if the file is a virtual disk backing.
 47509  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
 47510  }
 47511  
 47512  func init() {
 47513  	t["HttpNfcLeaseManifestEntry"] = reflect.TypeOf((*HttpNfcLeaseManifestEntry)(nil)).Elem()
 47514  }
 47515  
 47516  // Descriptor of ProbeResult
 47517  type HttpNfcLeaseProbeResult struct {
 47518  	DynamicData
 47519  
 47520  	// True if target host can access the web server.
 47521  	ServerAccessible bool `xml:"serverAccessible" json:"serverAccessible"`
 47522  }
 47523  
 47524  func init() {
 47525  	t["HttpNfcLeaseProbeResult"] = reflect.TypeOf((*HttpNfcLeaseProbeResult)(nil)).Elem()
 47526  	minAPIVersionForType["HttpNfcLeaseProbeResult"] = "7.0.2.0"
 47527  }
 47528  
 47529  type HttpNfcLeaseProbeUrls HttpNfcLeaseProbeUrlsRequestType
 47530  
 47531  func init() {
 47532  	t["HttpNfcLeaseProbeUrls"] = reflect.TypeOf((*HttpNfcLeaseProbeUrls)(nil)).Elem()
 47533  }
 47534  
 47535  // The parameters of `HttpNfcLease.HttpNfcLeaseProbeUrls`.
 47536  type HttpNfcLeaseProbeUrlsRequestType struct {
 47537  	This ManagedObjectReference `xml:"_this" json:"-"`
 47538  	// \[in\] List of remote source file descriptors
 47539  	// There should be the same number of `HttpNfcLeaseSourceFile`
 47540  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 47541  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 47542  	// \[in\] time in seconds for each url validation.
 47543  	// Maximum timeout is 60.
 47544  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 47545  }
 47546  
 47547  func init() {
 47548  	t["HttpNfcLeaseProbeUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeaseProbeUrlsRequestType)(nil)).Elem()
 47549  	minAPIVersionForType["HttpNfcLeaseProbeUrlsRequestType"] = "7.0.2.0"
 47550  }
 47551  
 47552  type HttpNfcLeaseProbeUrlsResponse struct {
 47553  	Returnval []HttpNfcLeaseProbeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 47554  }
 47555  
 47556  type HttpNfcLeaseProgress HttpNfcLeaseProgressRequestType
 47557  
 47558  func init() {
 47559  	t["HttpNfcLeaseProgress"] = reflect.TypeOf((*HttpNfcLeaseProgress)(nil)).Elem()
 47560  }
 47561  
 47562  // The parameters of `HttpNfcLease.HttpNfcLeaseProgress`.
 47563  type HttpNfcLeaseProgressRequestType struct {
 47564  	This ManagedObjectReference `xml:"_this" json:"-"`
 47565  	// \[in\] Completion status represented as an integer
 47566  	// in the 0-100 range.
 47567  	Percent int32 `xml:"percent" json:"percent"`
 47568  }
 47569  
 47570  func init() {
 47571  	t["HttpNfcLeaseProgressRequestType"] = reflect.TypeOf((*HttpNfcLeaseProgressRequestType)(nil)).Elem()
 47572  }
 47573  
 47574  type HttpNfcLeaseProgressResponse struct {
 47575  }
 47576  
 47577  // The parameters of `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`.
 47578  type HttpNfcLeasePullFromUrlsRequestType struct {
 47579  	This ManagedObjectReference `xml:"_this" json:"-"`
 47580  	// \[in\] List of remote source file descriptors
 47581  	// There should be the same number of `HttpNfcLeaseSourceFile`
 47582  	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
 47583  	// Privilege VApp.PullFromUrls is required.
 47584  	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
 47585  }
 47586  
 47587  func init() {
 47588  	t["HttpNfcLeasePullFromUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeasePullFromUrlsRequestType)(nil)).Elem()
 47589  }
 47590  
 47591  type HttpNfcLeasePullFromUrls_Task HttpNfcLeasePullFromUrlsRequestType
 47592  
 47593  func init() {
 47594  	t["HttpNfcLeasePullFromUrls_Task"] = reflect.TypeOf((*HttpNfcLeasePullFromUrls_Task)(nil)).Elem()
 47595  }
 47596  
 47597  type HttpNfcLeasePullFromUrls_TaskResponse struct {
 47598  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47599  }
 47600  
 47601  type HttpNfcLeaseSetManifestChecksumType HttpNfcLeaseSetManifestChecksumTypeRequestType
 47602  
 47603  func init() {
 47604  	t["HttpNfcLeaseSetManifestChecksumType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumType)(nil)).Elem()
 47605  }
 47606  
 47607  // The parameters of `HttpNfcLease.HttpNfcLeaseSetManifestChecksumType`.
 47608  type HttpNfcLeaseSetManifestChecksumTypeRequestType struct {
 47609  	This ManagedObjectReference `xml:"_this" json:"-"`
 47610  	// \[in\] Should contain key value pairs:
 47611  	// where key is `HttpNfcLeaseDeviceUrl.key` returned in this lease info and value
 47612  	// is desired algorithm from `HttpNfcLeaseManifestEntryChecksumType_enum`.
 47613  	DeviceUrlsToChecksumTypes []KeyValue `xml:"deviceUrlsToChecksumTypes,omitempty" json:"deviceUrlsToChecksumTypes,omitempty"`
 47614  }
 47615  
 47616  func init() {
 47617  	t["HttpNfcLeaseSetManifestChecksumTypeRequestType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumTypeRequestType)(nil)).Elem()
 47618  }
 47619  
 47620  type HttpNfcLeaseSetManifestChecksumTypeResponse struct {
 47621  }
 47622  
 47623  // Descriptor of the remote source file used in pull scenario.
 47624  type HttpNfcLeaseSourceFile struct {
 47625  	DynamicData
 47626  
 47627  	// Target device id that will be used to store remote file.
 47628  	//
 47629  	// Uniquely identifies host, vm and device.
 47630  	// Given by this lease in `HttpNfcLeaseDeviceUrl.importKey`.
 47631  	TargetDeviceId string `xml:"targetDeviceId" json:"targetDeviceId"`
 47632  	// Full url of the source file, for example https://server/path/disk-1.vmdk.
 47633  	//
 47634  	// Or url to OVA, in that case `HttpNfcLeaseSourceFile.memberName` should be specified.
 47635  	Url string `xml:"url" json:"url"`
 47636  	// Used only when OVA is specified in `HttpNfcLeaseSourceFile.url`.
 47637  	//
 47638  	// Should contain file name to extract from OVA.
 47639  	MemberName string `xml:"memberName,omitempty" json:"memberName,omitempty"`
 47640  	// True if PUT should be used for upload, otherwise POST.
 47641  	//
 47642  	// Same as `OvfFileItem.create`
 47643  	Create bool `xml:"create" json:"create"`
 47644  	// Esx has no CA database for checking arbitrary certificates.
 47645  	//
 47646  	// Client should verify the server certificate and provide
 47647  	// certificate thumbprint here.
 47648  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 47649  	// For the case when remote server requires authentication or any other
 47650  	// type of custom HTTP headers be provided with the request.
 47651  	HttpHeaders []KeyValue `xml:"httpHeaders,omitempty" json:"httpHeaders,omitempty"`
 47652  	// Size of the file, if known.
 47653  	//
 47654  	// Otherwise it will be determined by a HEAD
 47655  	// request. Not used for OVA members.
 47656  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 47657  }
 47658  
 47659  func init() {
 47660  	t["HttpNfcLeaseSourceFile"] = reflect.TypeOf((*HttpNfcLeaseSourceFile)(nil)).Elem()
 47661  }
 47662  
 47663  // This data object type describes an identifier class which
 47664  // is globally unique to identify the associated object.
 47665  type ID struct {
 47666  	DynamicData
 47667  
 47668  	// Id string which is globally unique to identify
 47669  	// an object.
 47670  	Id string `xml:"id" json:"id"`
 47671  }
 47672  
 47673  func init() {
 47674  	t["ID"] = reflect.TypeOf((*ID)(nil)).Elem()
 47675  }
 47676  
 47677  // Deprecated as of VI API 2.5, use `DeviceControllerNotSupported`.
 47678  //
 47679  // The virtual machine uses a virtual disk with an IDE controller, but this
 47680  // is not supported on the host.
 47681  type IDEDiskNotSupported struct {
 47682  	DiskNotSupported
 47683  }
 47684  
 47685  func init() {
 47686  	t["IDEDiskNotSupported"] = reflect.TypeOf((*IDEDiskNotSupported)(nil)).Elem()
 47687  }
 47688  
 47689  type IDEDiskNotSupportedFault IDEDiskNotSupported
 47690  
 47691  func init() {
 47692  	t["IDEDiskNotSupportedFault"] = reflect.TypeOf((*IDEDiskNotSupportedFault)(nil)).Elem()
 47693  }
 47694  
 47695  // A IORMNotSupportedHostOnDatastore fault occurs when the datastore is connected
 47696  // to one or more hosts that do not support storage I/O resource management.
 47697  type IORMNotSupportedHostOnDatastore struct {
 47698  	VimFault
 47699  
 47700  	// The datastore.
 47701  	//
 47702  	// Refers instance of `Datastore`.
 47703  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 47704  	// The name of the datastore.
 47705  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 47706  	// The list of hosts that do not support storage I/O
 47707  	// resource management.
 47708  	//
 47709  	// Refers instances of `HostSystem`.
 47710  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 47711  }
 47712  
 47713  func init() {
 47714  	t["IORMNotSupportedHostOnDatastore"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastore)(nil)).Elem()
 47715  }
 47716  
 47717  type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore
 47718  
 47719  func init() {
 47720  	t["IORMNotSupportedHostOnDatastoreFault"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastoreFault)(nil)).Elem()
 47721  }
 47722  
 47723  // Could not boot from iScsi.
 47724  type IScsiBootFailureEvent struct {
 47725  	HostEvent
 47726  }
 47727  
 47728  func init() {
 47729  	t["IScsiBootFailureEvent"] = reflect.TypeOf((*IScsiBootFailureEvent)(nil)).Elem()
 47730  }
 47731  
 47732  type ImpersonateUser ImpersonateUserRequestType
 47733  
 47734  func init() {
 47735  	t["ImpersonateUser"] = reflect.TypeOf((*ImpersonateUser)(nil)).Elem()
 47736  }
 47737  
 47738  // The parameters of `SessionManager.ImpersonateUser`.
 47739  type ImpersonateUserRequestType struct {
 47740  	This ManagedObjectReference `xml:"_this" json:"-"`
 47741  	// The user or extension key to impersonate.
 47742  	UserName string `xml:"userName" json:"userName"`
 47743  	// A two-character ISO-639 language ID (like "en")
 47744  	// optionally followed by an
 47745  	// underscore and a two-character ISO 3166 country ID (like "US").
 47746  	//
 47747  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 47748  	// Note: The method uses the server default locale when
 47749  	// a locale is not provided. This default can be configured in the
 47750  	// server configuration file. If unspecified, it defaults to the
 47751  	// locale of the server environment or English ("en") if unsupported.
 47752  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 47753  }
 47754  
 47755  func init() {
 47756  	t["ImpersonateUserRequestType"] = reflect.TypeOf((*ImpersonateUserRequestType)(nil)).Elem()
 47757  }
 47758  
 47759  type ImpersonateUserResponse struct {
 47760  	Returnval UserSession `xml:"returnval" json:"returnval"`
 47761  }
 47762  
 47763  // The parameters of `HostActiveDirectoryAuthentication.ImportCertificateForCAM_Task`.
 47764  type ImportCertificateForCAMRequestType struct {
 47765  	This ManagedObjectReference `xml:"_this" json:"-"`
 47766  	// full path of the certificate on ESXi
 47767  	CertPath string `xml:"certPath" json:"certPath"`
 47768  	// IP of server providing the CAM service.
 47769  	CamServer string `xml:"camServer" json:"camServer"`
 47770  }
 47771  
 47772  func init() {
 47773  	t["ImportCertificateForCAMRequestType"] = reflect.TypeOf((*ImportCertificateForCAMRequestType)(nil)).Elem()
 47774  }
 47775  
 47776  type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType
 47777  
 47778  func init() {
 47779  	t["ImportCertificateForCAM_Task"] = reflect.TypeOf((*ImportCertificateForCAM_Task)(nil)).Elem()
 47780  }
 47781  
 47782  type ImportCertificateForCAM_TaskResponse struct {
 47783  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47784  }
 47785  
 47786  // Thrown if failure occurs while adding host to DVS during import operation
 47787  type ImportHostAddFailure struct {
 47788  	DvsFault
 47789  
 47790  	// Hosts on which import operation failed
 47791  	HostIp []string `xml:"hostIp" json:"hostIp"`
 47792  }
 47793  
 47794  func init() {
 47795  	t["ImportHostAddFailure"] = reflect.TypeOf((*ImportHostAddFailure)(nil)).Elem()
 47796  }
 47797  
 47798  type ImportHostAddFailureFault ImportHostAddFailure
 47799  
 47800  func init() {
 47801  	t["ImportHostAddFailureFault"] = reflect.TypeOf((*ImportHostAddFailureFault)(nil)).Elem()
 47802  }
 47803  
 47804  // Thrown if a Import operation fails
 47805  type ImportOperationBulkFault struct {
 47806  	DvsFault
 47807  
 47808  	// Faults occurred during the import operation
 47809  	ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults" json:"importFaults"`
 47810  }
 47811  
 47812  func init() {
 47813  	t["ImportOperationBulkFault"] = reflect.TypeOf((*ImportOperationBulkFault)(nil)).Elem()
 47814  }
 47815  
 47816  type ImportOperationBulkFaultFault ImportOperationBulkFault
 47817  
 47818  func init() {
 47819  	t["ImportOperationBulkFaultFault"] = reflect.TypeOf((*ImportOperationBulkFaultFault)(nil)).Elem()
 47820  }
 47821  
 47822  // The fault occurred on the entity during an import operation.
 47823  type ImportOperationBulkFaultFaultOnImport struct {
 47824  	DynamicData
 47825  
 47826  	// The entity type on which import failed.
 47827  	//
 47828  	// See `EntityType_enum`
 47829  	// for valid values
 47830  	EntityType string `xml:"entityType,omitempty" json:"entityType,omitempty"`
 47831  	// The key on which import failed
 47832  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 47833  	// The fault that occurred.
 47834  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 47835  }
 47836  
 47837  func init() {
 47838  	t["ImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ImportOperationBulkFaultFaultOnImport)(nil)).Elem()
 47839  }
 47840  
 47841  // An ImportSpec is used when importing VMs or vApps.
 47842  //
 47843  // It can be built from scratch, or it can be generated from an OVF descriptor using the
 47844  // service interface `OvfManager`.
 47845  //
 47846  // This class is the abstract base for `VirtualMachineImportSpec` and
 47847  // `VirtualAppImportSpec`. These three classes form a composite structure
 47848  // that allows us to contain arbitrarily complex entitites in a single ImportSpec.
 47849  type ImportSpec struct {
 47850  	DynamicData
 47851  
 47852  	// Configuration of sub-entities (virtual machine or vApp).
 47853  	//
 47854  	// This is used for
 47855  	// sub-entities of a vApp that could be a virtual machine or a vApp.
 47856  	EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 47857  	// The instantiation OST (see `OvfConsumer` ) to be consumed by OVF
 47858  	// consumers.
 47859  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty"`
 47860  }
 47861  
 47862  func init() {
 47863  	t["ImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem()
 47864  }
 47865  
 47866  type ImportUnmanagedSnapshot ImportUnmanagedSnapshotRequestType
 47867  
 47868  func init() {
 47869  	t["ImportUnmanagedSnapshot"] = reflect.TypeOf((*ImportUnmanagedSnapshot)(nil)).Elem()
 47870  }
 47871  
 47872  // The parameters of `VirtualDiskManager.ImportUnmanagedSnapshot`.
 47873  type ImportUnmanagedSnapshotRequestType struct {
 47874  	This ManagedObjectReference `xml:"_this" json:"-"`
 47875  	// \- The name of the disk to import, either a datastore path or a URL
 47876  	// referring to the virtual disk from which to get geometry information.
 47877  	Vdisk string `xml:"vdisk" json:"vdisk"`
 47878  	// If <code>vdisk</code> is a datastore path, the datacenter for
 47879  	// that datastore path. Not needed when invoked directly on ESX.
 47880  	// If not specified on a call to VirtualCenter,
 47881  	// <code>vdisk</code> must be a URL.
 47882  	//
 47883  	// Refers instance of `Datacenter`.
 47884  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 47885  	// \- unmanaged snapshot identifier
 47886  	VvolId string `xml:"vvolId" json:"vvolId"`
 47887  }
 47888  
 47889  func init() {
 47890  	t["ImportUnmanagedSnapshotRequestType"] = reflect.TypeOf((*ImportUnmanagedSnapshotRequestType)(nil)).Elem()
 47891  }
 47892  
 47893  type ImportUnmanagedSnapshotResponse struct {
 47894  }
 47895  
 47896  type ImportVApp ImportVAppRequestType
 47897  
 47898  func init() {
 47899  	t["ImportVApp"] = reflect.TypeOf((*ImportVApp)(nil)).Elem()
 47900  }
 47901  
 47902  // The parameters of `ResourcePool.ImportVApp`.
 47903  type ImportVAppRequestType struct {
 47904  	This ManagedObjectReference `xml:"_this" json:"-"`
 47905  	// An `ImportSpec` describing what to import.
 47906  	Spec BaseImportSpec `xml:"spec,typeattr" json:"spec"`
 47907  	// The folder to which the entity will be attached.
 47908  	//
 47909  	// Required privileges: VApp.Import
 47910  	//
 47911  	// Refers instance of `Folder`.
 47912  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 47913  	// The target host on which the entity will run. This must
 47914  	// specify a host that is a member of the ComputeResource indirectly
 47915  	// specified by the pool. For a stand-alone host or a cluster with DRS,
 47916  	// host can be omitted, and the system selects a default.
 47917  	//
 47918  	// Refers instance of `HostSystem`.
 47919  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 47920  }
 47921  
 47922  func init() {
 47923  	t["ImportVAppRequestType"] = reflect.TypeOf((*ImportVAppRequestType)(nil)).Elem()
 47924  }
 47925  
 47926  type ImportVAppResponse struct {
 47927  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 47928  }
 47929  
 47930  // 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.
 47931  type InUseFeatureManipulationDisallowed struct {
 47932  	NotEnoughLicenses
 47933  }
 47934  
 47935  func init() {
 47936  	t["InUseFeatureManipulationDisallowed"] = reflect.TypeOf((*InUseFeatureManipulationDisallowed)(nil)).Elem()
 47937  }
 47938  
 47939  type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed
 47940  
 47941  func init() {
 47942  	t["InUseFeatureManipulationDisallowedFault"] = reflect.TypeOf((*InUseFeatureManipulationDisallowedFault)(nil)).Elem()
 47943  }
 47944  
 47945  // An InaccessibleDatastore exception is thrown if the datastore corresponding to the
 47946  // given datastore path isn't currently accessible.
 47947  type InaccessibleDatastore struct {
 47948  	InvalidDatastore
 47949  
 47950  	Detail string `xml:"detail,omitempty" json:"detail,omitempty"`
 47951  }
 47952  
 47953  func init() {
 47954  	t["InaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem()
 47955  }
 47956  
 47957  type InaccessibleDatastoreFault BaseInaccessibleDatastore
 47958  
 47959  func init() {
 47960  	t["InaccessibleDatastoreFault"] = reflect.TypeOf((*InaccessibleDatastoreFault)(nil)).Elem()
 47961  }
 47962  
 47963  // An InaccessibleFTMetadataDatastore exception is thrown if the datastore
 47964  // corresponding to the specified FT Metadata Datastore path isn't currently
 47965  // accessible.
 47966  type InaccessibleFTMetadataDatastore struct {
 47967  	InaccessibleDatastore
 47968  }
 47969  
 47970  func init() {
 47971  	t["InaccessibleFTMetadataDatastore"] = reflect.TypeOf((*InaccessibleFTMetadataDatastore)(nil)).Elem()
 47972  }
 47973  
 47974  type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore
 47975  
 47976  func init() {
 47977  	t["InaccessibleFTMetadataDatastoreFault"] = reflect.TypeOf((*InaccessibleFTMetadataDatastoreFault)(nil)).Elem()
 47978  }
 47979  
 47980  // An InaccessibleVFlashSource exception is thrown when
 47981  // an attempt is made to access the vFlash resource on
 47982  // the host, such as creating vFlash cache file for the
 47983  // virtual disk.
 47984  type InaccessibleVFlashSource struct {
 47985  	VimFault
 47986  
 47987  	// Name of the host which has the vFlash resource
 47988  	HostName string `xml:"hostName" json:"hostName"`
 47989  }
 47990  
 47991  func init() {
 47992  	t["InaccessibleVFlashSource"] = reflect.TypeOf((*InaccessibleVFlashSource)(nil)).Elem()
 47993  }
 47994  
 47995  type InaccessibleVFlashSourceFault InaccessibleVFlashSource
 47996  
 47997  func init() {
 47998  	t["InaccessibleVFlashSourceFault"] = reflect.TypeOf((*InaccessibleVFlashSourceFault)(nil)).Elem()
 47999  }
 48000  
 48001  // A default device (see `VirtualMachineConfigOption.defaultDevice` for a
 48002  // definition) which the virtual machine is using is incompatible with
 48003  // the corresponding default device which will be created on the target host.
 48004  //
 48005  // This is an issue with powered-on or suspended migration under some
 48006  // circumstances. The problem is that in cases where the virtual machine
 48007  // must be recreated, it will have the default device created with default
 48008  // settings that are appropriate for the target host. If those are not
 48009  // compatible with the settings for that device that the virtual machine is currently
 48010  // using, then resuming the virtual machine on the target host might fail.
 48011  //
 48012  // This might happen if the device in question were reconfigured or the default
 48013  // is different between the source and the destination host. An example of
 48014  // a default device and associated setting which might cause this is
 48015  // `VirtualMachineVideoCard.videoRamSizeInKB`.
 48016  // This is an error.
 48017  type IncompatibleDefaultDevice struct {
 48018  	MigrationFault
 48019  
 48020  	// The label of the device.
 48021  	Device string `xml:"device" json:"device"`
 48022  }
 48023  
 48024  func init() {
 48025  	t["IncompatibleDefaultDevice"] = reflect.TypeOf((*IncompatibleDefaultDevice)(nil)).Elem()
 48026  }
 48027  
 48028  type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice
 48029  
 48030  func init() {
 48031  	t["IncompatibleDefaultDeviceFault"] = reflect.TypeOf((*IncompatibleDefaultDeviceFault)(nil)).Elem()
 48032  }
 48033  
 48034  // The IncompatibleHostForFtSecondary fault is thrown when an invalid
 48035  // host has been specified when calling `VirtualMachine.CreateSecondaryVM_Task`
 48036  // or `VirtualMachine.EnableSecondaryVM_Task`.
 48037  type IncompatibleHostForFtSecondary struct {
 48038  	VmFaultToleranceIssue
 48039  
 48040  	// The host that is not compatible with the secondary virtual machine.
 48041  	//
 48042  	// Refers instance of `HostSystem`.
 48043  	Host ManagedObjectReference `xml:"host" json:"host"`
 48044  	// Information on why the host that was specified could not be used for
 48045  	// the FaultTolerance Secondary VirtualMachine.
 48046  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 48047  }
 48048  
 48049  func init() {
 48050  	t["IncompatibleHostForFtSecondary"] = reflect.TypeOf((*IncompatibleHostForFtSecondary)(nil)).Elem()
 48051  }
 48052  
 48053  type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary
 48054  
 48055  func init() {
 48056  	t["IncompatibleHostForFtSecondaryFault"] = reflect.TypeOf((*IncompatibleHostForFtSecondaryFault)(nil)).Elem()
 48057  }
 48058  
 48059  // A IncompatibleHostForVmReplication is thrown when a VM is powered
 48060  // on or migrated to a host which does not support the replication
 48061  // configuration of the VM.
 48062  type IncompatibleHostForVmReplication struct {
 48063  	ReplicationFault
 48064  
 48065  	// The VM which has replication configured
 48066  	VmName string `xml:"vmName" json:"vmName"`
 48067  	// The host which is incompatible for VM replication
 48068  	HostName string `xml:"hostName" json:"hostName"`
 48069  	// The reason why the host is incompatible
 48070  	Reason string `xml:"reason" json:"reason"`
 48071  }
 48072  
 48073  func init() {
 48074  	t["IncompatibleHostForVmReplication"] = reflect.TypeOf((*IncompatibleHostForVmReplication)(nil)).Elem()
 48075  }
 48076  
 48077  type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication
 48078  
 48079  func init() {
 48080  	t["IncompatibleHostForVmReplicationFault"] = reflect.TypeOf((*IncompatibleHostForVmReplicationFault)(nil)).Elem()
 48081  }
 48082  
 48083  // Thrown when two parameters in the customization settings conflict with each other.
 48084  //
 48085  // For example, a client may not specify both a Workgroup and a DomainName.
 48086  type IncompatibleSetting struct {
 48087  	InvalidArgument
 48088  
 48089  	// The name of the setting that is conflicting.
 48090  	ConflictingProperty string `xml:"conflictingProperty" json:"conflictingProperty"`
 48091  }
 48092  
 48093  func init() {
 48094  	t["IncompatibleSetting"] = reflect.TypeOf((*IncompatibleSetting)(nil)).Elem()
 48095  }
 48096  
 48097  type IncompatibleSettingFault IncompatibleSetting
 48098  
 48099  func init() {
 48100  	t["IncompatibleSettingFault"] = reflect.TypeOf((*IncompatibleSettingFault)(nil)).Elem()
 48101  }
 48102  
 48103  // Thrown when an operation fails because the files do not match a
 48104  // specified file type.
 48105  type IncorrectFileType struct {
 48106  	FileFault
 48107  }
 48108  
 48109  func init() {
 48110  	t["IncorrectFileType"] = reflect.TypeOf((*IncorrectFileType)(nil)).Elem()
 48111  }
 48112  
 48113  type IncorrectFileTypeFault IncorrectFileType
 48114  
 48115  func init() {
 48116  	t["IncorrectFileTypeFault"] = reflect.TypeOf((*IncorrectFileTypeFault)(nil)).Elem()
 48117  }
 48118  
 48119  // A IncorrectHostInformation is thrown if the host does not provide the information
 48120  // needed to acquire the correct set of licenses.
 48121  type IncorrectHostInformation struct {
 48122  	NotEnoughLicenses
 48123  }
 48124  
 48125  func init() {
 48126  	t["IncorrectHostInformation"] = reflect.TypeOf((*IncorrectHostInformation)(nil)).Elem()
 48127  }
 48128  
 48129  // This event records if the host did not provide the information needed
 48130  // to acquire the correct set of licenses.
 48131  type IncorrectHostInformationEvent struct {
 48132  	LicenseEvent
 48133  }
 48134  
 48135  func init() {
 48136  	t["IncorrectHostInformationEvent"] = reflect.TypeOf((*IncorrectHostInformationEvent)(nil)).Elem()
 48137  }
 48138  
 48139  type IncorrectHostInformationFault IncorrectHostInformation
 48140  
 48141  func init() {
 48142  	t["IncorrectHostInformationFault"] = reflect.TypeOf((*IncorrectHostInformationFault)(nil)).Elem()
 48143  }
 48144  
 48145  type IncreaseDirectorySize IncreaseDirectorySizeRequestType
 48146  
 48147  func init() {
 48148  	t["IncreaseDirectorySize"] = reflect.TypeOf((*IncreaseDirectorySize)(nil)).Elem()
 48149  }
 48150  
 48151  // The parameters of `DatastoreNamespaceManager.IncreaseDirectorySize`.
 48152  type IncreaseDirectorySizeRequestType struct {
 48153  	This ManagedObjectReference `xml:"_this" json:"-"`
 48154  	// the datacenter of the namespace path. Needs to be set
 48155  	// when making the call to VC; ignored when the call is
 48156  	// made to ESX.
 48157  	//
 48158  	// Required privileges: System.View
 48159  	//
 48160  	// Refers instance of `Datacenter`.
 48161  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 48162  	// stable vmfs path of the top-level directory
 48163  	StableName string `xml:"stableName" json:"stableName"`
 48164  	// the desired final size in MB of the directory, not a diff
 48165  	// from the current size; should be more than current size
 48166  	Size int64 `xml:"size" json:"size"`
 48167  }
 48168  
 48169  func init() {
 48170  	t["IncreaseDirectorySizeRequestType"] = reflect.TypeOf((*IncreaseDirectorySizeRequestType)(nil)).Elem()
 48171  	minAPIVersionForType["IncreaseDirectorySizeRequestType"] = "8.0.1.0"
 48172  }
 48173  
 48174  type IncreaseDirectorySizeResponse struct {
 48175  }
 48176  
 48177  // An operation on a powered-on virtual machine requests that the virtual
 48178  // machine's disks be moved without choosing a new home datastore for the
 48179  // virtual machine, but the host does not have that capability.
 48180  type IndependentDiskVMotionNotSupported struct {
 48181  	MigrationFeatureNotSupported
 48182  }
 48183  
 48184  func init() {
 48185  	t["IndependentDiskVMotionNotSupported"] = reflect.TypeOf((*IndependentDiskVMotionNotSupported)(nil)).Elem()
 48186  }
 48187  
 48188  type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported
 48189  
 48190  func init() {
 48191  	t["IndependentDiskVMotionNotSupportedFault"] = reflect.TypeOf((*IndependentDiskVMotionNotSupportedFault)(nil)).Elem()
 48192  }
 48193  
 48194  // The parameters of `VcenterVStorageObjectManager.InflateDisk_Task`.
 48195  type InflateDiskRequestType struct {
 48196  	This ManagedObjectReference `xml:"_this" json:"-"`
 48197  	// The ID of the virtual disk to be inflated.
 48198  	Id ID `xml:"id" json:"id"`
 48199  	// The datastore where the virtual disk is located.
 48200  	//
 48201  	// Refers instance of `Datastore`.
 48202  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 48203  }
 48204  
 48205  func init() {
 48206  	t["InflateDiskRequestType"] = reflect.TypeOf((*InflateDiskRequestType)(nil)).Elem()
 48207  }
 48208  
 48209  type InflateDisk_Task InflateDiskRequestType
 48210  
 48211  func init() {
 48212  	t["InflateDisk_Task"] = reflect.TypeOf((*InflateDisk_Task)(nil)).Elem()
 48213  }
 48214  
 48215  type InflateDisk_TaskResponse struct {
 48216  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48217  }
 48218  
 48219  // The parameters of `VirtualDiskManager.InflateVirtualDisk_Task`.
 48220  type InflateVirtualDiskRequestType struct {
 48221  	This ManagedObjectReference `xml:"_this" json:"-"`
 48222  	// The name of the disk, either a datastore path or a URL
 48223  	// referring to the virtual disk that should be inflated.
 48224  	Name string `xml:"name" json:"name"`
 48225  	// If <code>name</code> is a datastore path, the datacenter for
 48226  	// that datastore path. Not needed when invoked directly on ESX.
 48227  	// If not specified on a call to VirtualCenter,
 48228  	// <code>name</code> must be a URL.
 48229  	//
 48230  	// Refers instance of `Datacenter`.
 48231  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 48232  }
 48233  
 48234  func init() {
 48235  	t["InflateVirtualDiskRequestType"] = reflect.TypeOf((*InflateVirtualDiskRequestType)(nil)).Elem()
 48236  }
 48237  
 48238  type InflateVirtualDisk_Task InflateVirtualDiskRequestType
 48239  
 48240  func init() {
 48241  	t["InflateVirtualDisk_Task"] = reflect.TypeOf((*InflateVirtualDisk_Task)(nil)).Elem()
 48242  }
 48243  
 48244  type InflateVirtualDisk_TaskResponse struct {
 48245  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48246  }
 48247  
 48248  // This event is a general information event from upgrade.
 48249  type InfoUpgradeEvent struct {
 48250  	UpgradeEvent
 48251  }
 48252  
 48253  func init() {
 48254  	t["InfoUpgradeEvent"] = reflect.TypeOf((*InfoUpgradeEvent)(nil)).Elem()
 48255  }
 48256  
 48257  // The base class for any type of setting or configuration that may get a
 48258  // inherited value.
 48259  //
 48260  // When used in a reconfigure operation specification, if `InheritablePolicy.inherited` is true,
 48261  // it specifies the intention to change the values of subclass's properties to the
 48262  // inherited values from the level above. In this case, users don't need to specify
 48263  // the values and any set property in the subclass will be ignored.
 48264  // if `InheritablePolicy.inherited` is false, it specifies the intention to explicitly set
 48265  // subclass's properties to user specified values. Users should set the properties in
 48266  // the subclass with the desired values.
 48267  //
 48268  // When used in a configuration information object, The values of the properties in
 48269  // the subclass are the effective values. if `InheritablePolicy.inherited` is true, the object
 48270  // is getting the effective values from upper level. If false, the values are
 48271  // explicitly set by a user.
 48272  type InheritablePolicy struct {
 48273  	DynamicData
 48274  
 48275  	// Whether the configuration is set to inherited value.
 48276  	Inherited bool `xml:"inherited" json:"inherited"`
 48277  }
 48278  
 48279  func init() {
 48280  	t["InheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem()
 48281  }
 48282  
 48283  // The parameters of `HostVsanSystem.InitializeDisks_Task`.
 48284  type InitializeDisksRequestType struct {
 48285  	This ManagedObjectReference `xml:"_this" json:"-"`
 48286  	// list of disk mappings to initialize
 48287  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 48288  }
 48289  
 48290  func init() {
 48291  	t["InitializeDisksRequestType"] = reflect.TypeOf((*InitializeDisksRequestType)(nil)).Elem()
 48292  }
 48293  
 48294  type InitializeDisks_Task InitializeDisksRequestType
 48295  
 48296  func init() {
 48297  	t["InitializeDisks_Task"] = reflect.TypeOf((*InitializeDisks_Task)(nil)).Elem()
 48298  }
 48299  
 48300  type InitializeDisks_TaskResponse struct {
 48301  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48302  }
 48303  
 48304  type InitiateFileTransferFromGuest InitiateFileTransferFromGuestRequestType
 48305  
 48306  func init() {
 48307  	t["InitiateFileTransferFromGuest"] = reflect.TypeOf((*InitiateFileTransferFromGuest)(nil)).Elem()
 48308  }
 48309  
 48310  // The parameters of `GuestFileManager.InitiateFileTransferFromGuest`.
 48311  type InitiateFileTransferFromGuestRequestType struct {
 48312  	This ManagedObjectReference `xml:"_this" json:"-"`
 48313  	// Virtual Machine to perform the operation on.
 48314  	//
 48315  	// Required privileges: VirtualMachine.GuestOperations.Query
 48316  	//
 48317  	// Refers instance of `VirtualMachine`.
 48318  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 48319  	// The guest authentication data.
 48320  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 48321  	// The complete path to the file inside the guest
 48322  	// that has to be transferred to the client. It cannot be a path to
 48323  	// a directory or a symbolic link.
 48324  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 48325  }
 48326  
 48327  func init() {
 48328  	t["InitiateFileTransferFromGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferFromGuestRequestType)(nil)).Elem()
 48329  }
 48330  
 48331  type InitiateFileTransferFromGuestResponse struct {
 48332  	Returnval FileTransferInformation `xml:"returnval" json:"returnval"`
 48333  }
 48334  
 48335  type InitiateFileTransferToGuest InitiateFileTransferToGuestRequestType
 48336  
 48337  func init() {
 48338  	t["InitiateFileTransferToGuest"] = reflect.TypeOf((*InitiateFileTransferToGuest)(nil)).Elem()
 48339  }
 48340  
 48341  // The parameters of `GuestFileManager.InitiateFileTransferToGuest`.
 48342  type InitiateFileTransferToGuestRequestType struct {
 48343  	This ManagedObjectReference `xml:"_this" json:"-"`
 48344  	// Virtual Machine to perform the operation on.
 48345  	//
 48346  	// Required privileges: VirtualMachine.GuestOperations.Modify
 48347  	//
 48348  	// Refers instance of `VirtualMachine`.
 48349  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 48350  	// The guest authentication data. See
 48351  	// `GuestAuthentication`.
 48352  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 48353  	// The complete destination path in the guest to
 48354  	// transfer the file from the client. It cannot be a path to
 48355  	// a directory or a symbolic link.
 48356  	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
 48357  	// File attributes of the file that has to be
 48358  	// created in the guest. See `GuestFileAttributes`.
 48359  	// If any file attribute is not specified, then the default value
 48360  	// of that property will be set for the file.
 48361  	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
 48362  	// Size of the file to transfer to the guest in bytes.
 48363  	FileSize int64 `xml:"fileSize" json:"fileSize"`
 48364  	// If set, the destination file is clobbered.
 48365  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 48366  }
 48367  
 48368  func init() {
 48369  	t["InitiateFileTransferToGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferToGuestRequestType)(nil)).Elem()
 48370  }
 48371  
 48372  type InitiateFileTransferToGuestResponse struct {
 48373  	Returnval string `xml:"returnval" json:"returnval"`
 48374  }
 48375  
 48376  // The parameters of `HostPatchManager.InstallHostPatch_Task`.
 48377  type InstallHostPatchRequestType struct {
 48378  	This ManagedObjectReference `xml:"_this" json:"-"`
 48379  	// Location of the repository that contains the
 48380  	// bulletin depot. The depot must be organized as a flat
 48381  	// collection of bulletins with each one being a folder named
 48382  	// after the bulletin ID. Each folder must contain both
 48383  	// update metadata and required binaries.
 48384  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 48385  	// The update to be installed on the host.
 48386  	UpdateID string `xml:"updateID" json:"updateID"`
 48387  	// Specify whether to force reinstall an update.
 48388  	// By default, installing an already-installed update would fail
 48389  	// with the `PatchAlreadyInstalled` fault. If
 48390  	// force is set to true, the update will be forcefully reinstalled,
 48391  	// thus overwriting the already installed update.
 48392  	Force *bool `xml:"force" json:"force,omitempty"`
 48393  }
 48394  
 48395  func init() {
 48396  	t["InstallHostPatchRequestType"] = reflect.TypeOf((*InstallHostPatchRequestType)(nil)).Elem()
 48397  }
 48398  
 48399  // The parameters of `HostPatchManager.InstallHostPatchV2_Task`.
 48400  type InstallHostPatchV2RequestType struct {
 48401  	This ManagedObjectReference `xml:"_this" json:"-"`
 48402  	// A list of urls pointing to metadata.zip.
 48403  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 48404  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 48405  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 48406  	// The urls of update binary files to be installed.
 48407  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 48408  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 48409  }
 48410  
 48411  func init() {
 48412  	t["InstallHostPatchV2RequestType"] = reflect.TypeOf((*InstallHostPatchV2RequestType)(nil)).Elem()
 48413  }
 48414  
 48415  type InstallHostPatchV2_Task InstallHostPatchV2RequestType
 48416  
 48417  func init() {
 48418  	t["InstallHostPatchV2_Task"] = reflect.TypeOf((*InstallHostPatchV2_Task)(nil)).Elem()
 48419  }
 48420  
 48421  type InstallHostPatchV2_TaskResponse struct {
 48422  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48423  }
 48424  
 48425  type InstallHostPatch_Task InstallHostPatchRequestType
 48426  
 48427  func init() {
 48428  	t["InstallHostPatch_Task"] = reflect.TypeOf((*InstallHostPatch_Task)(nil)).Elem()
 48429  }
 48430  
 48431  type InstallHostPatch_TaskResponse struct {
 48432  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48433  }
 48434  
 48435  // The parameters of `IoFilterManager.InstallIoFilter_Task`.
 48436  type InstallIoFilterRequestType struct {
 48437  	This ManagedObjectReference `xml:"_this" json:"-"`
 48438  	// The URL that points to the IO Filter VIB package.
 48439  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 48440  	// The compute resource to install the IO Filter on.
 48441  	// "compRes" must be a cluster.
 48442  	//
 48443  	// Refers instance of `ComputeResource`.
 48444  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 48445  	// This specifies SSL trust policy `IoFilterManagerSslTrust`
 48446  	// for the given VIB URL. If unset, the server certificate is
 48447  	// validated against the trusted root certificates.
 48448  	VibSslTrust BaseIoFilterManagerSslTrust `xml:"vibSslTrust,omitempty,typeattr" json:"vibSslTrust,omitempty" vim:"8.0.3.0"`
 48449  }
 48450  
 48451  func init() {
 48452  	t["InstallIoFilterRequestType"] = reflect.TypeOf((*InstallIoFilterRequestType)(nil)).Elem()
 48453  }
 48454  
 48455  type InstallIoFilter_Task InstallIoFilterRequestType
 48456  
 48457  func init() {
 48458  	t["InstallIoFilter_Task"] = reflect.TypeOf((*InstallIoFilter_Task)(nil)).Elem()
 48459  }
 48460  
 48461  type InstallIoFilter_TaskResponse struct {
 48462  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48463  }
 48464  
 48465  type InstallServerCertificate InstallServerCertificateRequestType
 48466  
 48467  func init() {
 48468  	t["InstallServerCertificate"] = reflect.TypeOf((*InstallServerCertificate)(nil)).Elem()
 48469  }
 48470  
 48471  // The parameters of `HostCertificateManager.InstallServerCertificate`.
 48472  type InstallServerCertificateRequestType struct {
 48473  	This ManagedObjectReference `xml:"_this" json:"-"`
 48474  	// SSL certificate in PEM format
 48475  	Cert string `xml:"cert" json:"cert"`
 48476  }
 48477  
 48478  func init() {
 48479  	t["InstallServerCertificateRequestType"] = reflect.TypeOf((*InstallServerCertificateRequestType)(nil)).Elem()
 48480  }
 48481  
 48482  type InstallServerCertificateResponse struct {
 48483  }
 48484  
 48485  type InstallSmartCardTrustAnchor InstallSmartCardTrustAnchorRequestType
 48486  
 48487  func init() {
 48488  	t["InstallSmartCardTrustAnchor"] = reflect.TypeOf((*InstallSmartCardTrustAnchor)(nil)).Elem()
 48489  }
 48490  
 48491  // The parameters of `HostActiveDirectoryAuthentication.InstallSmartCardTrustAnchor`.
 48492  type InstallSmartCardTrustAnchorRequestType struct {
 48493  	This ManagedObjectReference `xml:"_this" json:"-"`
 48494  	// SSL certificate in PEM format
 48495  	Cert string `xml:"cert" json:"cert"`
 48496  }
 48497  
 48498  func init() {
 48499  	t["InstallSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*InstallSmartCardTrustAnchorRequestType)(nil)).Elem()
 48500  }
 48501  
 48502  type InstallSmartCardTrustAnchorResponse struct {
 48503  }
 48504  
 48505  // The parameters of `VirtualMachine.InstantClone_Task`.
 48506  type InstantCloneRequestType struct {
 48507  	This ManagedObjectReference `xml:"_this" json:"-"`
 48508  	// Is a `VirtualMachineInstantCloneSpec`. It specifies the
 48509  	// cloned virtual machine's configuration.
 48510  	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
 48511  }
 48512  
 48513  func init() {
 48514  	t["InstantCloneRequestType"] = reflect.TypeOf((*InstantCloneRequestType)(nil)).Elem()
 48515  }
 48516  
 48517  type InstantClone_Task InstantCloneRequestType
 48518  
 48519  func init() {
 48520  	t["InstantClone_Task"] = reflect.TypeOf((*InstantClone_Task)(nil)).Elem()
 48521  }
 48522  
 48523  type InstantClone_TaskResponse struct {
 48524  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 48525  }
 48526  
 48527  // This fault is returned when the required number of deployed agent virtual
 48528  // machines is not currently deployed on a host and hence the host cannot be
 48529  // used to run client virtual machines.
 48530  type InsufficientAgentVmsDeployed struct {
 48531  	InsufficientResourcesFault
 48532  
 48533  	HostName string `xml:"hostName" json:"hostName"`
 48534  	// The number of agent virtual machines required to be deployed on the host.
 48535  	RequiredNumAgentVms int32 `xml:"requiredNumAgentVms" json:"requiredNumAgentVms"`
 48536  	// The number of agent virtual machines currently deployed on the host.
 48537  	CurrentNumAgentVms int32 `xml:"currentNumAgentVms" json:"currentNumAgentVms"`
 48538  }
 48539  
 48540  func init() {
 48541  	t["InsufficientAgentVmsDeployed"] = reflect.TypeOf((*InsufficientAgentVmsDeployed)(nil)).Elem()
 48542  }
 48543  
 48544  type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed
 48545  
 48546  func init() {
 48547  	t["InsufficientAgentVmsDeployedFault"] = reflect.TypeOf((*InsufficientAgentVmsDeployedFault)(nil)).Elem()
 48548  }
 48549  
 48550  // CPU resources admission control failed
 48551  type InsufficientCpuResourcesFault struct {
 48552  	InsufficientResourcesFault
 48553  
 48554  	// The CPU available in the resource pool requested in MHz.
 48555  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48556  	// The CPU resource amount requested in the failed operation in MHz.
 48557  	Requested int64 `xml:"requested" json:"requested"`
 48558  }
 48559  
 48560  func init() {
 48561  	t["InsufficientCpuResourcesFault"] = reflect.TypeOf((*InsufficientCpuResourcesFault)(nil)).Elem()
 48562  }
 48563  
 48564  type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault
 48565  
 48566  func init() {
 48567  	t["InsufficientCpuResourcesFaultFault"] = reflect.TypeOf((*InsufficientCpuResourcesFaultFault)(nil)).Elem()
 48568  }
 48569  
 48570  // Fault used to denote an insufficient group of disks for a given operation.
 48571  //
 48572  // See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.
 48573  type InsufficientDisks struct {
 48574  	VsanDiskFault
 48575  }
 48576  
 48577  func init() {
 48578  	t["InsufficientDisks"] = reflect.TypeOf((*InsufficientDisks)(nil)).Elem()
 48579  }
 48580  
 48581  type InsufficientDisksFault InsufficientDisks
 48582  
 48583  func init() {
 48584  	t["InsufficientDisksFault"] = reflect.TypeOf((*InsufficientDisksFault)(nil)).Elem()
 48585  }
 48586  
 48587  // This event records that the cluster resources are insufficient
 48588  // to satisfy the configured HA failover level.
 48589  type InsufficientFailoverResourcesEvent struct {
 48590  	ClusterEvent
 48591  }
 48592  
 48593  func init() {
 48594  	t["InsufficientFailoverResourcesEvent"] = reflect.TypeOf((*InsufficientFailoverResourcesEvent)(nil)).Elem()
 48595  }
 48596  
 48597  // This is thrown if an operation would violate the configured failover level of a HA
 48598  // cluster.
 48599  //
 48600  // In a HA cluster, virtual machines provide high availability by moving among physical
 48601  // machines in the event of a failure. HA Admission Control ensures that the total
 48602  // resource requirements for the set of virtual machines in a HA cluster does not exceed
 48603  // the resources that would be available in the worst-case scenario failure. If HA
 48604  // Admission Control is not used, physical machines may have insufficient resources to
 48605  // provide the expected level of service.
 48606  //
 48607  // This fault indicates that the virtual machine operation you attempted would have
 48608  // created a situation where the remaining physical machines would not meet the needs of
 48609  // the virtual machines in the event of a failure.
 48610  type InsufficientFailoverResourcesFault struct {
 48611  	InsufficientResourcesFault
 48612  }
 48613  
 48614  func init() {
 48615  	t["InsufficientFailoverResourcesFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFault)(nil)).Elem()
 48616  }
 48617  
 48618  type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault
 48619  
 48620  func init() {
 48621  	t["InsufficientFailoverResourcesFaultFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFaultFault)(nil)).Elem()
 48622  }
 48623  
 48624  // Graphics resources admission control failed
 48625  type InsufficientGraphicsResourcesFault struct {
 48626  	InsufficientResourcesFault
 48627  }
 48628  
 48629  func init() {
 48630  	t["InsufficientGraphicsResourcesFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFault)(nil)).Elem()
 48631  }
 48632  
 48633  type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault
 48634  
 48635  func init() {
 48636  	t["InsufficientGraphicsResourcesFaultFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFaultFault)(nil)).Elem()
 48637  }
 48638  
 48639  // The host does not have enough capacity for running the virtual machine.
 48640  type InsufficientHostCapacityFault struct {
 48641  	InsufficientResourcesFault
 48642  
 48643  	// The host which does not have the enough capacity.
 48644  	//
 48645  	// Refers instance of `HostSystem`.
 48646  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 48647  }
 48648  
 48649  func init() {
 48650  	t["InsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem()
 48651  }
 48652  
 48653  type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault
 48654  
 48655  func init() {
 48656  	t["InsufficientHostCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCapacityFaultFault)(nil)).Elem()
 48657  }
 48658  
 48659  // The host does not have enough CPU capacity for running the virtual machine.
 48660  type InsufficientHostCpuCapacityFault struct {
 48661  	InsufficientHostCapacityFault
 48662  
 48663  	// The CPU available on the host in MHz.
 48664  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48665  	// The CPU resource amount requested in the failed operation in MHz.
 48666  	Requested int64 `xml:"requested" json:"requested"`
 48667  }
 48668  
 48669  func init() {
 48670  	t["InsufficientHostCpuCapacityFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFault)(nil)).Elem()
 48671  }
 48672  
 48673  type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault
 48674  
 48675  func init() {
 48676  	t["InsufficientHostCpuCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFaultFault)(nil)).Elem()
 48677  }
 48678  
 48679  // The host does not have enough memory capacity for running the virtual machine.
 48680  type InsufficientHostMemoryCapacityFault struct {
 48681  	InsufficientHostCapacityFault
 48682  
 48683  	// The memory available on the host in bytes.
 48684  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48685  	// The memory resource amount requested in the failed operation in bytes.
 48686  	Requested int64 `xml:"requested" json:"requested"`
 48687  }
 48688  
 48689  func init() {
 48690  	t["InsufficientHostMemoryCapacityFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFault)(nil)).Elem()
 48691  }
 48692  
 48693  type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault
 48694  
 48695  func init() {
 48696  	t["InsufficientHostMemoryCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFaultFault)(nil)).Elem()
 48697  }
 48698  
 48699  // Memory resource admission control failed
 48700  type InsufficientMemoryResourcesFault struct {
 48701  	InsufficientResourcesFault
 48702  
 48703  	// The memory available in the resource pool requested in bytes.
 48704  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 48705  	// The memory resource amount requested in the failed operation in bytes.
 48706  	Requested int64 `xml:"requested" json:"requested"`
 48707  }
 48708  
 48709  func init() {
 48710  	t["InsufficientMemoryResourcesFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFault)(nil)).Elem()
 48711  }
 48712  
 48713  type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault
 48714  
 48715  func init() {
 48716  	t["InsufficientMemoryResourcesFaultFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFaultFault)(nil)).Elem()
 48717  }
 48718  
 48719  // The host does not have enough network capacity for running the virtual machine.
 48720  type InsufficientNetworkCapacity struct {
 48721  	InsufficientResourcesFault
 48722  }
 48723  
 48724  func init() {
 48725  	t["InsufficientNetworkCapacity"] = reflect.TypeOf((*InsufficientNetworkCapacity)(nil)).Elem()
 48726  }
 48727  
 48728  type InsufficientNetworkCapacityFault InsufficientNetworkCapacity
 48729  
 48730  func init() {
 48731  	t["InsufficientNetworkCapacityFault"] = reflect.TypeOf((*InsufficientNetworkCapacityFault)(nil)).Elem()
 48732  }
 48733  
 48734  // Insufficient network resource pool bandwidth
 48735  type InsufficientNetworkResourcePoolCapacity struct {
 48736  	InsufficientResourcesFault
 48737  
 48738  	// Distributed Virtual Switch containing the resource pool
 48739  	// having unsufficient network bandwitdh.
 48740  	DvsName string `xml:"dvsName" json:"dvsName"`
 48741  	// UUID of the distributed Virtual Switch containing the resource pool
 48742  	// having unsufficient network bandwitdh.
 48743  	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
 48744  	// Key of the resource pool on which network bandwidth is requested.
 48745  	ResourcePoolKey string `xml:"resourcePoolKey" json:"resourcePoolKey"`
 48746  	// Network bandwidth available (in MBs) in the requested resource pool.
 48747  	Available int64 `xml:"available" json:"available"`
 48748  	// Network bandwidth amount requested (in MBs).
 48749  	Requested int64 `xml:"requested" json:"requested"`
 48750  	// List of network devices that are requesting or already have requested
 48751  	// bandwidth on the network resource pool.
 48752  	Device []string `xml:"device" json:"device"`
 48753  }
 48754  
 48755  func init() {
 48756  	t["InsufficientNetworkResourcePoolCapacity"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacity)(nil)).Elem()
 48757  }
 48758  
 48759  type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity
 48760  
 48761  func init() {
 48762  	t["InsufficientNetworkResourcePoolCapacityFault"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacityFault)(nil)).Elem()
 48763  }
 48764  
 48765  // The host does not have enough per CPU capacity.
 48766  type InsufficientPerCpuCapacity struct {
 48767  	InsufficientHostCapacityFault
 48768  }
 48769  
 48770  func init() {
 48771  	t["InsufficientPerCpuCapacity"] = reflect.TypeOf((*InsufficientPerCpuCapacity)(nil)).Elem()
 48772  }
 48773  
 48774  type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity
 48775  
 48776  func init() {
 48777  	t["InsufficientPerCpuCapacityFault"] = reflect.TypeOf((*InsufficientPerCpuCapacityFault)(nil)).Elem()
 48778  }
 48779  
 48780  // Base fault that occurs when an operation conflicts with a resource configuration
 48781  // policy.
 48782  //
 48783  // For example, this fault occurs if a power-on operation reserves more memory
 48784  // than is allocated to a resource pool.
 48785  type InsufficientResourcesFault struct {
 48786  	VimFault
 48787  }
 48788  
 48789  func init() {
 48790  	t["InsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem()
 48791  }
 48792  
 48793  type InsufficientResourcesFaultFault BaseInsufficientResourcesFault
 48794  
 48795  func init() {
 48796  	t["InsufficientResourcesFaultFault"] = reflect.TypeOf((*InsufficientResourcesFaultFault)(nil)).Elem()
 48797  }
 48798  
 48799  // This fault is thrown when Distributed Power Management cannot perform
 48800  // a given opeartion because there is insufficient CPU resource
 48801  // on standby hosts (if any) to meet the requirements of the operation.
 48802  type InsufficientStandbyCpuResource struct {
 48803  	InsufficientStandbyResource
 48804  
 48805  	// The total amount of CPU resource available (in MHz) on all the usable hosts
 48806  	// in the cluster (including powered on and standby hosts).
 48807  	Available int64 `xml:"available" json:"available"`
 48808  	// The additional amount of CPU resource (other than that on the hosts included
 48809  	// in "available") needed (in MHz).
 48810  	Requested int64 `xml:"requested" json:"requested"`
 48811  }
 48812  
 48813  func init() {
 48814  	t["InsufficientStandbyCpuResource"] = reflect.TypeOf((*InsufficientStandbyCpuResource)(nil)).Elem()
 48815  }
 48816  
 48817  type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource
 48818  
 48819  func init() {
 48820  	t["InsufficientStandbyCpuResourceFault"] = reflect.TypeOf((*InsufficientStandbyCpuResourceFault)(nil)).Elem()
 48821  }
 48822  
 48823  // This fault is thrown by Distributed Power Management algorithm.
 48824  //
 48825  // It indicates
 48826  // that there are insufficient memory resources on standby hosts (if any)
 48827  // to meet the requirements of a given operation.
 48828  type InsufficientStandbyMemoryResource struct {
 48829  	InsufficientStandbyResource
 48830  
 48831  	// The total amount of memory resource available (in bytes) on all the usable hosts
 48832  	// in the cluster (including powered on and standby hosts).
 48833  	Available int64 `xml:"available" json:"available"`
 48834  	// The additional amount of memory resource (other than that on the hosts included
 48835  	// in "available") needed (in bytes).
 48836  	Requested int64 `xml:"requested" json:"requested"`
 48837  }
 48838  
 48839  func init() {
 48840  	t["InsufficientStandbyMemoryResource"] = reflect.TypeOf((*InsufficientStandbyMemoryResource)(nil)).Elem()
 48841  }
 48842  
 48843  type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource
 48844  
 48845  func init() {
 48846  	t["InsufficientStandbyMemoryResourceFault"] = reflect.TypeOf((*InsufficientStandbyMemoryResourceFault)(nil)).Elem()
 48847  }
 48848  
 48849  // This fault is thrown when Distributed Power Management cannot perform
 48850  // a given opeartion because there are insufficient CPU/memory resources
 48851  // on standby hosts (if any) to meet the requirements of the operation.
 48852  type InsufficientStandbyResource struct {
 48853  	InsufficientResourcesFault
 48854  }
 48855  
 48856  func init() {
 48857  	t["InsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem()
 48858  }
 48859  
 48860  type InsufficientStandbyResourceFault BaseInsufficientStandbyResource
 48861  
 48862  func init() {
 48863  	t["InsufficientStandbyResourceFault"] = reflect.TypeOf((*InsufficientStandbyResourceFault)(nil)).Elem()
 48864  }
 48865  
 48866  // The datastore does not have enough IOPs capacity for running the virtual machine.
 48867  type InsufficientStorageIops struct {
 48868  	VimFault
 48869  
 48870  	// The IOPs available on the datastore
 48871  	UnreservedIops int64 `xml:"unreservedIops" json:"unreservedIops"`
 48872  	// The IOPs resource amount requested in the failed operation
 48873  	RequestedIops int64 `xml:"requestedIops" json:"requestedIops"`
 48874  	// Name of the datastore with insufficient capacity
 48875  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 48876  }
 48877  
 48878  func init() {
 48879  	t["InsufficientStorageIops"] = reflect.TypeOf((*InsufficientStorageIops)(nil)).Elem()
 48880  }
 48881  
 48882  type InsufficientStorageIopsFault InsufficientStorageIops
 48883  
 48884  func init() {
 48885  	t["InsufficientStorageIopsFault"] = reflect.TypeOf((*InsufficientStorageIopsFault)(nil)).Elem()
 48886  }
 48887  
 48888  // The fault occurs when Storage DRS cannot perform a given operation (e.g., fix the
 48889  // out of space condition, or place a virtual disk) because there is insufficient
 48890  // storage space in the given storage pod to meet the requirements of the operation.
 48891  type InsufficientStorageSpace struct {
 48892  	InsufficientResourcesFault
 48893  }
 48894  
 48895  func init() {
 48896  	t["InsufficientStorageSpace"] = reflect.TypeOf((*InsufficientStorageSpace)(nil)).Elem()
 48897  }
 48898  
 48899  type InsufficientStorageSpaceFault InsufficientStorageSpace
 48900  
 48901  func init() {
 48902  	t["InsufficientStorageSpaceFault"] = reflect.TypeOf((*InsufficientStorageSpaceFault)(nil)).Elem()
 48903  }
 48904  
 48905  // Insufficient vFlash resource to consume
 48906  type InsufficientVFlashResourcesFault struct {
 48907  	InsufficientResourcesFault
 48908  
 48909  	// The vFlash resource available capacity in MB.
 48910  	FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty" json:"freeSpaceInMB,omitempty"`
 48911  	// The vFlash resource available capacity in bytes.
 48912  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 48913  	// The vFlash resource amount requested in MB.
 48914  	RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty" json:"requestedSpaceInMB,omitempty"`
 48915  	// The vFlash resource amount requested in bytes.
 48916  	RequestedSpace int64 `xml:"requestedSpace" json:"requestedSpace"`
 48917  }
 48918  
 48919  func init() {
 48920  	t["InsufficientVFlashResourcesFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFault)(nil)).Elem()
 48921  }
 48922  
 48923  type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault
 48924  
 48925  func init() {
 48926  	t["InsufficientVFlashResourcesFaultFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFaultFault)(nil)).Elem()
 48927  }
 48928  
 48929  // The integer type of setting or configuration that may get a
 48930  // negated value.
 48931  type IntExpression struct {
 48932  	NegatableExpression
 48933  
 48934  	// The integer value that is either negated or used as it is
 48935  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 48936  }
 48937  
 48938  func init() {
 48939  	t["IntExpression"] = reflect.TypeOf((*IntExpression)(nil)).Elem()
 48940  }
 48941  
 48942  // The IntOption data object type is used to define the minimum, maximum,
 48943  // and default values for an integer option.
 48944  type IntOption struct {
 48945  	OptionType
 48946  
 48947  	// The minimum value.
 48948  	Min int32 `xml:"min" json:"min"`
 48949  	// The maximum value.
 48950  	Max int32 `xml:"max" json:"max"`
 48951  	// The default value.
 48952  	DefaultValue int32 `xml:"defaultValue" json:"defaultValue"`
 48953  }
 48954  
 48955  func init() {
 48956  	t["IntOption"] = reflect.TypeOf((*IntOption)(nil)).Elem()
 48957  }
 48958  
 48959  // The integer type of setting or configuration that may get an
 48960  // inherited value.
 48961  type IntPolicy struct {
 48962  	InheritablePolicy
 48963  
 48964  	// The integer value that is either set or inherited.
 48965  	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
 48966  }
 48967  
 48968  func init() {
 48969  	t["IntPolicy"] = reflect.TypeOf((*IntPolicy)(nil)).Elem()
 48970  }
 48971  
 48972  // An InvalidAffinitySettingsFault is thrown if an invalid affinity setting is
 48973  // specified for a virtual machine.
 48974  type InvalidAffinitySettingFault struct {
 48975  	VimFault
 48976  }
 48977  
 48978  func init() {
 48979  	t["InvalidAffinitySettingFault"] = reflect.TypeOf((*InvalidAffinitySettingFault)(nil)).Elem()
 48980  }
 48981  
 48982  type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault
 48983  
 48984  func init() {
 48985  	t["InvalidAffinitySettingFaultFault"] = reflect.TypeOf((*InvalidAffinitySettingFaultFault)(nil)).Elem()
 48986  }
 48987  
 48988  // An InvalidArgument exception is thrown if the
 48989  // set of arguments passed to the function is not
 48990  // specified correctly.
 48991  type InvalidArgument struct {
 48992  	RuntimeFault
 48993  
 48994  	// Optional name of the invalid property.
 48995  	InvalidProperty string `xml:"invalidProperty,omitempty" json:"invalidProperty,omitempty"`
 48996  }
 48997  
 48998  func init() {
 48999  	t["InvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem()
 49000  }
 49001  
 49002  type InvalidArgumentFault BaseInvalidArgument
 49003  
 49004  func init() {
 49005  	t["InvalidArgumentFault"] = reflect.TypeOf((*InvalidArgumentFault)(nil)).Elem()
 49006  }
 49007  
 49008  // An InvalidBmcRole fault is thrown when a BMC user doesn't have the necessary
 49009  // privileges.
 49010  //
 49011  // BMC (Board Management Controller) is a piece of hardware required for
 49012  // IPMI.
 49013  type InvalidBmcRole struct {
 49014  	VimFault
 49015  }
 49016  
 49017  func init() {
 49018  	t["InvalidBmcRole"] = reflect.TypeOf((*InvalidBmcRole)(nil)).Elem()
 49019  }
 49020  
 49021  type InvalidBmcRoleFault InvalidBmcRole
 49022  
 49023  func init() {
 49024  	t["InvalidBmcRoleFault"] = reflect.TypeOf((*InvalidBmcRoleFault)(nil)).Elem()
 49025  }
 49026  
 49027  // An Invalid Bundle fault is thrown if an operation fails because of a
 49028  // problem with the supplied bundle.
 49029  type InvalidBundle struct {
 49030  	PlatformConfigFault
 49031  }
 49032  
 49033  func init() {
 49034  	t["InvalidBundle"] = reflect.TypeOf((*InvalidBundle)(nil)).Elem()
 49035  }
 49036  
 49037  type InvalidBundleFault InvalidBundle
 49038  
 49039  func init() {
 49040  	t["InvalidBundleFault"] = reflect.TypeOf((*InvalidBundleFault)(nil)).Elem()
 49041  }
 49042  
 49043  // Fault indicating that the CAM server's certificate
 49044  // cannot be verified.
 49045  type InvalidCAMCertificate struct {
 49046  	InvalidCAMServer
 49047  }
 49048  
 49049  func init() {
 49050  	t["InvalidCAMCertificate"] = reflect.TypeOf((*InvalidCAMCertificate)(nil)).Elem()
 49051  }
 49052  
 49053  type InvalidCAMCertificateFault InvalidCAMCertificate
 49054  
 49055  func init() {
 49056  	t["InvalidCAMCertificateFault"] = reflect.TypeOf((*InvalidCAMCertificateFault)(nil)).Elem()
 49057  }
 49058  
 49059  // Fault indicating that the CAM server
 49060  // for camServer cannot be reached,
 49061  // or is not a valid IP address.
 49062  type InvalidCAMServer struct {
 49063  	ActiveDirectoryFault
 49064  
 49065  	// The address of the CAM server.
 49066  	CamServer string `xml:"camServer" json:"camServer"`
 49067  }
 49068  
 49069  func init() {
 49070  	t["InvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem()
 49071  }
 49072  
 49073  type InvalidCAMServerFault BaseInvalidCAMServer
 49074  
 49075  func init() {
 49076  	t["InvalidCAMServerFault"] = reflect.TypeOf((*InvalidCAMServerFault)(nil)).Elem()
 49077  }
 49078  
 49079  // This exception is thrown when a client has provided a
 49080  // certificate that fails certificate validation at the server.
 49081  type InvalidClientCertificate struct {
 49082  	InvalidLogin
 49083  }
 49084  
 49085  func init() {
 49086  	t["InvalidClientCertificate"] = reflect.TypeOf((*InvalidClientCertificate)(nil)).Elem()
 49087  }
 49088  
 49089  type InvalidClientCertificateFault InvalidClientCertificate
 49090  
 49091  func init() {
 49092  	t["InvalidClientCertificateFault"] = reflect.TypeOf((*InvalidClientCertificateFault)(nil)).Elem()
 49093  }
 49094  
 49095  // InvalidCollectorVersion is thrown when a collector version is out
 49096  // of date or invalid.
 49097  type InvalidCollectorVersion struct {
 49098  	MethodFault
 49099  }
 49100  
 49101  func init() {
 49102  	t["InvalidCollectorVersion"] = reflect.TypeOf((*InvalidCollectorVersion)(nil)).Elem()
 49103  }
 49104  
 49105  type InvalidCollectorVersionFault InvalidCollectorVersion
 49106  
 49107  func init() {
 49108  	t["InvalidCollectorVersionFault"] = reflect.TypeOf((*InvalidCollectorVersionFault)(nil)).Elem()
 49109  }
 49110  
 49111  // An InvalidController exception is thrown if
 49112  // a device refers to a controller that cannot be found.
 49113  //
 49114  // For example, an exception might be thrown if the client
 49115  // incorrectly passes a controller key,
 49116  // or if the client did not specify a controller where one is
 49117  // required (such as for disks or CD-ROMs).
 49118  type InvalidController struct {
 49119  	InvalidDeviceSpec
 49120  
 49121  	ControllerKey int32 `xml:"controllerKey" json:"controllerKey"`
 49122  }
 49123  
 49124  func init() {
 49125  	t["InvalidController"] = reflect.TypeOf((*InvalidController)(nil)).Elem()
 49126  }
 49127  
 49128  type InvalidControllerFault InvalidController
 49129  
 49130  func init() {
 49131  	t["InvalidControllerFault"] = reflect.TypeOf((*InvalidControllerFault)(nil)).Elem()
 49132  }
 49133  
 49134  // This fault is thrown when an attempt is made to configure an HA cluster with
 49135  // invalid argument.
 49136  type InvalidDasConfigArgument struct {
 49137  	InvalidArgument
 49138  
 49139  	// The entry for the invalid argument
 49140  	Entry string `xml:"entry,omitempty" json:"entry,omitempty"`
 49141  	// Name of the cluster to be configured
 49142  	ClusterName string `xml:"clusterName,omitempty" json:"clusterName,omitempty"`
 49143  }
 49144  
 49145  func init() {
 49146  	t["InvalidDasConfigArgument"] = reflect.TypeOf((*InvalidDasConfigArgument)(nil)).Elem()
 49147  }
 49148  
 49149  type InvalidDasConfigArgumentFault InvalidDasConfigArgument
 49150  
 49151  func init() {
 49152  	t["InvalidDasConfigArgumentFault"] = reflect.TypeOf((*InvalidDasConfigArgumentFault)(nil)).Elem()
 49153  }
 49154  
 49155  // This fault is thrown when an attempt is made to set the DAS restart
 49156  // priority of a FT VM to disabled.
 49157  type InvalidDasRestartPriorityForFtVm struct {
 49158  	InvalidArgument
 49159  
 49160  	// The virtual machine
 49161  	//
 49162  	// Refers instance of `VirtualMachine`.
 49163  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49164  	// The name of the virtual machine
 49165  	VmName string `xml:"vmName" json:"vmName"`
 49166  }
 49167  
 49168  func init() {
 49169  	t["InvalidDasRestartPriorityForFtVm"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVm)(nil)).Elem()
 49170  }
 49171  
 49172  type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm
 49173  
 49174  func init() {
 49175  	t["InvalidDasRestartPriorityForFtVmFault"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVmFault)(nil)).Elem()
 49176  }
 49177  
 49178  // An InvalidDatastore exception is thrown if an operation fails because of a
 49179  // problem with the specified datastore.
 49180  //
 49181  // Typically, a subclass of this
 49182  // exception is thrown, indicating a problem such as an inaccessible datastore
 49183  // or an invalid datastore path.
 49184  type InvalidDatastore struct {
 49185  	VimFault
 49186  
 49187  	// The datastore that is invalid.
 49188  	//
 49189  	// Refers instance of `Datastore`.
 49190  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 49191  	// The name of the datastore that is invalid.
 49192  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 49193  }
 49194  
 49195  func init() {
 49196  	t["InvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem()
 49197  }
 49198  
 49199  type InvalidDatastoreFault BaseInvalidDatastore
 49200  
 49201  func init() {
 49202  	t["InvalidDatastoreFault"] = reflect.TypeOf((*InvalidDatastoreFault)(nil)).Elem()
 49203  }
 49204  
 49205  // An InvalidDatastorePath exception is thrown if a datastore path violates
 49206  // the expected format.
 49207  //
 49208  // The expected format is "\[dsName\] path", e.g.
 49209  // "\[storage1\] folder/Vm1.vmdk". This exception is also thrown if a datastore
 49210  // corresponding to the given datastore path is not found.
 49211  type InvalidDatastorePath struct {
 49212  	InvalidDatastore
 49213  
 49214  	// The invalid datastore path name, if one was provided.
 49215  	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
 49216  }
 49217  
 49218  func init() {
 49219  	t["InvalidDatastorePath"] = reflect.TypeOf((*InvalidDatastorePath)(nil)).Elem()
 49220  }
 49221  
 49222  type InvalidDatastorePathFault InvalidDatastorePath
 49223  
 49224  func init() {
 49225  	t["InvalidDatastorePathFault"] = reflect.TypeOf((*InvalidDatastorePathFault)(nil)).Elem()
 49226  }
 49227  
 49228  // The datastore is in an invalid state (e.g., maintenance mode)
 49229  // for a given operation.
 49230  type InvalidDatastoreState struct {
 49231  	InvalidState
 49232  
 49233  	// The name of the datastore.
 49234  	DatastoreName string `xml:"datastoreName,omitempty" json:"datastoreName,omitempty"`
 49235  }
 49236  
 49237  func init() {
 49238  	t["InvalidDatastoreState"] = reflect.TypeOf((*InvalidDatastoreState)(nil)).Elem()
 49239  }
 49240  
 49241  type InvalidDatastoreStateFault InvalidDatastoreState
 49242  
 49243  func init() {
 49244  	t["InvalidDatastoreStateFault"] = reflect.TypeOf((*InvalidDatastoreStateFault)(nil)).Elem()
 49245  }
 49246  
 49247  // An InvalidDeviceBacking exception is thrown if
 49248  // a device with an incompatible
 49249  // device backing is added or edited.
 49250  type InvalidDeviceBacking struct {
 49251  	InvalidDeviceSpec
 49252  }
 49253  
 49254  func init() {
 49255  	t["InvalidDeviceBacking"] = reflect.TypeOf((*InvalidDeviceBacking)(nil)).Elem()
 49256  }
 49257  
 49258  type InvalidDeviceBackingFault InvalidDeviceBacking
 49259  
 49260  func init() {
 49261  	t["InvalidDeviceBackingFault"] = reflect.TypeOf((*InvalidDeviceBackingFault)(nil)).Elem()
 49262  }
 49263  
 49264  // An InvalidDeviceOperation exception is thrown if
 49265  // virtual machine creation or configuration fails because an invalid
 49266  // operation is attempted on the given device.
 49267  type InvalidDeviceOperation struct {
 49268  	InvalidDeviceSpec
 49269  
 49270  	// The invalid operation attempted.
 49271  	BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty" json:"badOp,omitempty"`
 49272  	// The invalid file operation attempted.
 49273  	BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty" json:"badFileOp,omitempty"`
 49274  }
 49275  
 49276  func init() {
 49277  	t["InvalidDeviceOperation"] = reflect.TypeOf((*InvalidDeviceOperation)(nil)).Elem()
 49278  }
 49279  
 49280  type InvalidDeviceOperationFault InvalidDeviceOperation
 49281  
 49282  func init() {
 49283  	t["InvalidDeviceOperationFault"] = reflect.TypeOf((*InvalidDeviceOperationFault)(nil)).Elem()
 49284  }
 49285  
 49286  // An InvalidDeviceSpec exception is thrown if
 49287  // a virtual machine creation or configuration fails because a device
 49288  // specification contains an invalid value.
 49289  type InvalidDeviceSpec struct {
 49290  	InvalidVmConfig
 49291  
 49292  	// Index of the device in the configuration specification that has the invalid value.
 49293  	DeviceIndex int32 `xml:"deviceIndex" json:"deviceIndex"`
 49294  }
 49295  
 49296  func init() {
 49297  	t["InvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem()
 49298  }
 49299  
 49300  type InvalidDeviceSpecFault BaseInvalidDeviceSpec
 49301  
 49302  func init() {
 49303  	t["InvalidDeviceSpecFault"] = reflect.TypeOf((*InvalidDeviceSpecFault)(nil)).Elem()
 49304  }
 49305  
 49306  // The disk format is either corrupted or not supported.
 49307  type InvalidDiskFormat struct {
 49308  	InvalidFormat
 49309  }
 49310  
 49311  func init() {
 49312  	t["InvalidDiskFormat"] = reflect.TypeOf((*InvalidDiskFormat)(nil)).Elem()
 49313  }
 49314  
 49315  type InvalidDiskFormatFault InvalidDiskFormat
 49316  
 49317  func init() {
 49318  	t["InvalidDiskFormatFault"] = reflect.TypeOf((*InvalidDiskFormatFault)(nil)).Elem()
 49319  }
 49320  
 49321  // This fault is thrown when an attempt is made to set the DRS behavior
 49322  // of an FT VM to an unsupported value.
 49323  //
 49324  // Currently, the only supported
 49325  // behavior is **DRS Disabled**.
 49326  type InvalidDrsBehaviorForFtVm struct {
 49327  	InvalidArgument
 49328  
 49329  	// The virtual machine
 49330  	//
 49331  	// Refers instance of `VirtualMachine`.
 49332  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49333  	// The name of the virtual machine
 49334  	VmName string `xml:"vmName" json:"vmName"`
 49335  }
 49336  
 49337  func init() {
 49338  	t["InvalidDrsBehaviorForFtVm"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVm)(nil)).Elem()
 49339  }
 49340  
 49341  type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm
 49342  
 49343  func init() {
 49344  	t["InvalidDrsBehaviorForFtVmFault"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVmFault)(nil)).Elem()
 49345  }
 49346  
 49347  // This event records if the edition is set to an invalid value.
 49348  type InvalidEditionEvent struct {
 49349  	LicenseEvent
 49350  
 49351  	Feature string `xml:"feature" json:"feature"`
 49352  }
 49353  
 49354  func init() {
 49355  	t["InvalidEditionEvent"] = reflect.TypeOf((*InvalidEditionEvent)(nil)).Elem()
 49356  }
 49357  
 49358  // An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license
 49359  // 'feature failed for count 'count'.
 49360  type InvalidEditionLicense struct {
 49361  	NotEnoughLicenses
 49362  
 49363  	Feature string `xml:"feature" json:"feature"`
 49364  }
 49365  
 49366  func init() {
 49367  	t["InvalidEditionLicense"] = reflect.TypeOf((*InvalidEditionLicense)(nil)).Elem()
 49368  }
 49369  
 49370  type InvalidEditionLicenseFault InvalidEditionLicense
 49371  
 49372  func init() {
 49373  	t["InvalidEditionLicenseFault"] = reflect.TypeOf((*InvalidEditionLicenseFault)(nil)).Elem()
 49374  }
 49375  
 49376  // A InvalidEvent fault is thrown when the event
 49377  // is malformed.
 49378  type InvalidEvent struct {
 49379  	VimFault
 49380  }
 49381  
 49382  func init() {
 49383  	t["InvalidEvent"] = reflect.TypeOf((*InvalidEvent)(nil)).Elem()
 49384  }
 49385  
 49386  type InvalidEventFault InvalidEvent
 49387  
 49388  func init() {
 49389  	t["InvalidEventFault"] = reflect.TypeOf((*InvalidEventFault)(nil)).Elem()
 49390  }
 49391  
 49392  // An InvalidFolderFault exception is thrown when a
 49393  // node is moved to an invalid place in the hierarchy.
 49394  //
 49395  // This can be because it is a child of the current node,
 49396  // or a wrong kind of container.
 49397  type InvalidFolder struct {
 49398  	VimFault
 49399  
 49400  	// Reference to invalid target.
 49401  	//
 49402  	// Refers instance of `ManagedEntity`.
 49403  	Target ManagedObjectReference `xml:"target" json:"target"`
 49404  }
 49405  
 49406  func init() {
 49407  	t["InvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem()
 49408  }
 49409  
 49410  type InvalidFolderFault BaseInvalidFolder
 49411  
 49412  func init() {
 49413  	t["InvalidFolderFault"] = reflect.TypeOf((*InvalidFolderFault)(nil)).Elem()
 49414  }
 49415  
 49416  // Throws when an invalid format is detected.
 49417  //
 49418  // For example, when
 49419  // a virtual machine is registered and the system is unable to parse
 49420  // the files as a virtual machine.
 49421  type InvalidFormat struct {
 49422  	VmConfigFault
 49423  }
 49424  
 49425  func init() {
 49426  	t["InvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem()
 49427  }
 49428  
 49429  type InvalidFormatFault BaseInvalidFormat
 49430  
 49431  func init() {
 49432  	t["InvalidFormatFault"] = reflect.TypeOf((*InvalidFormatFault)(nil)).Elem()
 49433  }
 49434  
 49435  // An InvalidGuestLogin exception is thrown when an operation fails because
 49436  // authentication information used to authenticate with the guest was not
 49437  // accepted.
 49438  type InvalidGuestLogin struct {
 49439  	GuestOperationsFault
 49440  }
 49441  
 49442  func init() {
 49443  	t["InvalidGuestLogin"] = reflect.TypeOf((*InvalidGuestLogin)(nil)).Elem()
 49444  }
 49445  
 49446  type InvalidGuestLoginFault InvalidGuestLogin
 49447  
 49448  func init() {
 49449  	t["InvalidGuestLoginFault"] = reflect.TypeOf((*InvalidGuestLoginFault)(nil)).Elem()
 49450  }
 49451  
 49452  // The host has an invalid connection state.
 49453  type InvalidHostConnectionState struct {
 49454  	InvalidHostState
 49455  }
 49456  
 49457  func init() {
 49458  	t["InvalidHostConnectionState"] = reflect.TypeOf((*InvalidHostConnectionState)(nil)).Elem()
 49459  }
 49460  
 49461  type InvalidHostConnectionStateFault InvalidHostConnectionState
 49462  
 49463  func init() {
 49464  	t["InvalidHostConnectionStateFault"] = reflect.TypeOf((*InvalidHostConnectionStateFault)(nil)).Elem()
 49465  }
 49466  
 49467  // The attempted operation requires that the host has a suitable FQDN.
 49468  type InvalidHostName struct {
 49469  	HostConfigFault
 49470  }
 49471  
 49472  func init() {
 49473  	t["InvalidHostName"] = reflect.TypeOf((*InvalidHostName)(nil)).Elem()
 49474  }
 49475  
 49476  type InvalidHostNameFault InvalidHostName
 49477  
 49478  func init() {
 49479  	t["InvalidHostNameFault"] = reflect.TypeOf((*InvalidHostNameFault)(nil)).Elem()
 49480  }
 49481  
 49482  // The host has an invalid state.
 49483  type InvalidHostState struct {
 49484  	InvalidState
 49485  
 49486  	// The host that has an invalid state.
 49487  	//
 49488  	// Refers instance of `HostSystem`.
 49489  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 49490  }
 49491  
 49492  func init() {
 49493  	t["InvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem()
 49494  }
 49495  
 49496  type InvalidHostStateFault BaseInvalidHostState
 49497  
 49498  func init() {
 49499  	t["InvalidHostStateFault"] = reflect.TypeOf((*InvalidHostStateFault)(nil)).Elem()
 49500  }
 49501  
 49502  // An InvalidIndexArgument exception is thrown if the
 49503  // index was not found
 49504  type InvalidIndexArgument struct {
 49505  	InvalidArgument
 49506  
 49507  	// Value of index that was not found
 49508  	Key string `xml:"key" json:"key"`
 49509  }
 49510  
 49511  func init() {
 49512  	t["InvalidIndexArgument"] = reflect.TypeOf((*InvalidIndexArgument)(nil)).Elem()
 49513  }
 49514  
 49515  type InvalidIndexArgumentFault InvalidIndexArgument
 49516  
 49517  func init() {
 49518  	t["InvalidIndexArgumentFault"] = reflect.TypeOf((*InvalidIndexArgumentFault)(nil)).Elem()
 49519  }
 49520  
 49521  // Illegal value specified for a property of the switch's IpfixConfig.
 49522  type InvalidIpfixConfig struct {
 49523  	DvsFault
 49524  
 49525  	// Path of the property in IpfixConfig that has an invalid value.
 49526  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 49527  }
 49528  
 49529  func init() {
 49530  	t["InvalidIpfixConfig"] = reflect.TypeOf((*InvalidIpfixConfig)(nil)).Elem()
 49531  }
 49532  
 49533  type InvalidIpfixConfigFault InvalidIpfixConfig
 49534  
 49535  func init() {
 49536  	t["InvalidIpfixConfigFault"] = reflect.TypeOf((*InvalidIpfixConfigFault)(nil)).Elem()
 49537  }
 49538  
 49539  // A InvalidIpmiLoginInfo fault is thrown when the IPMI user name and/or password is
 49540  // invalid.
 49541  type InvalidIpmiLoginInfo struct {
 49542  	VimFault
 49543  }
 49544  
 49545  func init() {
 49546  	t["InvalidIpmiLoginInfo"] = reflect.TypeOf((*InvalidIpmiLoginInfo)(nil)).Elem()
 49547  }
 49548  
 49549  type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo
 49550  
 49551  func init() {
 49552  	t["InvalidIpmiLoginInfoFault"] = reflect.TypeOf((*InvalidIpmiLoginInfoFault)(nil)).Elem()
 49553  }
 49554  
 49555  // A InvalidIpmiMacAddress fault is thrown when the IPMI mac address provided by the
 49556  // user doesn't match with the observed mac address on the host.
 49557  type InvalidIpmiMacAddress struct {
 49558  	VimFault
 49559  
 49560  	UserProvidedMacAddress string `xml:"userProvidedMacAddress" json:"userProvidedMacAddress"`
 49561  	ObservedMacAddress     string `xml:"observedMacAddress" json:"observedMacAddress"`
 49562  }
 49563  
 49564  func init() {
 49565  	t["InvalidIpmiMacAddress"] = reflect.TypeOf((*InvalidIpmiMacAddress)(nil)).Elem()
 49566  }
 49567  
 49568  type InvalidIpmiMacAddressFault InvalidIpmiMacAddress
 49569  
 49570  func init() {
 49571  	t["InvalidIpmiMacAddressFault"] = reflect.TypeOf((*InvalidIpmiMacAddressFault)(nil)).Elem()
 49572  }
 49573  
 49574  // Thrown when
 49575  // an attempt is made to upload license content
 49576  // that is invalid.
 49577  type InvalidLicense struct {
 49578  	VimFault
 49579  
 49580  	// The content of the license being reported as invalid.
 49581  	LicenseContent string `xml:"licenseContent" json:"licenseContent"`
 49582  }
 49583  
 49584  func init() {
 49585  	t["InvalidLicense"] = reflect.TypeOf((*InvalidLicense)(nil)).Elem()
 49586  }
 49587  
 49588  type InvalidLicenseFault InvalidLicense
 49589  
 49590  func init() {
 49591  	t["InvalidLicenseFault"] = reflect.TypeOf((*InvalidLicenseFault)(nil)).Elem()
 49592  }
 49593  
 49594  // Thrown when a locale name is unknown or invalid.
 49595  type InvalidLocale struct {
 49596  	VimFault
 49597  }
 49598  
 49599  func init() {
 49600  	t["InvalidLocale"] = reflect.TypeOf((*InvalidLocale)(nil)).Elem()
 49601  }
 49602  
 49603  type InvalidLocaleFault InvalidLocale
 49604  
 49605  func init() {
 49606  	t["InvalidLocaleFault"] = reflect.TypeOf((*InvalidLocaleFault)(nil)).Elem()
 49607  }
 49608  
 49609  // Thrown when a server logon fails due to a bad user name or
 49610  // password.
 49611  type InvalidLogin struct {
 49612  	VimFault
 49613  }
 49614  
 49615  func init() {
 49616  	t["InvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem()
 49617  }
 49618  
 49619  type InvalidLoginFault BaseInvalidLogin
 49620  
 49621  func init() {
 49622  	t["InvalidLoginFault"] = reflect.TypeOf((*InvalidLoginFault)(nil)).Elem()
 49623  }
 49624  
 49625  // A InvalidName fault is thrown when the name
 49626  // contains an invalid character or format.
 49627  type InvalidName struct {
 49628  	VimFault
 49629  
 49630  	// The invalid name.
 49631  	Name string `xml:"name" json:"name"`
 49632  	// Entity, if any, that has an invalid name.
 49633  	//
 49634  	// Refers instance of `ManagedEntity`.
 49635  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 49636  }
 49637  
 49638  func init() {
 49639  	t["InvalidName"] = reflect.TypeOf((*InvalidName)(nil)).Elem()
 49640  }
 49641  
 49642  type InvalidNameFault InvalidName
 49643  
 49644  func init() {
 49645  	t["InvalidNameFault"] = reflect.TypeOf((*InvalidNameFault)(nil)).Elem()
 49646  }
 49647  
 49648  // This fault is thrown when an operation to configure a CIFS volume
 49649  // fails because the credentials specified in the
 49650  // `spec` are incorrect.
 49651  type InvalidNasCredentials struct {
 49652  	NasConfigFault
 49653  
 49654  	// The username associated with the CIFS connection.
 49655  	UserName string `xml:"userName" json:"userName"`
 49656  }
 49657  
 49658  func init() {
 49659  	t["InvalidNasCredentials"] = reflect.TypeOf((*InvalidNasCredentials)(nil)).Elem()
 49660  }
 49661  
 49662  type InvalidNasCredentialsFault InvalidNasCredentials
 49663  
 49664  func init() {
 49665  	t["InvalidNasCredentialsFault"] = reflect.TypeOf((*InvalidNasCredentialsFault)(nil)).Elem()
 49666  }
 49667  
 49668  // The network specified in the property does not exists.
 49669  type InvalidNetworkInType struct {
 49670  	VAppPropertyFault
 49671  }
 49672  
 49673  func init() {
 49674  	t["InvalidNetworkInType"] = reflect.TypeOf((*InvalidNetworkInType)(nil)).Elem()
 49675  }
 49676  
 49677  type InvalidNetworkInTypeFault InvalidNetworkInType
 49678  
 49679  func init() {
 49680  	t["InvalidNetworkInTypeFault"] = reflect.TypeOf((*InvalidNetworkInTypeFault)(nil)).Elem()
 49681  }
 49682  
 49683  // This fault is thrown when an operation to configure a NAS volume fails
 49684  // because the network resource specified is invalid.
 49685  type InvalidNetworkResource struct {
 49686  	NasConfigFault
 49687  
 49688  	// The host that runs the CIFS or NFS server.
 49689  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 49690  	// The remote share.
 49691  	RemotePath string `xml:"remotePath" json:"remotePath"`
 49692  }
 49693  
 49694  func init() {
 49695  	t["InvalidNetworkResource"] = reflect.TypeOf((*InvalidNetworkResource)(nil)).Elem()
 49696  }
 49697  
 49698  type InvalidNetworkResourceFault InvalidNetworkResource
 49699  
 49700  func init() {
 49701  	t["InvalidNetworkResourceFault"] = reflect.TypeOf((*InvalidNetworkResourceFault)(nil)).Elem()
 49702  }
 49703  
 49704  // This fault is thrown when an attempt is made to invoke an operation on
 49705  // a secondary virtual machine that is only supported on the primary virtual
 49706  // machine of the fault tolerant group.
 49707  type InvalidOperationOnSecondaryVm struct {
 49708  	VmFaultToleranceIssue
 49709  
 49710  	// Instance UUID of the secondary virtual machine.
 49711  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 49712  }
 49713  
 49714  func init() {
 49715  	t["InvalidOperationOnSecondaryVm"] = reflect.TypeOf((*InvalidOperationOnSecondaryVm)(nil)).Elem()
 49716  }
 49717  
 49718  type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm
 49719  
 49720  func init() {
 49721  	t["InvalidOperationOnSecondaryVmFault"] = reflect.TypeOf((*InvalidOperationOnSecondaryVmFault)(nil)).Elem()
 49722  }
 49723  
 49724  // This exception is thrown if the
 49725  // power operation attempted could not be performed given
 49726  // the current power state of the virtual machine.
 49727  type InvalidPowerState struct {
 49728  	InvalidState
 49729  
 49730  	// Power state of the virtual machine required to
 49731  	// allow the operation to succeed.
 49732  	RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty" json:"requestedState,omitempty"`
 49733  	// Power state of the virtual machine that
 49734  	// prevented the operation from succeeding.
 49735  	ExistingState VirtualMachinePowerState `xml:"existingState" json:"existingState"`
 49736  }
 49737  
 49738  func init() {
 49739  	t["InvalidPowerState"] = reflect.TypeOf((*InvalidPowerState)(nil)).Elem()
 49740  }
 49741  
 49742  type InvalidPowerStateFault InvalidPowerState
 49743  
 49744  func init() {
 49745  	t["InvalidPowerStateFault"] = reflect.TypeOf((*InvalidPowerStateFault)(nil)).Elem()
 49746  }
 49747  
 49748  // A InvalidPrivilege fault is thrown when the privilege
 49749  // does not exist.
 49750  type InvalidPrivilege struct {
 49751  	VimFault
 49752  
 49753  	// The invalid privilege.
 49754  	Privilege string `xml:"privilege" json:"privilege"`
 49755  }
 49756  
 49757  func init() {
 49758  	t["InvalidPrivilege"] = reflect.TypeOf((*InvalidPrivilege)(nil)).Elem()
 49759  }
 49760  
 49761  type InvalidPrivilegeFault InvalidPrivilege
 49762  
 49763  func init() {
 49764  	t["InvalidPrivilegeFault"] = reflect.TypeOf((*InvalidPrivilegeFault)(nil)).Elem()
 49765  }
 49766  
 49767  // A InvalidProfileReferenceHost fault is thrown when a valid host is not
 49768  // associated with a profile in the Virtual Center inventory.
 49769  //
 49770  // This could
 49771  // be because there is no host assciated with the profile or because the
 49772  // associated host is incompatible with the profile.
 49773  type InvalidProfileReferenceHost struct {
 49774  	RuntimeFault
 49775  
 49776  	// The reason for the invalid reference host if known.
 49777  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 49778  	// The incompatible host if associated with the profile.
 49779  	//
 49780  	// Refers instance of `HostSystem`.
 49781  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 49782  	// The profile with the invalid or missing reference host.
 49783  	//
 49784  	// Refers instance of `Profile`.
 49785  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 49786  	// The profile name: the replacement of the member above.
 49787  	ProfileName string `xml:"profileName,omitempty" json:"profileName,omitempty"`
 49788  }
 49789  
 49790  func init() {
 49791  	t["InvalidProfileReferenceHost"] = reflect.TypeOf((*InvalidProfileReferenceHost)(nil)).Elem()
 49792  }
 49793  
 49794  type InvalidProfileReferenceHostFault InvalidProfileReferenceHost
 49795  
 49796  func init() {
 49797  	t["InvalidProfileReferenceHostFault"] = reflect.TypeOf((*InvalidProfileReferenceHostFault)(nil)).Elem()
 49798  }
 49799  
 49800  // Thrown when an invalid property path has been referenced.
 49801  type InvalidProperty struct {
 49802  	MethodFault
 49803  
 49804  	// The property name that generated the error.
 49805  	Name string `xml:"name" json:"name"`
 49806  }
 49807  
 49808  func init() {
 49809  	t["InvalidProperty"] = reflect.TypeOf((*InvalidProperty)(nil)).Elem()
 49810  }
 49811  
 49812  type InvalidPropertyFault InvalidProperty
 49813  
 49814  func init() {
 49815  	t["InvalidPropertyFault"] = reflect.TypeOf((*InvalidPropertyFault)(nil)).Elem()
 49816  }
 49817  
 49818  // The type specification in the property in invalid.
 49819  type InvalidPropertyType struct {
 49820  	VAppPropertyFault
 49821  }
 49822  
 49823  func init() {
 49824  	t["InvalidPropertyType"] = reflect.TypeOf((*InvalidPropertyType)(nil)).Elem()
 49825  }
 49826  
 49827  type InvalidPropertyTypeFault InvalidPropertyType
 49828  
 49829  func init() {
 49830  	t["InvalidPropertyTypeFault"] = reflect.TypeOf((*InvalidPropertyTypeFault)(nil)).Elem()
 49831  }
 49832  
 49833  // The value of the property is not valid given the type of the property.
 49834  type InvalidPropertyValue struct {
 49835  	VAppPropertyFault
 49836  }
 49837  
 49838  func init() {
 49839  	t["InvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem()
 49840  }
 49841  
 49842  type InvalidPropertyValueFault BaseInvalidPropertyValue
 49843  
 49844  func init() {
 49845  	t["InvalidPropertyValueFault"] = reflect.TypeOf((*InvalidPropertyValueFault)(nil)).Elem()
 49846  }
 49847  
 49848  // An InvalidRequest fault is thrown in response to a malformed
 49849  // request to the server that fails in the transport layer, e.g.,
 49850  // the SOAP XML request was invalid.
 49851  //
 49852  // Sub-types of this fault,
 49853  // provides more specific transport errors, such as a using a
 49854  // reference to an unknown managed object type or method.
 49855  type InvalidRequest struct {
 49856  	RuntimeFault
 49857  }
 49858  
 49859  func init() {
 49860  	t["InvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem()
 49861  }
 49862  
 49863  type InvalidRequestFault BaseInvalidRequest
 49864  
 49865  func init() {
 49866  	t["InvalidRequestFault"] = reflect.TypeOf((*InvalidRequestFault)(nil)).Elem()
 49867  }
 49868  
 49869  // This fault is thrown when an operation will cause the structure of a resource
 49870  // pool hiearchy to exceed its limit.
 49871  //
 49872  // The limits are typically imposed by the total
 49873  // number of nodes, maximum fan-out, and total depth of the hierarchy.
 49874  type InvalidResourcePoolStructureFault struct {
 49875  	InsufficientResourcesFault
 49876  }
 49877  
 49878  func init() {
 49879  	t["InvalidResourcePoolStructureFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFault)(nil)).Elem()
 49880  }
 49881  
 49882  type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault
 49883  
 49884  func init() {
 49885  	t["InvalidResourcePoolStructureFaultFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFaultFault)(nil)).Elem()
 49886  }
 49887  
 49888  // This exception is thrown when an unauthorized
 49889  // user runs a scheduled task.
 49890  type InvalidScheduledTask struct {
 49891  	RuntimeFault
 49892  }
 49893  
 49894  func init() {
 49895  	t["InvalidScheduledTask"] = reflect.TypeOf((*InvalidScheduledTask)(nil)).Elem()
 49896  	minAPIVersionForType["InvalidScheduledTask"] = "8.0.2.0"
 49897  }
 49898  
 49899  type InvalidScheduledTaskFault InvalidScheduledTask
 49900  
 49901  func init() {
 49902  	t["InvalidScheduledTaskFault"] = reflect.TypeOf((*InvalidScheduledTaskFault)(nil)).Elem()
 49903  }
 49904  
 49905  // Thrown when an invalid snapshot configuration is detected.
 49906  //
 49907  // For
 49908  // example, when a virtual machine's snapshot tree includes
 49909  // snapshots that are no longer present.
 49910  type InvalidSnapshotFormat struct {
 49911  	InvalidFormat
 49912  }
 49913  
 49914  func init() {
 49915  	t["InvalidSnapshotFormat"] = reflect.TypeOf((*InvalidSnapshotFormat)(nil)).Elem()
 49916  }
 49917  
 49918  type InvalidSnapshotFormatFault InvalidSnapshotFormat
 49919  
 49920  func init() {
 49921  	t["InvalidSnapshotFormatFault"] = reflect.TypeOf((*InvalidSnapshotFormatFault)(nil)).Elem()
 49922  }
 49923  
 49924  // An InvalidState fault is thrown if the
 49925  // operation failed due to the current state of the system.
 49926  type InvalidState struct {
 49927  	VimFault
 49928  }
 49929  
 49930  func init() {
 49931  	t["InvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem()
 49932  }
 49933  
 49934  type InvalidStateFault BaseInvalidState
 49935  
 49936  func init() {
 49937  	t["InvalidStateFault"] = reflect.TypeOf((*InvalidStateFault)(nil)).Elem()
 49938  }
 49939  
 49940  // InvalidType is thrown when a managed object request refers to
 49941  // an unexpected or unknown type.
 49942  type InvalidType struct {
 49943  	InvalidRequest
 49944  
 49945  	// Name of the argument that was malformed.
 49946  	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
 49947  }
 49948  
 49949  func init() {
 49950  	t["InvalidType"] = reflect.TypeOf((*InvalidType)(nil)).Elem()
 49951  }
 49952  
 49953  type InvalidTypeFault InvalidType
 49954  
 49955  func init() {
 49956  	t["InvalidTypeFault"] = reflect.TypeOf((*InvalidTypeFault)(nil)).Elem()
 49957  }
 49958  
 49959  // Thrown when virtual machine creation or configuration fails.
 49960  //
 49961  // This is
 49962  // a base type for all virtual machine configuration errors.
 49963  type InvalidVmConfig struct {
 49964  	VmConfigFault
 49965  
 49966  	// Path of the property in configSpec that has an invalid value.
 49967  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 49968  }
 49969  
 49970  func init() {
 49971  	t["InvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem()
 49972  }
 49973  
 49974  type InvalidVmConfigFault BaseInvalidVmConfig
 49975  
 49976  func init() {
 49977  	t["InvalidVmConfigFault"] = reflect.TypeOf((*InvalidVmConfigFault)(nil)).Elem()
 49978  }
 49979  
 49980  // The VM has an invalid state.
 49981  type InvalidVmState struct {
 49982  	InvalidState
 49983  
 49984  	// The VM that has an invalid state.
 49985  	//
 49986  	// Refers instance of `VirtualMachine`.
 49987  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 49988  }
 49989  
 49990  func init() {
 49991  	t["InvalidVmState"] = reflect.TypeOf((*InvalidVmState)(nil)).Elem()
 49992  }
 49993  
 49994  type InvalidVmStateFault InvalidVmState
 49995  
 49996  func init() {
 49997  	t["InvalidVmStateFault"] = reflect.TypeOf((*InvalidVmStateFault)(nil)).Elem()
 49998  }
 49999  
 50000  // Data object to capture all information needed to
 50001  // describe a sample inventory.
 50002  type InventoryDescription struct {
 50003  	DynamicData
 50004  
 50005  	// The number of hosts.
 50006  	NumHosts int32 `xml:"numHosts" json:"numHosts"`
 50007  	// The number of virtual machines.
 50008  	NumVirtualMachines int32 `xml:"numVirtualMachines" json:"numVirtualMachines"`
 50009  	// The number of resource pools.
 50010  	//
 50011  	// Default value is equal to numHosts
 50012  	NumResourcePools int32 `xml:"numResourcePools,omitempty" json:"numResourcePools,omitempty"`
 50013  	// The number of clusters.
 50014  	//
 50015  	// Default value is equal to numHosts/5.
 50016  	NumClusters int32 `xml:"numClusters,omitempty" json:"numClusters,omitempty"`
 50017  	// The number cpu devices per host.
 50018  	//
 50019  	// Default value is 4.
 50020  	NumCpuDev int32 `xml:"numCpuDev,omitempty" json:"numCpuDev,omitempty"`
 50021  	// The number network devices per host.
 50022  	//
 50023  	// Default value is 2.
 50024  	NumNetDev int32 `xml:"numNetDev,omitempty" json:"numNetDev,omitempty"`
 50025  	// The number disk devices per host.
 50026  	//
 50027  	// Default value is 10.
 50028  	NumDiskDev int32 `xml:"numDiskDev,omitempty" json:"numDiskDev,omitempty"`
 50029  	// The number cpu devices per vm.
 50030  	//
 50031  	// Default value is 2.
 50032  	NumvCpuDev int32 `xml:"numvCpuDev,omitempty" json:"numvCpuDev,omitempty"`
 50033  	// The number network devices per vm.
 50034  	//
 50035  	// Default value is 1.
 50036  	NumvNetDev int32 `xml:"numvNetDev,omitempty" json:"numvNetDev,omitempty"`
 50037  	// The number disk devices per vm.
 50038  	//
 50039  	// Default value is 4.
 50040  	NumvDiskDev int32 `xml:"numvDiskDev,omitempty" json:"numvDiskDev,omitempty"`
 50041  }
 50042  
 50043  func init() {
 50044  	t["InventoryDescription"] = reflect.TypeOf((*InventoryDescription)(nil)).Elem()
 50045  }
 50046  
 50047  // 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.
 50048  type InventoryHasStandardAloneHosts struct {
 50049  	NotEnoughLicenses
 50050  
 50051  	Hosts []string `xml:"hosts" json:"hosts"`
 50052  }
 50053  
 50054  func init() {
 50055  	t["InventoryHasStandardAloneHosts"] = reflect.TypeOf((*InventoryHasStandardAloneHosts)(nil)).Elem()
 50056  }
 50057  
 50058  type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts
 50059  
 50060  func init() {
 50061  	t["InventoryHasStandardAloneHostsFault"] = reflect.TypeOf((*InventoryHasStandardAloneHostsFault)(nil)).Elem()
 50062  }
 50063  
 50064  // The issues on a host.
 50065  type IoFilterHostIssue struct {
 50066  	DynamicData
 50067  
 50068  	// Host.
 50069  	//
 50070  	// Refers instance of `HostSystem`.
 50071  	Host ManagedObjectReference `xml:"host" json:"host"`
 50072  	// The issues.
 50073  	Issue []LocalizedMethodFault `xml:"issue" json:"issue"`
 50074  }
 50075  
 50076  func init() {
 50077  	t["IoFilterHostIssue"] = reflect.TypeOf((*IoFilterHostIssue)(nil)).Elem()
 50078  }
 50079  
 50080  // Information about an IO Filter.
 50081  type IoFilterInfo struct {
 50082  	DynamicData
 50083  
 50084  	// IO Filter identifier.
 50085  	Id string `xml:"id" json:"id"`
 50086  	// Name of the IO Filter.
 50087  	Name string `xml:"name" json:"name"`
 50088  	// Vendor of the IO Filter.
 50089  	Vendor string `xml:"vendor" json:"vendor"`
 50090  	// Version of the IO Filter.
 50091  	Version string `xml:"version" json:"version"`
 50092  	// Type of the IO Filter.
 50093  	//
 50094  	// The set of possible values are listed in
 50095  	// `IoFilterType_enum`.
 50096  	// The property is unset if the information is not available.
 50097  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 50098  	// Short description of the IO Filter.
 50099  	//
 50100  	// The property is unset if the information is not available.
 50101  	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
 50102  	// Release date of the IO Filter.
 50103  	//
 50104  	// The property is unset if the information is not available.
 50105  	ReleaseDate string `xml:"releaseDate,omitempty" json:"releaseDate,omitempty"`
 50106  }
 50107  
 50108  func init() {
 50109  	t["IoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem()
 50110  }
 50111  
 50112  // Specifies an SSL trust policy.
 50113  type IoFilterManagerSslTrust struct {
 50114  	DynamicData
 50115  }
 50116  
 50117  func init() {
 50118  	t["IoFilterManagerSslTrust"] = reflect.TypeOf((*IoFilterManagerSslTrust)(nil)).Elem()
 50119  	minAPIVersionForType["IoFilterManagerSslTrust"] = "8.0.3.0"
 50120  }
 50121  
 50122  // Result for `IoFilterManager.QueryIoFilterIssues`.
 50123  type IoFilterQueryIssueResult struct {
 50124  	DynamicData
 50125  
 50126  	// The type of the operation performed on the IO Filter.
 50127  	//
 50128  	// The set of possible values are defined in
 50129  	// `IoFilterOperation_enum`.
 50130  	OpType string `xml:"opType" json:"opType"`
 50131  	// The issues on hosts.
 50132  	HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty" json:"hostIssue,omitempty"`
 50133  }
 50134  
 50135  func init() {
 50136  	t["IoFilterQueryIssueResult"] = reflect.TypeOf((*IoFilterQueryIssueResult)(nil)).Elem()
 50137  }
 50138  
 50139  // This is the abstract base class for IP address.
 50140  type IpAddress struct {
 50141  	NegatableExpression
 50142  }
 50143  
 50144  func init() {
 50145  	t["IpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem()
 50146  }
 50147  
 50148  // The `IpAddressProfile` represents the Virtual NIC IP address.
 50149  //
 50150  // The `ApplyProfile.policy` property contains
 50151  // the configuration data values for the IP address.
 50152  type IpAddressProfile struct {
 50153  	ApplyProfile
 50154  }
 50155  
 50156  func init() {
 50157  	t["IpAddressProfile"] = reflect.TypeOf((*IpAddressProfile)(nil)).Elem()
 50158  }
 50159  
 50160  // An error occurred while running the IP/hostname generator application
 50161  type IpHostnameGeneratorError struct {
 50162  	CustomizationFault
 50163  }
 50164  
 50165  func init() {
 50166  	t["IpHostnameGeneratorError"] = reflect.TypeOf((*IpHostnameGeneratorError)(nil)).Elem()
 50167  }
 50168  
 50169  type IpHostnameGeneratorErrorFault IpHostnameGeneratorError
 50170  
 50171  func init() {
 50172  	t["IpHostnameGeneratorErrorFault"] = reflect.TypeOf((*IpHostnameGeneratorErrorFault)(nil)).Elem()
 50173  }
 50174  
 50175  // Specifications of the network configuration to be used on a
 50176  // network.
 50177  //
 50178  // This is used to generate IP addresses and for self-customization
 50179  // of vApps.
 50180  type IpPool struct {
 50181  	DynamicData
 50182  
 50183  	// Unique ID, generated by the server.
 50184  	//
 50185  	// This is used to identify the pool in
 50186  	// subsequent lookups or updates. The generated value is also returned by the `IpPoolManager.CreateIpPool` method.
 50187  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 50188  	// Pool name.
 50189  	//
 50190  	// The pool name must be unique within the datacenter.
 50191  	//
 50192  	// Any / (slash), \\ (backslash), character used in this
 50193  	// name element is escaped. Similarly, any % (percent) character used in
 50194  	// this name element is escaped, unless it is used to start an escape
 50195  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 50196  	// %5c, and a percent is escaped as %25.
 50197  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 50198  	// IPv4 configuration.
 50199  	//
 50200  	// This configuration is always present on the pool. To disable allocation, set the
 50201  	// ipPoolEnabled flag of the config to false.
 50202  	Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty" json:"ipv4Config,omitempty"`
 50203  	// IPv6 configuration.
 50204  	//
 50205  	// This configuration is always present on the pool. To disable allocation, set the
 50206  	// ipPoolEnabled flag of the config to false.
 50207  	Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty" json:"ipv6Config,omitempty"`
 50208  	// DNS Domain.
 50209  	//
 50210  	// For example, vmware.com. This can be an empty string if no
 50211  	// domain is configured.
 50212  	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
 50213  	// DNS Search Path.
 50214  	//
 50215  	// For example, eng.vmware.com;vmware.com
 50216  	DnsSearchPath string `xml:"dnsSearchPath,omitempty" json:"dnsSearchPath,omitempty"`
 50217  	// Prefix for hostnames.
 50218  	HostPrefix string `xml:"hostPrefix,omitempty" json:"hostPrefix,omitempty"`
 50219  	// The HTTP proxy to use on this network, e.g., &lt;host&gt;:&lt;port&gt;
 50220  	HttpProxy string `xml:"httpProxy,omitempty" json:"httpProxy,omitempty"`
 50221  	// The networks that are associated with this IP pool
 50222  	NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty" json:"networkAssociation,omitempty"`
 50223  	// The number of IPv4 addresses available for allocation.
 50224  	AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty" json:"availableIpv4Addresses,omitempty"`
 50225  	// The number of IPv6 addresses available for allocation.
 50226  	AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty" json:"availableIpv6Addresses,omitempty"`
 50227  	// The number of allocated IPv4 addresses.
 50228  	AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty" json:"allocatedIpv4Addresses,omitempty"`
 50229  	// The number of allocated IPv6 addresses.
 50230  	AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty" json:"allocatedIpv6Addresses,omitempty"`
 50231  }
 50232  
 50233  func init() {
 50234  	t["IpPool"] = reflect.TypeOf((*IpPool)(nil)).Elem()
 50235  }
 50236  
 50237  // Information about a network or portgroup that is associated to an IP pool.
 50238  type IpPoolAssociation struct {
 50239  	DynamicData
 50240  
 50241  	// The network object
 50242  	//
 50243  	// Refers instance of `Network`.
 50244  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 50245  	// The name of the network or portgroup
 50246  	//
 50247  	// This field is only used when querying existing IP pools. It is ignored when
 50248  	// creating or updating pools.
 50249  	NetworkName string `xml:"networkName" json:"networkName"`
 50250  }
 50251  
 50252  func init() {
 50253  	t["IpPoolAssociation"] = reflect.TypeOf((*IpPoolAssociation)(nil)).Elem()
 50254  }
 50255  
 50256  // Specifications of either IPv4 or IPv6 configuration to be used
 50257  // on this network.
 50258  //
 50259  // This is a part of network configuration.
 50260  //
 50261  // IPv4 addresses are in dot-decimal notation, e.g.: 192.0.2.235
 50262  //
 50263  // IPv6 addresses are in colon-hexadecimal notation,
 50264  // e.g.: 2001:0db8:85a3::0370:7334
 50265  type IpPoolIpPoolConfigInfo struct {
 50266  	DynamicData
 50267  
 50268  	// Address of the subnet.
 50269  	//
 50270  	// For example:
 50271  	//   - IPv4: 192.168.5.0
 50272  	//   - IPv6: 2001:0db8:85a3::
 50273  	SubnetAddress string `xml:"subnetAddress,omitempty" json:"subnetAddress,omitempty"`
 50274  	// Netmask
 50275  	//
 50276  	// For example:
 50277  	//   - IPv4: 255.255.255.0
 50278  	//   - IPv6: ffff:ffff:ffff::
 50279  	Netmask string `xml:"netmask,omitempty" json:"netmask,omitempty"`
 50280  	// Gateway.
 50281  	//
 50282  	// This can be an empty string - if no gateway is configured.
 50283  	//
 50284  	// Examples:
 50285  	//   - IPv4: 192.168.5.1
 50286  	//   - IPv6: 2001:0db8:85a3::1
 50287  	Gateway string `xml:"gateway,omitempty" json:"gateway,omitempty"`
 50288  	// IP range.
 50289  	//
 50290  	// This is specified as a set of ranges separated with commas.
 50291  	// One range is given by a start address, a hash (#), and the length
 50292  	// of the range.
 50293  	//
 50294  	// For example:
 50295  	//   - 192.0.2.235 # 20 is the IPv4 range from 192.0.2.235 to 192.0.2.254
 50296  	//   - 2001::7334 # 20 is the IPv6 range from 2001::7334 to 2001::7347
 50297  	Range string `xml:"range,omitempty" json:"range,omitempty"`
 50298  	// DNS servers
 50299  	//
 50300  	// For example:
 50301  	//   - IPv4: \["10.20.0.1", "10.20.0.2"\]
 50302  	//   - IPv6: \["2001:0db8:85a3::0370:7334", "2001:0db8:85a3::0370:7335"\]
 50303  	//
 50304  	// If an empty list is passed, the existing value remains unchanged. To clear this
 50305  	// list, pass an array containing the empty string as it's only element.
 50306  	Dns []string `xml:"dns,omitempty" json:"dns,omitempty"`
 50307  	// Whether a DHCP server is available on this network.
 50308  	DhcpServerAvailable *bool `xml:"dhcpServerAvailable" json:"dhcpServerAvailable,omitempty"`
 50309  	// IP addresses can only be allocated from the range if the IP pool is
 50310  	// enabled.
 50311  	IpPoolEnabled *bool `xml:"ipPoolEnabled" json:"ipPoolEnabled,omitempty"`
 50312  }
 50313  
 50314  func init() {
 50315  	t["IpPoolIpPoolConfigInfo"] = reflect.TypeOf((*IpPoolIpPoolConfigInfo)(nil)).Elem()
 50316  }
 50317  
 50318  // Describes an IP allocation.
 50319  type IpPoolManagerIpAllocation struct {
 50320  	DynamicData
 50321  
 50322  	// IP address
 50323  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 50324  	// The allocation ID
 50325  	AllocationId string `xml:"allocationId" json:"allocationId"`
 50326  }
 50327  
 50328  func init() {
 50329  	t["IpPoolManagerIpAllocation"] = reflect.TypeOf((*IpPoolManagerIpAllocation)(nil)).Elem()
 50330  }
 50331  
 50332  // This class specifies a range of IP addresses by using prefix.
 50333  //
 50334  // Usage: 128.20.20.10/24. Here 128.20.20.10 is IP address
 50335  // and 24 is prefix length.
 50336  type IpRange struct {
 50337  	IpAddress
 50338  
 50339  	// IP address prefix.
 50340  	AddressPrefix string `xml:"addressPrefix" json:"addressPrefix"`
 50341  	// Prefix length with max value of 32 for IPv4 and 128 for IPv6.
 50342  	PrefixLength int32 `xml:"prefixLength,omitempty" json:"prefixLength,omitempty"`
 50343  }
 50344  
 50345  func init() {
 50346  	t["IpRange"] = reflect.TypeOf((*IpRange)(nil)).Elem()
 50347  }
 50348  
 50349  // The `IpRouteProfile` data object represents the host IP route configuration.
 50350  //
 50351  // If a profile plug-in defines policies or subprofiles, use the
 50352  // `ApplyProfile.policy` or `ApplyProfile.property`
 50353  // list to access the additional configuration data.
 50354  type IpRouteProfile struct {
 50355  	ApplyProfile
 50356  
 50357  	// List of static routes to be configured.
 50358  	StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty" json:"staticRoute,omitempty"`
 50359  }
 50360  
 50361  func init() {
 50362  	t["IpRouteProfile"] = reflect.TypeOf((*IpRouteProfile)(nil)).Elem()
 50363  }
 50364  
 50365  type IsClusteredVmdkEnabled IsClusteredVmdkEnabledRequestType
 50366  
 50367  func init() {
 50368  	t["IsClusteredVmdkEnabled"] = reflect.TypeOf((*IsClusteredVmdkEnabled)(nil)).Elem()
 50369  }
 50370  
 50371  type IsClusteredVmdkEnabledRequestType struct {
 50372  	This ManagedObjectReference `xml:"_this" json:"-"`
 50373  }
 50374  
 50375  func init() {
 50376  	t["IsClusteredVmdkEnabledRequestType"] = reflect.TypeOf((*IsClusteredVmdkEnabledRequestType)(nil)).Elem()
 50377  }
 50378  
 50379  type IsClusteredVmdkEnabledResponse struct {
 50380  	Returnval bool `xml:"returnval" json:"returnval"`
 50381  }
 50382  
 50383  type IsKmsClusterActive IsKmsClusterActiveRequestType
 50384  
 50385  func init() {
 50386  	t["IsKmsClusterActive"] = reflect.TypeOf((*IsKmsClusterActive)(nil)).Elem()
 50387  }
 50388  
 50389  // The parameters of `CryptoManagerKmip.IsKmsClusterActive`.
 50390  type IsKmsClusterActiveRequestType struct {
 50391  	This ManagedObjectReference `xml:"_this" json:"-"`
 50392  	// \[in\] KMIP cluster.
 50393  	// Will use default cluster if omitted.
 50394  	Cluster *KeyProviderId `xml:"cluster,omitempty" json:"cluster,omitempty"`
 50395  }
 50396  
 50397  func init() {
 50398  	t["IsKmsClusterActiveRequestType"] = reflect.TypeOf((*IsKmsClusterActiveRequestType)(nil)).Elem()
 50399  }
 50400  
 50401  type IsKmsClusterActiveResponse struct {
 50402  	Returnval bool `xml:"returnval" json:"returnval"`
 50403  }
 50404  
 50405  type IsSharedGraphicsActive IsSharedGraphicsActiveRequestType
 50406  
 50407  func init() {
 50408  	t["IsSharedGraphicsActive"] = reflect.TypeOf((*IsSharedGraphicsActive)(nil)).Elem()
 50409  }
 50410  
 50411  type IsSharedGraphicsActiveRequestType struct {
 50412  	This ManagedObjectReference `xml:"_this" json:"-"`
 50413  }
 50414  
 50415  func init() {
 50416  	t["IsSharedGraphicsActiveRequestType"] = reflect.TypeOf((*IsSharedGraphicsActiveRequestType)(nil)).Elem()
 50417  }
 50418  
 50419  type IsSharedGraphicsActiveResponse struct {
 50420  	Returnval bool `xml:"returnval" json:"returnval"`
 50421  }
 50422  
 50423  // Defines a dependency entity.
 50424  //
 50425  // Contains the affected Virtual NIC device name and iSCSI HBA name
 50426  // (if Virtual NIC is associated with the HBA).
 50427  // See `IscsiMigrationDependency`
 50428  type IscsiDependencyEntity struct {
 50429  	DynamicData
 50430  
 50431  	// The affected Physical NIC device
 50432  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 50433  	// The affected Virtual NIC device
 50434  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50435  	// The iSCSI HBA that the Virtual NIC is associated with, if any.
 50436  	VmhbaName string `xml:"vmhbaName" json:"vmhbaName"`
 50437  }
 50438  
 50439  func init() {
 50440  	t["IscsiDependencyEntity"] = reflect.TypeOf((*IscsiDependencyEntity)(nil)).Elem()
 50441  }
 50442  
 50443  // Base class for faults that can be thrown while invoking iSCSI management operations.
 50444  type IscsiFault struct {
 50445  	VimFault
 50446  }
 50447  
 50448  func init() {
 50449  	t["IscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem()
 50450  }
 50451  
 50452  type IscsiFaultFault BaseIscsiFault
 50453  
 50454  func init() {
 50455  	t["IscsiFaultFault"] = reflect.TypeOf((*IscsiFaultFault)(nil)).Elem()
 50456  }
 50457  
 50458  // This fault indicates an attempt is made to bind a Virtual NIC to an iSCSI adapter
 50459  // where the Virtual NIC has no association with the adapter.
 50460  //
 50461  // For ex: The uplink for
 50462  // the given Virtual NIC is not valid for the iSCSI HBA.
 50463  type IscsiFaultInvalidVnic struct {
 50464  	IscsiFault
 50465  
 50466  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50467  }
 50468  
 50469  func init() {
 50470  	t["IscsiFaultInvalidVnic"] = reflect.TypeOf((*IscsiFaultInvalidVnic)(nil)).Elem()
 50471  }
 50472  
 50473  type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic
 50474  
 50475  func init() {
 50476  	t["IscsiFaultInvalidVnicFault"] = reflect.TypeOf((*IscsiFaultInvalidVnicFault)(nil)).Elem()
 50477  }
 50478  
 50479  // This fault indicates the given Physical NIC is being used by iSCSI HBA.
 50480  type IscsiFaultPnicInUse struct {
 50481  	IscsiFault
 50482  
 50483  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 50484  }
 50485  
 50486  func init() {
 50487  	t["IscsiFaultPnicInUse"] = reflect.TypeOf((*IscsiFaultPnicInUse)(nil)).Elem()
 50488  }
 50489  
 50490  type IscsiFaultPnicInUseFault IscsiFaultPnicInUse
 50491  
 50492  func init() {
 50493  	t["IscsiFaultPnicInUseFault"] = reflect.TypeOf((*IscsiFaultPnicInUseFault)(nil)).Elem()
 50494  }
 50495  
 50496  // This fault indicates that the given Virtual NIC is already bound to the iSCSI HBA.
 50497  type IscsiFaultVnicAlreadyBound struct {
 50498  	IscsiFault
 50499  
 50500  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50501  }
 50502  
 50503  func init() {
 50504  	t["IscsiFaultVnicAlreadyBound"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBound)(nil)).Elem()
 50505  }
 50506  
 50507  type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound
 50508  
 50509  func init() {
 50510  	t["IscsiFaultVnicAlreadyBoundFault"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBoundFault)(nil)).Elem()
 50511  }
 50512  
 50513  // This fault indicates the given Virtual NIC has active storage paths associated with it.
 50514  type IscsiFaultVnicHasActivePaths struct {
 50515  	IscsiFault
 50516  
 50517  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50518  }
 50519  
 50520  func init() {
 50521  	t["IscsiFaultVnicHasActivePaths"] = reflect.TypeOf((*IscsiFaultVnicHasActivePaths)(nil)).Elem()
 50522  }
 50523  
 50524  type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths
 50525  
 50526  func init() {
 50527  	t["IscsiFaultVnicHasActivePathsFault"] = reflect.TypeOf((*IscsiFaultVnicHasActivePathsFault)(nil)).Elem()
 50528  }
 50529  
 50530  // This fault indicates that the Virtual NIC has multiple uplinks and not suitable for iSCSI
 50531  // multi-pathing and can not be bound to iSCSI HBA.
 50532  type IscsiFaultVnicHasMultipleUplinks struct {
 50533  	IscsiFault
 50534  
 50535  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50536  }
 50537  
 50538  func init() {
 50539  	t["IscsiFaultVnicHasMultipleUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinks)(nil)).Elem()
 50540  }
 50541  
 50542  type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks
 50543  
 50544  func init() {
 50545  	t["IscsiFaultVnicHasMultipleUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinksFault)(nil)).Elem()
 50546  }
 50547  
 50548  // This fault indicates the given Virtual NIC has no uplinks and not suitable for iSCSI
 50549  // multi-pathing configuration.
 50550  type IscsiFaultVnicHasNoUplinks struct {
 50551  	IscsiFault
 50552  
 50553  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50554  }
 50555  
 50556  func init() {
 50557  	t["IscsiFaultVnicHasNoUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinks)(nil)).Elem()
 50558  }
 50559  
 50560  type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks
 50561  
 50562  func init() {
 50563  	t["IscsiFaultVnicHasNoUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinksFault)(nil)).Elem()
 50564  }
 50565  
 50566  // This fault indicates the given Virtual NIC has the wrong Physical uplink
 50567  // for iSCSI multi-pathing configuration.
 50568  //
 50569  // The Physical uplink is not associated
 50570  // with the iSCSI Host Bus Adapter.
 50571  type IscsiFaultVnicHasWrongUplink struct {
 50572  	IscsiFault
 50573  
 50574  	// Contains the VMkernel virtual NIC device name.
 50575  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50576  }
 50577  
 50578  func init() {
 50579  	t["IscsiFaultVnicHasWrongUplink"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplink)(nil)).Elem()
 50580  }
 50581  
 50582  type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink
 50583  
 50584  func init() {
 50585  	t["IscsiFaultVnicHasWrongUplinkFault"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplinkFault)(nil)).Elem()
 50586  }
 50587  
 50588  // This fault indicates the given Virtual NIC is being used by iSCSI and the requested operation can't be completed.
 50589  type IscsiFaultVnicInUse struct {
 50590  	IscsiFault
 50591  
 50592  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50593  }
 50594  
 50595  func init() {
 50596  	t["IscsiFaultVnicInUse"] = reflect.TypeOf((*IscsiFaultVnicInUse)(nil)).Elem()
 50597  }
 50598  
 50599  type IscsiFaultVnicInUseFault IscsiFaultVnicInUse
 50600  
 50601  func init() {
 50602  	t["IscsiFaultVnicInUseFault"] = reflect.TypeOf((*IscsiFaultVnicInUseFault)(nil)).Elem()
 50603  }
 50604  
 50605  // This fault indicates that the given Virtual NIC is associated with the only path to the storage.
 50606  //
 50607  // Any attempt to unbind this
 50608  // from iSCSI HBA would result in storage being inaccessible.
 50609  type IscsiFaultVnicIsLastPath struct {
 50610  	IscsiFault
 50611  
 50612  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50613  }
 50614  
 50615  func init() {
 50616  	t["IscsiFaultVnicIsLastPath"] = reflect.TypeOf((*IscsiFaultVnicIsLastPath)(nil)).Elem()
 50617  }
 50618  
 50619  type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath
 50620  
 50621  func init() {
 50622  	t["IscsiFaultVnicIsLastPathFault"] = reflect.TypeOf((*IscsiFaultVnicIsLastPathFault)(nil)).Elem()
 50623  }
 50624  
 50625  // This fault indicates an attempt was made to remove a Virtual NIC from an iSCSI HBA while
 50626  // Virtual NIC is not associated with the adapter.
 50627  type IscsiFaultVnicNotBound struct {
 50628  	IscsiFault
 50629  
 50630  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50631  }
 50632  
 50633  func init() {
 50634  	t["IscsiFaultVnicNotBound"] = reflect.TypeOf((*IscsiFaultVnicNotBound)(nil)).Elem()
 50635  }
 50636  
 50637  type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound
 50638  
 50639  func init() {
 50640  	t["IscsiFaultVnicNotBoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotBoundFault)(nil)).Elem()
 50641  }
 50642  
 50643  // This fault indicates an attempt was made to add a non-existent Virtual NIC adapter.
 50644  type IscsiFaultVnicNotFound struct {
 50645  	IscsiFault
 50646  
 50647  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 50648  }
 50649  
 50650  func init() {
 50651  	t["IscsiFaultVnicNotFound"] = reflect.TypeOf((*IscsiFaultVnicNotFound)(nil)).Elem()
 50652  }
 50653  
 50654  type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound
 50655  
 50656  func init() {
 50657  	t["IscsiFaultVnicNotFoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotFoundFault)(nil)).Elem()
 50658  }
 50659  
 50660  // Provides migration dependency information for a given Physical NIC.
 50661  //
 50662  // Lists all the iSCSI and networking resources impacted if
 50663  // migration of a given Physical NIC is to take place.
 50664  type IscsiMigrationDependency struct {
 50665  	DynamicData
 50666  
 50667  	// Indicates whether migration can be safely performed
 50668  	// If migrationAllowed is False, the disallowReason will
 50669  	// contain the specific condition that makes the migration
 50670  	// attempt unsafe.
 50671  	MigrationAllowed bool `xml:"migrationAllowed" json:"migrationAllowed"`
 50672  	// Reasons for not allowing migration.
 50673  	//
 50674  	// Unset if migrationAllowed is true.
 50675  	DisallowReason *IscsiStatus `xml:"disallowReason,omitempty" json:"disallowReason,omitempty"`
 50676  	// Details of all the resources affected by migration.
 50677  	Dependency []IscsiDependencyEntity `xml:"dependency,omitempty" json:"dependency,omitempty"`
 50678  }
 50679  
 50680  func init() {
 50681  	t["IscsiMigrationDependency"] = reflect.TypeOf((*IscsiMigrationDependency)(nil)).Elem()
 50682  }
 50683  
 50684  // The `IscsiPortInfo` data object describes the
 50685  // Virtual NIC that are bound to an iSCSI adapter and
 50686  // also it describes the candidate Virtual NICs that
 50687  // can be bound to a given iSCSI adapter.
 50688  type IscsiPortInfo struct {
 50689  	DynamicData
 50690  
 50691  	// Virtual NIC Name.
 50692  	//
 50693  	// Contains the name of the Virtual NIC device. This may be
 50694  	// unset in case where the bound Virtual NIC doesn't have the system object or
 50695  	// where a candidate Physical NIC isn't associated with any Virtual NIC.
 50696  	VnicDevice string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
 50697  	// Virtual NIC Object corresponding to the vnicDevice.
 50698  	//
 50699  	// May be unset if Virtual NIC object corresponding to vnicDevice doesn't
 50700  	// exist in the system.
 50701  	Vnic *HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
 50702  	// Physical NIC Name.
 50703  	PnicDevice string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
 50704  	// Physical NIC Object corresponding to the pnicDevice.
 50705  	//
 50706  	// May be unset if Physical NIC object corresponding to pnicDevice doesn't
 50707  	// exist in the system or the vnicDevice doesn't have any Physical NIC
 50708  	// associated with it.
 50709  	Pnic *PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
 50710  	// Name of the virtual switch this Physical/Virtual NIC belongs.
 50711  	//
 50712  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50713  	// virtual switch associated with them.
 50714  	SwitchName string `xml:"switchName,omitempty" json:"switchName,omitempty"`
 50715  	// UUID of the virtual switch this Physical/Virtual NIC belongs.
 50716  	//
 50717  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50718  	// virtual switch associated with them or the associated switch is not VDS.
 50719  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 50720  	// Name of the portgroup to which this Virtual NIC belongs.
 50721  	//
 50722  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50723  	// Portgroup associated with them.
 50724  	PortgroupName string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
 50725  	// Portgroup key to which this Virtual NIC belongs.
 50726  	//
 50727  	// May be unset if the vnicDevice and/or pnicDevice do not have a
 50728  	// Portgroup associated with them or the associated portgroup does
 50729  	// is not of VDS type.
 50730  	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
 50731  	// portkey to which this Virtual NIC belongs.
 50732  	//
 50733  	// May be unset if the vnicDevice is not assigned to a specific port or
 50734  	// the switch is not VDS.
 50735  	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 50736  	// ID of the Opaque network to which the virtual NIC is connected.
 50737  	//
 50738  	// This property is set only when vnicDevice is associated with an
 50739  	// opaque network.
 50740  	OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty" json:"opaqueNetworkId,omitempty"`
 50741  	// Type of the Opaque network to which the virtual NIC is connected.
 50742  	//
 50743  	// This property is set only when vnicDevice is associated with an
 50744  	// opaque network.
 50745  	OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty" json:"opaqueNetworkType,omitempty"`
 50746  	// Name of the Opaque network to which the virtual NIC is connected.
 50747  	//
 50748  	// This property is set only when vnicDevice is associated with an
 50749  	// opaque network.
 50750  	OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty" json:"opaqueNetworkName,omitempty"`
 50751  	// An ID assigned to the vmkernel adapter by external management plane
 50752  	// or controller.
 50753  	//
 50754  	// This property is set only when vnicDevice is associated with an
 50755  	// opaque network.
 50756  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 50757  	// Status indicating whether the Virtual NIC is compliant with the
 50758  	// network policy that is required by iSCSI port binding.
 50759  	//
 50760  	// May be unset in the candidate NIC list.
 50761  	ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty" json:"complianceStatus,omitempty"`
 50762  	// A status, as defined in `IscsiPortInfoPathStatus_enum`, indicating the
 50763  	// existing storage paths dependency level on a given Virtual NIC.
 50764  	//
 50765  	// May be unset in the candidate NIC list.
 50766  	PathStatus string `xml:"pathStatus,omitempty" json:"pathStatus,omitempty"`
 50767  }
 50768  
 50769  func init() {
 50770  	t["IscsiPortInfo"] = reflect.TypeOf((*IscsiPortInfo)(nil)).Elem()
 50771  }
 50772  
 50773  // The `IscsiStatus` data object describes the
 50774  // status of an operation.
 50775  type IscsiStatus struct {
 50776  	DynamicData
 50777  
 50778  	// List of failure reason and associated remedy.
 50779  	//
 50780  	// An array of fault codes associated with the failure. The fault itself
 50781  	// will provide an indication of the actual failure code and
 50782  	// `MethodFault.faultMessage` will indicate the remedy that
 50783  	// needs to be taken to correct the failure.
 50784  	Reason []LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 50785  }
 50786  
 50787  func init() {
 50788  	t["IscsiStatus"] = reflect.TypeOf((*IscsiStatus)(nil)).Elem()
 50789  }
 50790  
 50791  // This data object type describes a file that is an ISO CD-ROM image.
 50792  type IsoImageFileInfo struct {
 50793  	FileInfo
 50794  }
 50795  
 50796  func init() {
 50797  	t["IsoImageFileInfo"] = reflect.TypeOf((*IsoImageFileInfo)(nil)).Elem()
 50798  }
 50799  
 50800  // This data object type describes the query specification for an ISO CD-ROM image.
 50801  type IsoImageFileQuery struct {
 50802  	FileQuery
 50803  }
 50804  
 50805  func init() {
 50806  	t["IsoImageFileQuery"] = reflect.TypeOf((*IsoImageFileQuery)(nil)).Elem()
 50807  }
 50808  
 50809  // The parameters of `HostActiveDirectoryAuthentication.JoinDomain_Task`.
 50810  type JoinDomainRequestType struct {
 50811  	This ManagedObjectReference `xml:"_this" json:"-"`
 50812  	// Name of the domain to be joined.
 50813  	DomainName string `xml:"domainName" json:"domainName"`
 50814  	// Name for an Active Directory account
 50815  	// that has the authority to add hosts to the domain.
 50816  	UserName string `xml:"userName" json:"userName"`
 50817  	// Password for the <code>userName</code> account.
 50818  	Password string `xml:"password" json:"password"`
 50819  }
 50820  
 50821  func init() {
 50822  	t["JoinDomainRequestType"] = reflect.TypeOf((*JoinDomainRequestType)(nil)).Elem()
 50823  }
 50824  
 50825  // The parameters of `HostActiveDirectoryAuthentication.JoinDomainWithCAM_Task`.
 50826  type JoinDomainWithCAMRequestType struct {
 50827  	This ManagedObjectReference `xml:"_this" json:"-"`
 50828  	// Name of the domain to be joined.
 50829  	DomainName string `xml:"domainName" json:"domainName"`
 50830  	// Name of server providing the CAM service.
 50831  	CamServer string `xml:"camServer" json:"camServer"`
 50832  }
 50833  
 50834  func init() {
 50835  	t["JoinDomainWithCAMRequestType"] = reflect.TypeOf((*JoinDomainWithCAMRequestType)(nil)).Elem()
 50836  }
 50837  
 50838  type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType
 50839  
 50840  func init() {
 50841  	t["JoinDomainWithCAM_Task"] = reflect.TypeOf((*JoinDomainWithCAM_Task)(nil)).Elem()
 50842  }
 50843  
 50844  type JoinDomainWithCAM_TaskResponse struct {
 50845  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 50846  }
 50847  
 50848  type JoinDomain_Task JoinDomainRequestType
 50849  
 50850  func init() {
 50851  	t["JoinDomain_Task"] = reflect.TypeOf((*JoinDomain_Task)(nil)).Elem()
 50852  }
 50853  
 50854  type JoinDomain_TaskResponse struct {
 50855  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 50856  }
 50857  
 50858  // Information about a kernel module.
 50859  type KernelModuleInfo struct {
 50860  	DynamicData
 50861  
 50862  	// Module ID.
 50863  	Id int32 `xml:"id" json:"id"`
 50864  	// Module name.
 50865  	Name string `xml:"name" json:"name"`
 50866  	// Version string.
 50867  	Version string `xml:"version" json:"version"`
 50868  	// Module filename, without the path.
 50869  	Filename string `xml:"filename" json:"filename"`
 50870  	// Option string configured to be passed to the kernel module when loaded.
 50871  	//
 50872  	// Note that this is not necessarily the option string currently in use by
 50873  	// the kernel module.
 50874  	OptionString string `xml:"optionString" json:"optionString"`
 50875  	// Is the module loaded?
 50876  	Loaded bool `xml:"loaded" json:"loaded"`
 50877  	// Is the module enabled?
 50878  	Enabled bool `xml:"enabled" json:"enabled"`
 50879  	// Number of references to this module.
 50880  	UseCount int32 `xml:"useCount" json:"useCount"`
 50881  	// Read-only section information.
 50882  	ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection" json:"readOnlySection"`
 50883  	// Writable section information.
 50884  	WritableSection KernelModuleSectionInfo `xml:"writableSection" json:"writableSection"`
 50885  	// Text section information.
 50886  	TextSection KernelModuleSectionInfo `xml:"textSection" json:"textSection"`
 50887  	// Data section information.
 50888  	DataSection KernelModuleSectionInfo `xml:"dataSection" json:"dataSection"`
 50889  	// BSS section information.
 50890  	BssSection KernelModuleSectionInfo `xml:"bssSection" json:"bssSection"`
 50891  }
 50892  
 50893  func init() {
 50894  	t["KernelModuleInfo"] = reflect.TypeOf((*KernelModuleInfo)(nil)).Elem()
 50895  }
 50896  
 50897  // Information about a module section.
 50898  type KernelModuleSectionInfo struct {
 50899  	DynamicData
 50900  
 50901  	// Base address of section.
 50902  	Address int64 `xml:"address" json:"address"`
 50903  	// Section length.
 50904  	Length int32 `xml:"length,omitempty" json:"length,omitempty"`
 50905  }
 50906  
 50907  func init() {
 50908  	t["KernelModuleSectionInfo"] = reflect.TypeOf((*KernelModuleSectionInfo)(nil)).Elem()
 50909  }
 50910  
 50911  // Non-localized key/value pair in which the
 50912  // the value can be of any type.
 50913  type KeyAnyValue struct {
 50914  	DynamicData
 50915  
 50916  	// the key
 50917  	Key string `xml:"key" json:"key"`
 50918  	// the value
 50919  	Value AnyType `xml:"value,typeattr" json:"value"`
 50920  }
 50921  
 50922  func init() {
 50923  	t["KeyAnyValue"] = reflect.TypeOf((*KeyAnyValue)(nil)).Elem()
 50924  }
 50925  
 50926  // An KeyNotFound fault is returned when the key does not exist among
 50927  // key value pairs.
 50928  type KeyNotFound struct {
 50929  	VimFault
 50930  
 50931  	// The non existing key.
 50932  	Key string `xml:"key" json:"key"`
 50933  }
 50934  
 50935  func init() {
 50936  	t["KeyNotFound"] = reflect.TypeOf((*KeyNotFound)(nil)).Elem()
 50937  }
 50938  
 50939  type KeyNotFoundFault KeyNotFound
 50940  
 50941  func init() {
 50942  	t["KeyNotFoundFault"] = reflect.TypeOf((*KeyNotFoundFault)(nil)).Elem()
 50943  }
 50944  
 50945  // Data Object representing a crypto key provider's unique identifier.
 50946  type KeyProviderId struct {
 50947  	DynamicData
 50948  
 50949  	// Globally unique ID for the crypto key provider.
 50950  	//
 50951  	// Servers with the same ID must provide the same keys.
 50952  	// Cannot be empty.
 50953  	Id string `xml:"id" json:"id"`
 50954  }
 50955  
 50956  func init() {
 50957  	t["KeyProviderId"] = reflect.TypeOf((*KeyProviderId)(nil)).Elem()
 50958  }
 50959  
 50960  // Non-localized key/value pair
 50961  type KeyValue struct {
 50962  	DynamicData
 50963  
 50964  	// Key.
 50965  	Key string `xml:"key" json:"key"`
 50966  	// Value.
 50967  	Value string `xml:"value" json:"value"`
 50968  }
 50969  
 50970  func init() {
 50971  	t["KeyValue"] = reflect.TypeOf((*KeyValue)(nil)).Elem()
 50972  }
 50973  
 50974  // Data Object representing a cluster of KMIP servers.
 50975  //
 50976  // All servers in a cluster must provide the same keys.
 50977  type KmipClusterInfo struct {
 50978  	DynamicData
 50979  
 50980  	// Globally unique ID for the servers providing the same keys.
 50981  	//
 50982  	// All KMIP servers with the same clusterId are in a cluster and all must
 50983  	// provide the same keys for redundancy.
 50984  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 50985  	// Servers in this cluster.
 50986  	Servers []KmipServerInfo `xml:"servers,omitempty" json:"servers,omitempty"`
 50987  	// Use this cluster as default for system wide,
 50988  	// when the optional CryptoKeyId.providerId is not set.
 50989  	UseAsDefault bool `xml:"useAsDefault" json:"useAsDefault"`
 50990  	// Key provider management type.
 50991  	//
 50992  	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
 50993  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 50994  	// Use this cluster as default for the managed entities,
 50995  	// when the optional CryptoKeyId.providerId is not set.
 50996  	//
 50997  	// See `CryptoManagerKmip.SetDefaultKmsCluster` for
 50998  	// supported managed entity type.
 50999  	//
 51000  	// Refers instances of `ManagedEntity`.
 51001  	UseAsEntityDefault []ManagedObjectReference `xml:"useAsEntityDefault,omitempty" json:"useAsEntityDefault,omitempty"`
 51002  	HasBackup          *bool                    `xml:"hasBackup" json:"hasBackup,omitempty" vim:"7.0.2.0"`
 51003  	TpmRequired        *bool                    `xml:"tpmRequired" json:"tpmRequired,omitempty" vim:"7.0.2.0"`
 51004  	KeyId              string                   `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"7.0.2.0"`
 51005  }
 51006  
 51007  func init() {
 51008  	t["KmipClusterInfo"] = reflect.TypeOf((*KmipClusterInfo)(nil)).Elem()
 51009  }
 51010  
 51011  // Data Object representing a KMIP server connection information.
 51012  type KmipServerInfo struct {
 51013  	DynamicData
 51014  
 51015  	// Name for the KMIP server.
 51016  	Name string `xml:"name" json:"name"`
 51017  	// Address of the KMIP server.
 51018  	Address string `xml:"address" json:"address"`
 51019  	// Port of the KMIP server.
 51020  	Port int32 `xml:"port" json:"port"`
 51021  	// Address of the proxy server.
 51022  	//
 51023  	// Set value to empty string to delete the entry.
 51024  	ProxyAddress string `xml:"proxyAddress,omitempty" json:"proxyAddress,omitempty"`
 51025  	// Port of the proxy server.
 51026  	//
 51027  	// Set value "-1" to delete the entry.
 51028  	ProxyPort int32 `xml:"proxyPort,omitempty" json:"proxyPort,omitempty"`
 51029  	// Should auto-reconnect be done.
 51030  	//
 51031  	// Set value "-1" to delete the entry.
 51032  	Reconnect int32 `xml:"reconnect,omitempty" json:"reconnect,omitempty"`
 51033  	// KMIP library protocol handler, e.g.
 51034  	//
 51035  	// KMIP1.
 51036  	// Set value to empty string to delete the entry.
 51037  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 51038  	// Non-blocking I/O required.
 51039  	//
 51040  	// Set value "-1" to delete the entry.
 51041  	Nbio int32 `xml:"nbio,omitempty" json:"nbio,omitempty"`
 51042  	// I/O timeout in seconds (-1=none,0=infinite).
 51043  	//
 51044  	// Set value "-1" to delete the entry.
 51045  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 51046  	// Username to authenticate to the KMIP server.
 51047  	//
 51048  	// Set value to empty string to delete the entry.
 51049  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 51050  }
 51051  
 51052  func init() {
 51053  	t["KmipServerInfo"] = reflect.TypeOf((*KmipServerInfo)(nil)).Elem()
 51054  }
 51055  
 51056  // Data Object representing a KMIP server connection spec.
 51057  type KmipServerSpec struct {
 51058  	DynamicData
 51059  
 51060  	// The ID of the KMIP cluster.
 51061  	//
 51062  	// KMIP servers with the same clusterId are in
 51063  	// one cluster and provide the same keys for redundancy.
 51064  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 51065  	// Connection information for the KMIP server.
 51066  	Info KmipServerInfo `xml:"info" json:"info"`
 51067  	// Password to authenticate to the KMIP server.
 51068  	//
 51069  	// Set value to empty string to delete the entry.
 51070  	Password string `xml:"password,omitempty" json:"password,omitempty"`
 51071  }
 51072  
 51073  func init() {
 51074  	t["KmipServerSpec"] = reflect.TypeOf((*KmipServerSpec)(nil)).Elem()
 51075  }
 51076  
 51077  // Data Object representing a KMIP server status.
 51078  type KmipServerStatus struct {
 51079  	DynamicData
 51080  
 51081  	// The ID of the KMIP cluster.
 51082  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 51083  	// Name for the KMIP server.
 51084  	Name string `xml:"name" json:"name"`
 51085  	// KMIP server status.
 51086  	Status ManagedEntityStatus `xml:"status" json:"status"`
 51087  	// KMIP server status description.
 51088  	Description string `xml:"description" json:"description"`
 51089  }
 51090  
 51091  func init() {
 51092  	t["KmipServerStatus"] = reflect.TypeOf((*KmipServerStatus)(nil)).Elem()
 51093  }
 51094  
 51095  // The virtual machine is using a 2TB+ RDM device and operation is
 51096  // unable to convert the disk to a different type.
 51097  type LargeRDMConversionNotSupported struct {
 51098  	MigrationFault
 51099  
 51100  	// The name of the disk device using the RDM.
 51101  	Device string `xml:"device" json:"device"`
 51102  }
 51103  
 51104  func init() {
 51105  	t["LargeRDMConversionNotSupported"] = reflect.TypeOf((*LargeRDMConversionNotSupported)(nil)).Elem()
 51106  }
 51107  
 51108  type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported
 51109  
 51110  func init() {
 51111  	t["LargeRDMConversionNotSupportedFault"] = reflect.TypeOf((*LargeRDMConversionNotSupportedFault)(nil)).Elem()
 51112  }
 51113  
 51114  // The virtual machine is configured with a 2TB+ Raw Disk Mapping.
 51115  //
 51116  // This is not
 51117  // supported on the datastore.
 51118  type LargeRDMNotSupportedOnDatastore struct {
 51119  	VmConfigFault
 51120  
 51121  	// The label of the 2TB+ RDM device that would have its backing placed on
 51122  	// the datastore.
 51123  	//
 51124  	// This is not guaranteed to be the only such device.
 51125  	Device string `xml:"device" json:"device"`
 51126  	// The datastore.
 51127  	//
 51128  	// Refers instance of `Datastore`.
 51129  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 51130  	// The name of the datastore.
 51131  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 51132  }
 51133  
 51134  func init() {
 51135  	t["LargeRDMNotSupportedOnDatastore"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastore)(nil)).Elem()
 51136  }
 51137  
 51138  type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore
 51139  
 51140  func init() {
 51141  	t["LargeRDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastoreFault)(nil)).Elem()
 51142  }
 51143  
 51144  // Specification of the latency-sensitivity information.
 51145  //
 51146  // The latency-sensitivity is used to request from the kernel a constraint
 51147  // on the scheduling delay of the virtual CPUs or other resources. This allows
 51148  // latency-sensitive applications(e.g. VOIP, audio/video streaming, etc.) to run
 51149  // in a virtual machine which is configured to use specific scheduling
 51150  // latencies and to be scheduled with low latency.
 51151  //
 51152  // The kernel does not provide any guarantee that it will meet the
 51153  // latency-sensitivity requirement of a virtual machine CPU or other resources
 51154  // but it will always accept the latency-sensitivity value provided.
 51155  type LatencySensitivity struct {
 51156  	DynamicData
 51157  
 51158  	// The nominal latency-sensitive level of the application.
 51159  	Level LatencySensitivitySensitivityLevel `xml:"level" json:"level"`
 51160  	// Deprecated as of vSphere version 5.5, this field is deprecated.
 51161  	//
 51162  	// The custom absolute latency-sensitivity value of the application.
 51163  	//
 51164  	// This value will be used only when the latency-sensitivity
 51165  	// `LatencySensitivity.level` property is is set to
 51166  	// <code>custom</code>. It is ignored in all other cases.
 51167  	//
 51168  	// The unit of this value is micro-seconds and the application is more
 51169  	// latency sensitive when this value is smaller. For example, if the
 51170  	// absolute latency-sensitivity is 2000us, the kernel will
 51171  	// try to schedule the virtual machine in a way so that its scheduling
 51172  	// latency is not more than 2ms.
 51173  	Sensitivity int32 `xml:"sensitivity,omitempty" json:"sensitivity,omitempty"`
 51174  }
 51175  
 51176  func init() {
 51177  	t["LatencySensitivity"] = reflect.TypeOf((*LatencySensitivity)(nil)).Elem()
 51178  }
 51179  
 51180  // The parameters of `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`.
 51181  type LeaveCurrentDomainRequestType struct {
 51182  	This ManagedObjectReference `xml:"_this" json:"-"`
 51183  	// If <code>True</code>, any existing permissions on managed entities for
 51184  	// Active Directory users will be deleted. If <code>False</code> and such
 51185  	// permissions exist, the operation will fail.
 51186  	Force bool `xml:"force" json:"force"`
 51187  }
 51188  
 51189  func init() {
 51190  	t["LeaveCurrentDomainRequestType"] = reflect.TypeOf((*LeaveCurrentDomainRequestType)(nil)).Elem()
 51191  }
 51192  
 51193  type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType
 51194  
 51195  func init() {
 51196  	t["LeaveCurrentDomain_Task"] = reflect.TypeOf((*LeaveCurrentDomain_Task)(nil)).Elem()
 51197  }
 51198  
 51199  type LeaveCurrentDomain_TaskResponse struct {
 51200  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 51201  }
 51202  
 51203  // A virtual machine's network connectivity cannot be determined
 51204  // because it uses a legacy network interface.
 51205  //
 51206  // If returned as part of migration checks,
 51207  // this is an error if the virtual machine is currently connected to the legacy
 51208  // interface, and a warning otherwise.
 51209  type LegacyNetworkInterfaceInUse struct {
 51210  	CannotAccessNetwork
 51211  }
 51212  
 51213  func init() {
 51214  	t["LegacyNetworkInterfaceInUse"] = reflect.TypeOf((*LegacyNetworkInterfaceInUse)(nil)).Elem()
 51215  }
 51216  
 51217  type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse
 51218  
 51219  func init() {
 51220  	t["LegacyNetworkInterfaceInUseFault"] = reflect.TypeOf((*LegacyNetworkInterfaceInUseFault)(nil)).Elem()
 51221  }
 51222  
 51223  // A LicenseAssignmentFailed fault is thrown when VirtualCenter
 51224  // fails to assign a license to an entity.
 51225  type LicenseAssignmentFailed struct {
 51226  	RuntimeFault
 51227  
 51228  	// The reason why the assignment failed, if known.
 51229  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 51230  }
 51231  
 51232  func init() {
 51233  	t["LicenseAssignmentFailed"] = reflect.TypeOf((*LicenseAssignmentFailed)(nil)).Elem()
 51234  }
 51235  
 51236  type LicenseAssignmentFailedFault LicenseAssignmentFailed
 51237  
 51238  func init() {
 51239  	t["LicenseAssignmentFailedFault"] = reflect.TypeOf((*LicenseAssignmentFailedFault)(nil)).Elem()
 51240  }
 51241  
 51242  type LicenseAssignmentManagerLicenseAssignment struct {
 51243  	DynamicData
 51244  
 51245  	// Id for the entity
 51246  	EntityId string `xml:"entityId" json:"entityId"`
 51247  	// Scope of the entityId
 51248  	Scope string `xml:"scope,omitempty" json:"scope,omitempty"`
 51249  	// Display name of the entity
 51250  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 51251  	// License assigned to the entity
 51252  	AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense" json:"assignedLicense"`
 51253  	// Additional properties associated with this assignment
 51254  	// Some of the properties are:
 51255  	// "inUseFeatures" -- Features in the license key that are being used by the entity
 51256  	// "ProductName" -- Name of the entity.
 51257  	//
 51258  	// Should match the product name of the assigned license.
 51259  	// "ProductVersion" -- Version of the entity. Should match the product version of the assigned license.
 51260  	// "Evaluation" -- EvaluationInfo object representing the evaluation left for the entity.
 51261  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 51262  }
 51263  
 51264  func init() {
 51265  	t["LicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*LicenseAssignmentManagerLicenseAssignment)(nil)).Elem()
 51266  }
 51267  
 51268  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51269  //
 51270  // Describes how many licenses of a particular feature is provided by the licensing
 51271  // source.
 51272  type LicenseAvailabilityInfo struct {
 51273  	DynamicData
 51274  
 51275  	// Describes the feature.
 51276  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 51277  	// Total number of licenses for this given type that are installed on the source.
 51278  	Total int32 `xml:"total" json:"total"`
 51279  	// The number of licenses that have not yet been reserved on the source.
 51280  	Available int32 `xml:"available" json:"available"`
 51281  }
 51282  
 51283  func init() {
 51284  	t["LicenseAvailabilityInfo"] = reflect.TypeOf((*LicenseAvailabilityInfo)(nil)).Elem()
 51285  }
 51286  
 51287  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51288  //
 51289  // This data object type provides summary status and diagnostic information for
 51290  // `LicenseManager`.
 51291  //
 51292  // Counters in this property can be reset to zero. The
 51293  // property specified as a discontinuity is used to determine when this last
 51294  // occurred.
 51295  type LicenseDiagnostics struct {
 51296  	DynamicData
 51297  
 51298  	// A timestamp of when sourceAvailable last changed state, expressed in UTC.
 51299  	SourceLastChanged time.Time `xml:"sourceLastChanged" json:"sourceLastChanged"`
 51300  	// Counter to track number of times connection to source was lost.
 51301  	//
 51302  	// This value starts at zero and wraps at 2^32-1 to zero.
 51303  	// Discontinuity: sourceLastChanged.
 51304  	SourceLost string `xml:"sourceLost" json:"sourceLost"`
 51305  	// Exponentially decaying average of the transaction time for license
 51306  	// acquisition and routine communications with LicenseSource.
 51307  	//
 51308  	// Units: milliseconds.
 51309  	SourceLatency float32 `xml:"sourceLatency" json:"sourceLatency"`
 51310  	// Counter to track total number of licenses requested.
 51311  	//
 51312  	// This value starts at zero and wraps at 2^32-1 to zero.
 51313  	// Discontinuity: sourceLastChanged.
 51314  	LicenseRequests string `xml:"licenseRequests" json:"licenseRequests"`
 51315  	// Counter to track Total number of licenses requests that were
 51316  	// not fulfilled (denied, timeout, or other).
 51317  	//
 51318  	// This value starts at zero and wraps at 2^32-1 to zero.
 51319  	// Discontinuity: sourceLastChanged.
 51320  	LicenseRequestFailures string `xml:"licenseRequestFailures" json:"licenseRequestFailures"`
 51321  	// Counter to track Total number of license features parsed from
 51322  	// License source that are not recognized.
 51323  	//
 51324  	// This value starts at zero and wraps at 2^32-1 to zero.
 51325  	// Discontinuity: sourceLastChanged.
 51326  	LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns" json:"licenseFeatureUnknowns"`
 51327  	// The general state of the license subsystem.
 51328  	OpState LicenseManagerState `xml:"opState" json:"opState"`
 51329  	// A timestamp of when opState was last updated.
 51330  	LastStatusUpdate time.Time `xml:"lastStatusUpdate" json:"lastStatusUpdate"`
 51331  	// A human readable reason when optState reports Fault condition.
 51332  	OpFailureMessage string `xml:"opFailureMessage" json:"opFailureMessage"`
 51333  }
 51334  
 51335  func init() {
 51336  	t["LicenseDiagnostics"] = reflect.TypeOf((*LicenseDiagnostics)(nil)).Elem()
 51337  }
 51338  
 51339  // A LicenseDowngradeDisallowed fault is thrown if an assignment operation tries to downgrade a license that does have certain licensed features which are in use.
 51340  type LicenseDowngradeDisallowed struct {
 51341  	NotEnoughLicenses
 51342  
 51343  	Edition  string `xml:"edition" json:"edition"`
 51344  	EntityId string `xml:"entityId" json:"entityId"`
 51345  	// List of conflicting features that prevent
 51346  	// downgrade
 51347  	Features []KeyAnyValue `xml:"features" json:"features"`
 51348  }
 51349  
 51350  func init() {
 51351  	t["LicenseDowngradeDisallowed"] = reflect.TypeOf((*LicenseDowngradeDisallowed)(nil)).Elem()
 51352  }
 51353  
 51354  type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed
 51355  
 51356  func init() {
 51357  	t["LicenseDowngradeDisallowedFault"] = reflect.TypeOf((*LicenseDowngradeDisallowedFault)(nil)).Elem()
 51358  }
 51359  
 51360  // An LicenseEntityNotFound fault is thrown when an attempt is
 51361  // do any operation on an entity/licensed asset that does not exist.
 51362  //
 51363  // Example, remove an entity that does not exist.
 51364  type LicenseEntityNotFound struct {
 51365  	VimFault
 51366  
 51367  	EntityId string `xml:"entityId" json:"entityId"`
 51368  }
 51369  
 51370  func init() {
 51371  	t["LicenseEntityNotFound"] = reflect.TypeOf((*LicenseEntityNotFound)(nil)).Elem()
 51372  }
 51373  
 51374  type LicenseEntityNotFoundFault LicenseEntityNotFound
 51375  
 51376  func init() {
 51377  	t["LicenseEntityNotFoundFault"] = reflect.TypeOf((*LicenseEntityNotFoundFault)(nil)).Elem()
 51378  }
 51379  
 51380  // This is a base licensing event to group all license events.
 51381  type LicenseEvent struct {
 51382  	Event
 51383  }
 51384  
 51385  func init() {
 51386  	t["LicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem()
 51387  }
 51388  
 51389  // A LicenseExpired fault is thrown if it an operation is unsuccessful because the license used for the operation has expired.
 51390  type LicenseExpired struct {
 51391  	NotEnoughLicenses
 51392  
 51393  	// License key that has expired
 51394  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 51395  }
 51396  
 51397  func init() {
 51398  	t["LicenseExpired"] = reflect.TypeOf((*LicenseExpired)(nil)).Elem()
 51399  }
 51400  
 51401  // This event records the expiration of a license.
 51402  type LicenseExpiredEvent struct {
 51403  	Event
 51404  
 51405  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 51406  }
 51407  
 51408  func init() {
 51409  	t["LicenseExpiredEvent"] = reflect.TypeOf((*LicenseExpiredEvent)(nil)).Elem()
 51410  }
 51411  
 51412  type LicenseExpiredFault LicenseExpired
 51413  
 51414  func init() {
 51415  	t["LicenseExpiredFault"] = reflect.TypeOf((*LicenseExpiredFault)(nil)).Elem()
 51416  }
 51417  
 51418  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51419  //
 51420  // A single feature that can be licensed.
 51421  //
 51422  // This information is immutable.
 51423  type LicenseFeatureInfo struct {
 51424  	DynamicData
 51425  
 51426  	// Unique identifier for license as defined in License source data.
 51427  	//
 51428  	// Max length of this string is 64 characters of ASCII/ISO Latin-1
 51429  	// character set.
 51430  	Key string `xml:"key" json:"key"`
 51431  	// The display string for the feature name.
 51432  	FeatureName string `xml:"featureName" json:"featureName"`
 51433  	// A human readable description of what function this feature enables.
 51434  	FeatureDescription string `xml:"featureDescription,omitempty" json:"featureDescription,omitempty"`
 51435  	// Describes the state of the feature based on the current edition license.
 51436  	//
 51437  	// This
 51438  	// property is unset for an edition license.
 51439  	State LicenseFeatureInfoState `xml:"state,omitempty" json:"state,omitempty"`
 51440  	// Each license has a cost associated with it and the value of costUnit
 51441  	// specifies the applicable unit.
 51442  	//
 51443  	// See also `LicenseFeatureInfoUnit_enum`.
 51444  	CostUnit string `xml:"costUnit" json:"costUnit"`
 51445  	// Describe any restriction on the source of a license for this feature.
 51446  	//
 51447  	// See also `LicenseFeatureInfoSourceRestriction_enum`.
 51448  	SourceRestriction string `xml:"sourceRestriction,omitempty" json:"sourceRestriction,omitempty"`
 51449  	// Report List of feature keys used by this edition.
 51450  	DependentKey []string `xml:"dependentKey,omitempty" json:"dependentKey,omitempty"`
 51451  	// Flag to indicate whether the feature is an edition.
 51452  	Edition *bool `xml:"edition" json:"edition,omitempty"`
 51453  	// Date representing the expiration date
 51454  	ExpiresOn *time.Time `xml:"expiresOn" json:"expiresOn,omitempty"`
 51455  }
 51456  
 51457  func init() {
 51458  	t["LicenseFeatureInfo"] = reflect.TypeOf((*LicenseFeatureInfo)(nil)).Elem()
 51459  }
 51460  
 51461  // A LicenseKeyEntityMismatch fault is thrown if an assignment operation tries to assign a license that does not apply to an entity.
 51462  //
 51463  // For example assigning a host license to VirtualCenter.
 51464  type LicenseKeyEntityMismatch struct {
 51465  	NotEnoughLicenses
 51466  }
 51467  
 51468  func init() {
 51469  	t["LicenseKeyEntityMismatch"] = reflect.TypeOf((*LicenseKeyEntityMismatch)(nil)).Elem()
 51470  }
 51471  
 51472  type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch
 51473  
 51474  func init() {
 51475  	t["LicenseKeyEntityMismatchFault"] = reflect.TypeOf((*LicenseKeyEntityMismatchFault)(nil)).Elem()
 51476  }
 51477  
 51478  // Encapsulates product evaluation information
 51479  type LicenseManagerEvaluationInfo struct {
 51480  	DynamicData
 51481  
 51482  	// Evaluation properties
 51483  	Properties []KeyAnyValue `xml:"properties" json:"properties"`
 51484  }
 51485  
 51486  func init() {
 51487  	t["LicenseManagerEvaluationInfo"] = reflect.TypeOf((*LicenseManagerEvaluationInfo)(nil)).Elem()
 51488  }
 51489  
 51490  // Encapsulates information about a license
 51491  type LicenseManagerLicenseInfo struct {
 51492  	DynamicData
 51493  
 51494  	// Key for the license.
 51495  	//
 51496  	// E.g. serial number.
 51497  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 51498  	// Edition key.
 51499  	EditionKey string `xml:"editionKey" json:"editionKey"`
 51500  	// Display name for the license
 51501  	Name string `xml:"name" json:"name"`
 51502  	// Total number of units contain in the license
 51503  	Total int32 `xml:"total" json:"total"`
 51504  	// Number of units used from this license
 51505  	Used int32 `xml:"used,omitempty" json:"used,omitempty"`
 51506  	// The cost unit for this license
 51507  	CostUnit string `xml:"costUnit" json:"costUnit"`
 51508  	// Additional properties associated with this license
 51509  	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
 51510  	// Key-value lables for this license
 51511  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 51512  }
 51513  
 51514  func init() {
 51515  	t["LicenseManagerLicenseInfo"] = reflect.TypeOf((*LicenseManagerLicenseInfo)(nil)).Elem()
 51516  }
 51517  
 51518  // This event records that the inventory is not license compliant.
 51519  type LicenseNonComplianceEvent struct {
 51520  	LicenseEvent
 51521  
 51522  	// Gives the url at which more details about non-compliance
 51523  	// can be found.
 51524  	Url string `xml:"url" json:"url"`
 51525  }
 51526  
 51527  func init() {
 51528  	t["LicenseNonComplianceEvent"] = reflect.TypeOf((*LicenseNonComplianceEvent)(nil)).Elem()
 51529  }
 51530  
 51531  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51532  //
 51533  // A reservation describes how many licenses of a particular feature are being used
 51534  // by a particular feature.
 51535  type LicenseReservationInfo struct {
 51536  	DynamicData
 51537  
 51538  	// Key of the License Feature.
 51539  	//
 51540  	// See also `LicenseFeatureInfo.key`.
 51541  	Key string `xml:"key" json:"key"`
 51542  	// Describes the reservation state of a license.
 51543  	State LicenseReservationInfoState `xml:"state" json:"state"`
 51544  	// Contains the required number of licenses of the particular type that the
 51545  	// product needs in its current configuration.
 51546  	//
 51547  	// Licenses are normally allocated at the same time as they are needed, so the
 51548  	// value of required is set at the time the license is needed. For example,
 51549  	// in the case of the number of licenses based on virtual machines, the required
 51550  	// count is set at the time a virtual machine is powered on, just before the
 51551  	// license is checked out.
 51552  	Required int32 `xml:"required" json:"required"`
 51553  }
 51554  
 51555  func init() {
 51556  	t["LicenseReservationInfo"] = reflect.TypeOf((*LicenseReservationInfo)(nil)).Elem()
 51557  }
 51558  
 51559  // This fault is thrown if the required licenses were unable to be checked
 51560  // out due to a restriction in the option file of the license server.
 51561  type LicenseRestricted struct {
 51562  	NotEnoughLicenses
 51563  }
 51564  
 51565  func init() {
 51566  	t["LicenseRestricted"] = reflect.TypeOf((*LicenseRestricted)(nil)).Elem()
 51567  }
 51568  
 51569  // This event records if the required licenses could not be reserved because
 51570  // of a restriction in the option file.
 51571  type LicenseRestrictedEvent struct {
 51572  	LicenseEvent
 51573  }
 51574  
 51575  func init() {
 51576  	t["LicenseRestrictedEvent"] = reflect.TypeOf((*LicenseRestrictedEvent)(nil)).Elem()
 51577  }
 51578  
 51579  type LicenseRestrictedFault LicenseRestricted
 51580  
 51581  func init() {
 51582  	t["LicenseRestrictedFault"] = reflect.TypeOf((*LicenseRestrictedFault)(nil)).Elem()
 51583  }
 51584  
 51585  // This event is reported if the LicenseServer was previously unreachable
 51586  // and is now reachable.
 51587  type LicenseServerAvailableEvent struct {
 51588  	LicenseEvent
 51589  
 51590  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51591  }
 51592  
 51593  func init() {
 51594  	t["LicenseServerAvailableEvent"] = reflect.TypeOf((*LicenseServerAvailableEvent)(nil)).Elem()
 51595  }
 51596  
 51597  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51598  //
 51599  // Specify a license server reachable via IPv4 network.
 51600  type LicenseServerSource struct {
 51601  	LicenseSource
 51602  
 51603  	// This property defines the server to establish a TCP session to
 51604  	// obtain license data.
 51605  	//
 51606  	// Format of string is host:port
 51607  	// Port is optional unsigned 16 bit integer license
 51608  	// server is listening on. A trailing colon ':' without a port number
 51609  	// is a valid expression.
 51610  	// Host can either be an IPv4 address in dotted quad
 51611  	// format or a resolvable DNS name &leq;254 characters. See RFC 3696.
 51612  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51613  }
 51614  
 51615  func init() {
 51616  	t["LicenseServerSource"] = reflect.TypeOf((*LicenseServerSource)(nil)).Elem()
 51617  }
 51618  
 51619  // This fault is thrown when the License Server
 51620  // is unavailable during an attempt to change license state.
 51621  type LicenseServerUnavailable struct {
 51622  	VimFault
 51623  
 51624  	// The name of the unavailable license server.
 51625  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51626  }
 51627  
 51628  func init() {
 51629  	t["LicenseServerUnavailable"] = reflect.TypeOf((*LicenseServerUnavailable)(nil)).Elem()
 51630  }
 51631  
 51632  // This event is reported if the LicenseServer becomes unreachable.
 51633  type LicenseServerUnavailableEvent struct {
 51634  	LicenseEvent
 51635  
 51636  	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
 51637  }
 51638  
 51639  func init() {
 51640  	t["LicenseServerUnavailableEvent"] = reflect.TypeOf((*LicenseServerUnavailableEvent)(nil)).Elem()
 51641  }
 51642  
 51643  type LicenseServerUnavailableFault LicenseServerUnavailable
 51644  
 51645  func init() {
 51646  	t["LicenseServerUnavailableFault"] = reflect.TypeOf((*LicenseServerUnavailableFault)(nil)).Elem()
 51647  }
 51648  
 51649  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51650  //
 51651  // This data object type is used to communicate configuration about
 51652  // where to find licenses to use for this system.
 51653  type LicenseSource struct {
 51654  	DynamicData
 51655  }
 51656  
 51657  func init() {
 51658  	t["LicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem()
 51659  }
 51660  
 51661  // A LicenseSourceUnavailable is thrown if it is unable to check out a license because
 51662  // the license source is unavailable.
 51663  type LicenseSourceUnavailable struct {
 51664  	NotEnoughLicenses
 51665  
 51666  	// License source
 51667  	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
 51668  }
 51669  
 51670  func init() {
 51671  	t["LicenseSourceUnavailable"] = reflect.TypeOf((*LicenseSourceUnavailable)(nil)).Elem()
 51672  }
 51673  
 51674  type LicenseSourceUnavailableFault LicenseSourceUnavailable
 51675  
 51676  func init() {
 51677  	t["LicenseSourceUnavailableFault"] = reflect.TypeOf((*LicenseSourceUnavailableFault)(nil)).Elem()
 51678  }
 51679  
 51680  // Deprecated as of vSphere API 4.0, this is not used by the system.
 51681  //
 51682  // Contains source information, licensed features, and usage.
 51683  type LicenseUsageInfo struct {
 51684  	DynamicData
 51685  
 51686  	// The source from which licensing data is acquired.
 51687  	//
 51688  	// See also `LicenseSource`.
 51689  	Source BaseLicenseSource `xml:"source,typeattr" json:"source"`
 51690  	// Returns whether or not the source is currently available.
 51691  	//
 51692  	// See also `LicenseManager.sourceAvailable`.
 51693  	SourceAvailable bool `xml:"sourceAvailable" json:"sourceAvailable"`
 51694  	// A list of feature reservations.
 51695  	ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty" json:"reservationInfo,omitempty"`
 51696  	// Includes all the features that are referenced in the reservation array.
 51697  	FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty" json:"featureInfo,omitempty"`
 51698  }
 51699  
 51700  func init() {
 51701  	t["LicenseUsageInfo"] = reflect.TypeOf((*LicenseUsageInfo)(nil)).Elem()
 51702  }
 51703  
 51704  // This exception is thrown if one of the arguments passed to the function exceeds
 51705  // a limit.
 51706  type LimitExceeded struct {
 51707  	VimFault
 51708  
 51709  	// The name of the property that exceeds the limit.
 51710  	Property string `xml:"property,omitempty" json:"property,omitempty"`
 51711  	// The limit value.
 51712  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 51713  }
 51714  
 51715  func init() {
 51716  	t["LimitExceeded"] = reflect.TypeOf((*LimitExceeded)(nil)).Elem()
 51717  }
 51718  
 51719  type LimitExceededFault LimitExceeded
 51720  
 51721  func init() {
 51722  	t["LimitExceededFault"] = reflect.TypeOf((*LimitExceededFault)(nil)).Elem()
 51723  }
 51724  
 51725  // Dataobject representing the link discovery protocol configuration for a
 51726  // virtual or distributed virtual switch.
 51727  type LinkDiscoveryProtocolConfig struct {
 51728  	DynamicData
 51729  
 51730  	// The discovery protocol type.
 51731  	//
 51732  	// For valid values
 51733  	// see `LinkDiscoveryProtocolConfigProtocolType_enum`.
 51734  	Protocol string `xml:"protocol" json:"protocol"`
 51735  	// Whether to advertise or listen.
 51736  	//
 51737  	// For valid values see
 51738  	// `LinkDiscoveryProtocolConfigOperationType_enum`.
 51739  	Operation string `xml:"operation" json:"operation"`
 51740  }
 51741  
 51742  func init() {
 51743  	t["LinkDiscoveryProtocolConfig"] = reflect.TypeOf((*LinkDiscoveryProtocolConfig)(nil)).Elem()
 51744  }
 51745  
 51746  // The Link Layer Discovery Protocol information.
 51747  type LinkLayerDiscoveryProtocolInfo struct {
 51748  	DynamicData
 51749  
 51750  	// ChassisId represents the chassis identification for the device that
 51751  	// transmitted the LLDP frame.
 51752  	//
 51753  	// The receiving LLDP agent combines the
 51754  	// Chassis ID and portId to represent the entity connected to the port
 51755  	// where the frame was received.
 51756  	ChassisId string `xml:"chassisId" json:"chassisId"`
 51757  	// This property identifies the specific port that transmitted the LLDP
 51758  	// frame.
 51759  	//
 51760  	// The receiving LLDP agent combines the Chassis ID and Port to
 51761  	// represent the entity connected to the port where the frame was received.
 51762  	PortId string `xml:"portId" json:"portId"`
 51763  	// It is the duration of time in seconds for which information contained
 51764  	// in the received LLDP frame shall be valid.
 51765  	//
 51766  	// If a value of zero is sent
 51767  	// it can also identify a device that has shut down or is no longer
 51768  	// transmitting, prompting deletion of the record from the local database.
 51769  	TimeToLive int32 `xml:"timeToLive" json:"timeToLive"`
 51770  	// LLDP parameters
 51771  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 51772  }
 51773  
 51774  func init() {
 51775  	t["LinkLayerDiscoveryProtocolInfo"] = reflect.TypeOf((*LinkLayerDiscoveryProtocolInfo)(nil)).Elem()
 51776  }
 51777  
 51778  // The LinkProfile data object represents a subprofile
 51779  // for links connected to virtual switch.
 51780  type LinkProfile struct {
 51781  	ApplyProfile
 51782  }
 51783  
 51784  func init() {
 51785  	t["LinkProfile"] = reflect.TypeOf((*LinkProfile)(nil)).Elem()
 51786  }
 51787  
 51788  // Customization operation is performed on a linux source vm that
 51789  // was not shut down properly.
 51790  //
 51791  // If the filesystem has significant
 51792  // fsck errors on it, customization process cannot make changes
 51793  // to it.
 51794  type LinuxVolumeNotClean struct {
 51795  	CustomizationFault
 51796  }
 51797  
 51798  func init() {
 51799  	t["LinuxVolumeNotClean"] = reflect.TypeOf((*LinuxVolumeNotClean)(nil)).Elem()
 51800  }
 51801  
 51802  type LinuxVolumeNotCleanFault LinuxVolumeNotClean
 51803  
 51804  func init() {
 51805  	t["LinuxVolumeNotCleanFault"] = reflect.TypeOf((*LinuxVolumeNotCleanFault)(nil)).Elem()
 51806  }
 51807  
 51808  type ListCACertificateRevocationLists ListCACertificateRevocationListsRequestType
 51809  
 51810  func init() {
 51811  	t["ListCACertificateRevocationLists"] = reflect.TypeOf((*ListCACertificateRevocationLists)(nil)).Elem()
 51812  }
 51813  
 51814  type ListCACertificateRevocationListsRequestType struct {
 51815  	This ManagedObjectReference `xml:"_this" json:"-"`
 51816  }
 51817  
 51818  func init() {
 51819  	t["ListCACertificateRevocationListsRequestType"] = reflect.TypeOf((*ListCACertificateRevocationListsRequestType)(nil)).Elem()
 51820  }
 51821  
 51822  type ListCACertificateRevocationListsResponse struct {
 51823  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51824  }
 51825  
 51826  type ListCACertificates ListCACertificatesRequestType
 51827  
 51828  func init() {
 51829  	t["ListCACertificates"] = reflect.TypeOf((*ListCACertificates)(nil)).Elem()
 51830  }
 51831  
 51832  type ListCACertificatesRequestType struct {
 51833  	This ManagedObjectReference `xml:"_this" json:"-"`
 51834  }
 51835  
 51836  func init() {
 51837  	t["ListCACertificatesRequestType"] = reflect.TypeOf((*ListCACertificatesRequestType)(nil)).Elem()
 51838  }
 51839  
 51840  type ListCACertificatesResponse struct {
 51841  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51842  }
 51843  
 51844  type ListFilesInGuest ListFilesInGuestRequestType
 51845  
 51846  func init() {
 51847  	t["ListFilesInGuest"] = reflect.TypeOf((*ListFilesInGuest)(nil)).Elem()
 51848  }
 51849  
 51850  // The parameters of `GuestFileManager.ListFilesInGuest`.
 51851  type ListFilesInGuestRequestType struct {
 51852  	This ManagedObjectReference `xml:"_this" json:"-"`
 51853  	// Virtual Machine to perform the operation on.
 51854  	//
 51855  	// Required privileges: VirtualMachine.GuestOperations.Query
 51856  	//
 51857  	// Refers instance of `VirtualMachine`.
 51858  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 51859  	// The guest authentication data. See
 51860  	// `GuestAuthentication`.
 51861  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 51862  	// The complete path to the directory or file to query.
 51863  	FilePath string `xml:"filePath" json:"filePath"`
 51864  	// Which result to start the list with. The default is 0.
 51865  	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
 51866  	// The maximum number of results to return. The default
 51867  	// is 50.
 51868  	MaxResults int32 `xml:"maxResults,omitempty" json:"maxResults,omitempty"`
 51869  	// A filter for the return values.
 51870  	// Match patterns are specified using perl-compatible regular
 51871  	// expressions.
 51872  	// If matchPattern is unset, then the pattern '.\*' is used.
 51873  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 51874  }
 51875  
 51876  func init() {
 51877  	t["ListFilesInGuestRequestType"] = reflect.TypeOf((*ListFilesInGuestRequestType)(nil)).Elem()
 51878  }
 51879  
 51880  type ListFilesInGuestResponse struct {
 51881  	Returnval GuestListFileInfo `xml:"returnval" json:"returnval"`
 51882  }
 51883  
 51884  type ListGuestAliases ListGuestAliasesRequestType
 51885  
 51886  func init() {
 51887  	t["ListGuestAliases"] = reflect.TypeOf((*ListGuestAliases)(nil)).Elem()
 51888  }
 51889  
 51890  // The parameters of `GuestAliasManager.ListGuestAliases`.
 51891  type ListGuestAliasesRequestType struct {
 51892  	This ManagedObjectReference `xml:"_this" json:"-"`
 51893  	// Virtual machine to perform the operation on.
 51894  	//
 51895  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 51896  	//
 51897  	// Refers instance of `VirtualMachine`.
 51898  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 51899  	// The guest authentication data for this operation. See
 51900  	// `GuestAuthentication`. These credentials must satisfy
 51901  	// authentication requirements
 51902  	// for a guest account on the specified virtual machine.
 51903  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 51904  	// The guest user whose Alias store is being queried.
 51905  	Username string `xml:"username" json:"username"`
 51906  }
 51907  
 51908  func init() {
 51909  	t["ListGuestAliasesRequestType"] = reflect.TypeOf((*ListGuestAliasesRequestType)(nil)).Elem()
 51910  }
 51911  
 51912  type ListGuestAliasesResponse struct {
 51913  	Returnval []GuestAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51914  }
 51915  
 51916  type ListGuestMappedAliases ListGuestMappedAliasesRequestType
 51917  
 51918  func init() {
 51919  	t["ListGuestMappedAliases"] = reflect.TypeOf((*ListGuestMappedAliases)(nil)).Elem()
 51920  }
 51921  
 51922  // The parameters of `GuestAliasManager.ListGuestMappedAliases`.
 51923  type ListGuestMappedAliasesRequestType struct {
 51924  	This ManagedObjectReference `xml:"_this" json:"-"`
 51925  	// Virtual machine to perform the operation on.
 51926  	//
 51927  	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
 51928  	//
 51929  	// Refers instance of `VirtualMachine`.
 51930  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 51931  	// The guest authentication data for this operation. See
 51932  	// `GuestAuthentication`. These credentials must satisfy
 51933  	// authentication requirements
 51934  	// for a guest account on the specified virtual machine.
 51935  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 51936  }
 51937  
 51938  func init() {
 51939  	t["ListGuestMappedAliasesRequestType"] = reflect.TypeOf((*ListGuestMappedAliasesRequestType)(nil)).Elem()
 51940  }
 51941  
 51942  type ListGuestMappedAliasesResponse struct {
 51943  	Returnval []GuestMappedAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51944  }
 51945  
 51946  type ListKeys ListKeysRequestType
 51947  
 51948  func init() {
 51949  	t["ListKeys"] = reflect.TypeOf((*ListKeys)(nil)).Elem()
 51950  }
 51951  
 51952  // The parameters of `CryptoManager.ListKeys`.
 51953  type ListKeysRequestType struct {
 51954  	This ManagedObjectReference `xml:"_this" json:"-"`
 51955  	// \[in\] maximum keys to return.
 51956  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 51957  }
 51958  
 51959  func init() {
 51960  	t["ListKeysRequestType"] = reflect.TypeOf((*ListKeysRequestType)(nil)).Elem()
 51961  }
 51962  
 51963  type ListKeysResponse struct {
 51964  	Returnval []CryptoKeyId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51965  }
 51966  
 51967  type ListKmipServers ListKmipServersRequestType
 51968  
 51969  func init() {
 51970  	t["ListKmipServers"] = reflect.TypeOf((*ListKmipServers)(nil)).Elem()
 51971  }
 51972  
 51973  // The parameters of `CryptoManagerKmip.ListKmipServers`.
 51974  type ListKmipServersRequestType struct {
 51975  	This ManagedObjectReference `xml:"_this" json:"-"`
 51976  	// \[in\] maximum clusters to return.
 51977  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 51978  }
 51979  
 51980  func init() {
 51981  	t["ListKmipServersRequestType"] = reflect.TypeOf((*ListKmipServersRequestType)(nil)).Elem()
 51982  }
 51983  
 51984  type ListKmipServersResponse struct {
 51985  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 51986  }
 51987  
 51988  type ListKmsClusters ListKmsClustersRequestType
 51989  
 51990  func init() {
 51991  	t["ListKmsClusters"] = reflect.TypeOf((*ListKmsClusters)(nil)).Elem()
 51992  }
 51993  
 51994  // The parameters of `CryptoManagerKmip.ListKmsClusters`.
 51995  type ListKmsClustersRequestType struct {
 51996  	This ManagedObjectReference `xml:"_this" json:"-"`
 51997  	// \[in\] Whether to list KMS servers information
 51998  	// in the cluster.
 51999  	// By default will not include the KMS servers
 52000  	// information.
 52001  	IncludeKmsServers *bool `xml:"includeKmsServers" json:"includeKmsServers,omitempty"`
 52002  	// \[in\] The KMS cluster management type filter.
 52003  	// Bit map values:
 52004  	// 0x01 - Return VC managed Key Providers
 52005  	// registered in the CryptoManager.
 52006  	// 0x02 - Return Trusted Key Providers
 52007  	// registered in the CryptoManager.
 52008  	// 0x04 - Return Trusted Key Providers which are
 52009  	// not registered with the CryptoManager.
 52010  	// 0x08 - Return Native Key Providers.
 52011  	// others - reserved, will be ignored
 52012  	// If omitted or -1, then all kinds of Key Providers
 52013  	// will be returned.
 52014  	ManagementTypeFilter int32 `xml:"managementTypeFilter,omitempty" json:"managementTypeFilter,omitempty"`
 52015  	// \[in\] The Key Provider status filter.
 52016  	// Bit map values:
 52017  	// 0x01 - Return active Key Providers.
 52018  	// 0x02 - Return inactive Key Providers.
 52019  	// others - reserved, will be ignored
 52020  	// If omitted or -1, then all status of Key Providers
 52021  	// will be returned.
 52022  	StatusFilter int32 `xml:"statusFilter,omitempty" json:"statusFilter,omitempty"`
 52023  }
 52024  
 52025  func init() {
 52026  	t["ListKmsClustersRequestType"] = reflect.TypeOf((*ListKmsClustersRequestType)(nil)).Elem()
 52027  }
 52028  
 52029  type ListKmsClustersResponse struct {
 52030  	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52031  }
 52032  
 52033  type ListProcessesInGuest ListProcessesInGuestRequestType
 52034  
 52035  func init() {
 52036  	t["ListProcessesInGuest"] = reflect.TypeOf((*ListProcessesInGuest)(nil)).Elem()
 52037  }
 52038  
 52039  // The parameters of `GuestProcessManager.ListProcessesInGuest`.
 52040  type ListProcessesInGuestRequestType struct {
 52041  	This ManagedObjectReference `xml:"_this" json:"-"`
 52042  	// Virtual machine to perform the operation on.
 52043  	//
 52044  	// Required privileges: VirtualMachine.GuestOperations.Query
 52045  	//
 52046  	// Refers instance of `VirtualMachine`.
 52047  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52048  	// The guest authentication data. See
 52049  	// `GuestAuthentication`.
 52050  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52051  	// If set, only return information about the specified processes.
 52052  	// Otherwise, information about all processes are returned.
 52053  	// If a specified processes does not exist, nothing will
 52054  	// be returned for that process.
 52055  	Pids []int64 `xml:"pids,omitempty" json:"pids,omitempty"`
 52056  }
 52057  
 52058  func init() {
 52059  	t["ListProcessesInGuestRequestType"] = reflect.TypeOf((*ListProcessesInGuestRequestType)(nil)).Elem()
 52060  }
 52061  
 52062  type ListProcessesInGuestResponse struct {
 52063  	Returnval []GuestProcessInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52064  }
 52065  
 52066  type ListRegistryKeysInGuest ListRegistryKeysInGuestRequestType
 52067  
 52068  func init() {
 52069  	t["ListRegistryKeysInGuest"] = reflect.TypeOf((*ListRegistryKeysInGuest)(nil)).Elem()
 52070  }
 52071  
 52072  // The parameters of `GuestWindowsRegistryManager.ListRegistryKeysInGuest`.
 52073  type ListRegistryKeysInGuestRequestType struct {
 52074  	This ManagedObjectReference `xml:"_this" json:"-"`
 52075  	// Virtual machine to perform the operation on.
 52076  	//
 52077  	// Required privileges: VirtualMachine.GuestOperations.Query
 52078  	//
 52079  	// Refers instance of `VirtualMachine`.
 52080  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52081  	// The guest authentication data.
 52082  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52083  	// The path to the registry key for which all subkeys are to
 52084  	// be listed.
 52085  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 52086  	// If true, all subkeys are listed recursively.
 52087  	Recursive bool `xml:"recursive" json:"recursive"`
 52088  	// A filter for the key names returned, specified using
 52089  	// perl-compatible regular expressions. If matchPattern
 52090  	// is unset, then the pattern '.\*' is used, which returns
 52091  	// all key names found, otherwise only those key names
 52092  	// that match the input pattern shall be returned.
 52093  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 52094  }
 52095  
 52096  func init() {
 52097  	t["ListRegistryKeysInGuestRequestType"] = reflect.TypeOf((*ListRegistryKeysInGuestRequestType)(nil)).Elem()
 52098  }
 52099  
 52100  type ListRegistryKeysInGuestResponse struct {
 52101  	Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52102  }
 52103  
 52104  type ListRegistryValuesInGuest ListRegistryValuesInGuestRequestType
 52105  
 52106  func init() {
 52107  	t["ListRegistryValuesInGuest"] = reflect.TypeOf((*ListRegistryValuesInGuest)(nil)).Elem()
 52108  }
 52109  
 52110  // The parameters of `GuestWindowsRegistryManager.ListRegistryValuesInGuest`.
 52111  type ListRegistryValuesInGuestRequestType struct {
 52112  	This ManagedObjectReference `xml:"_this" json:"-"`
 52113  	// Virtual machine to perform the operation on.
 52114  	//
 52115  	// Required privileges: VirtualMachine.GuestOperations.Query
 52116  	//
 52117  	// Refers instance of `VirtualMachine`.
 52118  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52119  	// The guest authentication data.
 52120  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52121  	// The path to the registry key for which all values are to be
 52122  	// listed.
 52123  	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
 52124  	// If true, all values that have expandable data such
 52125  	// as environment variable names, shall get expanded in
 52126  	// the result.
 52127  	ExpandStrings bool `xml:"expandStrings" json:"expandStrings"`
 52128  	// A filter for the value names returned, specified using
 52129  	// perl-compatible regular expressions. If matchPattern
 52130  	// is unset, then the pattern '.\*' is used, which returns
 52131  	// all value names found, otherwise only those value
 52132  	// names that match the input pattern shall be returned.
 52133  	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
 52134  }
 52135  
 52136  func init() {
 52137  	t["ListRegistryValuesInGuestRequestType"] = reflect.TypeOf((*ListRegistryValuesInGuestRequestType)(nil)).Elem()
 52138  }
 52139  
 52140  type ListRegistryValuesInGuestResponse struct {
 52141  	Returnval []GuestRegValueSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52142  }
 52143  
 52144  type ListSmartCardTrustAnchors ListSmartCardTrustAnchorsRequestType
 52145  
 52146  func init() {
 52147  	t["ListSmartCardTrustAnchors"] = reflect.TypeOf((*ListSmartCardTrustAnchors)(nil)).Elem()
 52148  }
 52149  
 52150  type ListSmartCardTrustAnchorsRequestType struct {
 52151  	This ManagedObjectReference `xml:"_this" json:"-"`
 52152  }
 52153  
 52154  func init() {
 52155  	t["ListSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ListSmartCardTrustAnchorsRequestType)(nil)).Elem()
 52156  }
 52157  
 52158  type ListSmartCardTrustAnchorsResponse struct {
 52159  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52160  }
 52161  
 52162  type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType
 52163  
 52164  func init() {
 52165  	t["ListTagsAttachedToVStorageObject"] = reflect.TypeOf((*ListTagsAttachedToVStorageObject)(nil)).Elem()
 52166  }
 52167  
 52168  // The parameters of `VcenterVStorageObjectManager.ListTagsAttachedToVStorageObject`.
 52169  type ListTagsAttachedToVStorageObjectRequestType struct {
 52170  	This ManagedObjectReference `xml:"_this" json:"-"`
 52171  	// The ID of the virtual storage object.
 52172  	Id ID `xml:"id" json:"id"`
 52173  }
 52174  
 52175  func init() {
 52176  	t["ListTagsAttachedToVStorageObjectRequestType"] = reflect.TypeOf((*ListTagsAttachedToVStorageObjectRequestType)(nil)).Elem()
 52177  }
 52178  
 52179  type ListTagsAttachedToVStorageObjectResponse struct {
 52180  	Returnval []VslmTagEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52181  }
 52182  
 52183  type ListVStorageObject ListVStorageObjectRequestType
 52184  
 52185  func init() {
 52186  	t["ListVStorageObject"] = reflect.TypeOf((*ListVStorageObject)(nil)).Elem()
 52187  }
 52188  
 52189  // The parameters of `VcenterVStorageObjectManager.ListVStorageObject`.
 52190  type ListVStorageObjectRequestType struct {
 52191  	This ManagedObjectReference `xml:"_this" json:"-"`
 52192  	// The datastore to query for the virtual storage objects.
 52193  	//
 52194  	// Refers instance of `Datastore`.
 52195  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 52196  }
 52197  
 52198  func init() {
 52199  	t["ListVStorageObjectRequestType"] = reflect.TypeOf((*ListVStorageObjectRequestType)(nil)).Elem()
 52200  }
 52201  
 52202  type ListVStorageObjectResponse struct {
 52203  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52204  }
 52205  
 52206  type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType
 52207  
 52208  func init() {
 52209  	t["ListVStorageObjectsAttachedToTag"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTag)(nil)).Elem()
 52210  }
 52211  
 52212  // The parameters of `VcenterVStorageObjectManager.ListVStorageObjectsAttachedToTag`.
 52213  type ListVStorageObjectsAttachedToTagRequestType struct {
 52214  	This ManagedObjectReference `xml:"_this" json:"-"`
 52215  	// The category to which the tag belongs.
 52216  	Category string `xml:"category" json:"category"`
 52217  	// The tag to be queried.
 52218  	Tag string `xml:"tag" json:"tag"`
 52219  }
 52220  
 52221  func init() {
 52222  	t["ListVStorageObjectsAttachedToTagRequestType"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTagRequestType)(nil)).Elem()
 52223  }
 52224  
 52225  type ListVStorageObjectsAttachedToTagResponse struct {
 52226  	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52227  }
 52228  
 52229  // This event records when a local datastore is created.
 52230  type LocalDatastoreCreatedEvent struct {
 52231  	HostEvent
 52232  
 52233  	// The associated datastore.
 52234  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 52235  	// Url of the associated datastore.
 52236  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 52237  }
 52238  
 52239  func init() {
 52240  	t["LocalDatastoreCreatedEvent"] = reflect.TypeOf((*LocalDatastoreCreatedEvent)(nil)).Elem()
 52241  }
 52242  
 52243  // The information details about a datastore that is local to a host.
 52244  type LocalDatastoreInfo struct {
 52245  	DatastoreInfo
 52246  
 52247  	// The local path on a host.
 52248  	//
 52249  	// May not
 52250  	// be available when the datastore is not accessible.
 52251  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 52252  }
 52253  
 52254  func init() {
 52255  	t["LocalDatastoreInfo"] = reflect.TypeOf((*LocalDatastoreInfo)(nil)).Elem()
 52256  }
 52257  
 52258  // Deprecated as of vSphere API 4.0, this is not used by the system.
 52259  //
 52260  // Specify license key data to store locally.
 52261  type LocalLicenseSource struct {
 52262  	LicenseSource
 52263  
 52264  	// The size of this string is implementation dependent.
 52265  	//
 52266  	// It must contain ASCII or ISO Latin-1 characters only.
 52267  	LicenseKeys string `xml:"licenseKeys" json:"licenseKeys"`
 52268  }
 52269  
 52270  func init() {
 52271  	t["LocalLicenseSource"] = reflect.TypeOf((*LocalLicenseSource)(nil)).Elem()
 52272  }
 52273  
 52274  // Local Tech Support Mode for the host has been enabled.
 52275  type LocalTSMEnabledEvent struct {
 52276  	HostEvent
 52277  }
 52278  
 52279  func init() {
 52280  	t["LocalTSMEnabledEvent"] = reflect.TypeOf((*LocalTSMEnabledEvent)(nil)).Elem()
 52281  }
 52282  
 52283  // Message data which is intended to be displayed according
 52284  // to the locale of a client.
 52285  //
 52286  // A `LocalizableMessage` contains both a formatted, localized
 52287  // version of the text and the data needed to perform localization in
 52288  // conjunction with localization catalogs.
 52289  //
 52290  // Clients of the VIM API may use vim.SessionManager.setLocale()
 52291  // to cause the server to emit a localized `LocalizableMessage.message`, or may perform
 52292  // client-side localization based on message catalogs provided by the
 52293  // server.
 52294  //   - If the substition variable is a string, no further lookup is required.
 52295  //   - `LocalizableMessage.arg` = \[("address" = "127.0.0.1")\]
 52296  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "IP address is {address}"
 52297  //   - \==&gt; `LocalizableMessage.message` = "IP address is 127.0.0.1"
 52298  //   - If the substitution variable is an integer, value is a lookup key.
 52299  //   - `LocalizableMessage.arg` = \[("1" = "button.cancel"), ("2" = "msg.revert")\]
 52300  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "Select '{1}' to {2}"
 52301  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 52302  //   - CATALOG(locmsg, msg.revert) = "revert"
 52303  //   - \==&gt; `LocalizableMessage.message` = "Select 'Cancel' to revert"
 52304  //   - If the variable contains '@', value is a label lookup in another
 52305  //     catalog, where {name.@CATALOG.prefix} looks up prefix.`LocalizableMessage.arg`\[name\].label
 52306  //     in CATALOG.
 52307  //   - `LocalizableMessage.arg` = \[("field" = "queued")\]
 52308  //   - CATALOG(locmsg, `LocalizableMessage.key`) = "State is {field.@enum.TaskInfo.State}"
 52309  //   - CATALOG(enum, TaskInfo.State.queued.label) is "Queued"
 52310  //   - \==&gt; `LocalizableMessage.message` = "State is Queued"
 52311  type LocalizableMessage struct {
 52312  	DynamicData
 52313  
 52314  	// Unique key identifying the message in the localized message catalog.
 52315  	Key string `xml:"key" json:"key"`
 52316  	// Substitution arguments for variables in the localized message.
 52317  	Arg []KeyAnyValue `xml:"arg,omitempty" json:"arg,omitempty"`
 52318  	// Message in session locale.
 52319  	//
 52320  	// Use vim.SessionManager.setLocale() to change the session locale.
 52321  	Message string `xml:"message,omitempty" json:"message,omitempty"`
 52322  }
 52323  
 52324  func init() {
 52325  	t["LocalizableMessage"] = reflect.TypeOf((*LocalizableMessage)(nil)).Elem()
 52326  }
 52327  
 52328  // Description of an available message catalog
 52329  type LocalizationManagerMessageCatalog struct {
 52330  	DynamicData
 52331  
 52332  	// The module or extension that publishes this catalog.
 52333  	//
 52334  	// The moduleName will be empty for the core catalogs for the
 52335  	// VirtualCenter server itself.
 52336  	ModuleName string `xml:"moduleName" json:"moduleName"`
 52337  	// The name of the catalog.
 52338  	CatalogName string `xml:"catalogName" json:"catalogName"`
 52339  	// The locale for the catalog.
 52340  	Locale string `xml:"locale" json:"locale"`
 52341  	// The URI (relative to the connection URL for the VirtualCenter server
 52342  	// itself) from which the catalog can be downloaded.
 52343  	//
 52344  	// The caller will need to augment this with a scheme and authority (host
 52345  	// and port) to make a complete URL.
 52346  	CatalogUri string `xml:"catalogUri" json:"catalogUri"`
 52347  	// The last-modified time of the catalog file, if available
 52348  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 52349  	// The checksum of the catalog file, if available
 52350  	Md5sum string `xml:"md5sum,omitempty" json:"md5sum,omitempty"`
 52351  	// The version of the catalog file, if available
 52352  	// The format is dot-separated version string, e.g.
 52353  	//
 52354  	// "1.2.3".
 52355  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 52356  }
 52357  
 52358  func init() {
 52359  	t["LocalizationManagerMessageCatalog"] = reflect.TypeOf((*LocalizationManagerMessageCatalog)(nil)).Elem()
 52360  }
 52361  
 52362  // A wrapper class used to pass MethodFault data objects over the wire
 52363  // along with a localized display message for the fault.
 52364  type LocalizedMethodFault struct {
 52365  	DynamicData
 52366  
 52367  	Fault BaseMethodFault `xml:"fault,typeattr" json:"fault"`
 52368  	// The localized message that would be sent in the faultstring element
 52369  	// of the SOAP Fault.
 52370  	//
 52371  	// It is optional so that clients are not required
 52372  	// to send a localized message to the server, but servers are required
 52373  	// to send the localized message to clients.
 52374  	LocalizedMessage string `xml:"localizedMessage,omitempty" json:"localizedMessage,omitempty"`
 52375  }
 52376  
 52377  func init() {
 52378  	t["LocalizedMethodFault"] = reflect.TypeOf((*LocalizedMethodFault)(nil)).Elem()
 52379  }
 52380  
 52381  // Locker has not been configured properly.
 52382  //
 52383  // This event is fired when the datastore configured to back the locker
 52384  // does not exist or when connectivity to the datastore is lost.
 52385  type LockerMisconfiguredEvent struct {
 52386  	Event
 52387  
 52388  	// The datastore that has been configured to back the locker
 52389  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 52390  }
 52391  
 52392  func init() {
 52393  	t["LockerMisconfiguredEvent"] = reflect.TypeOf((*LockerMisconfiguredEvent)(nil)).Elem()
 52394  }
 52395  
 52396  // Locker was reconfigured to a new location.
 52397  type LockerReconfiguredEvent struct {
 52398  	Event
 52399  
 52400  	// The datastore that was previously backing the locker.
 52401  	//
 52402  	// This field is not
 52403  	// set if a datastore was not backing the locker previously.
 52404  	OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty" json:"oldDatastore,omitempty"`
 52405  	// The datastore that is now used to back the locker.
 52406  	//
 52407  	// This field is not set if no datastore is currently backing the locker.
 52408  	NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty" json:"newDatastore,omitempty"`
 52409  }
 52410  
 52411  func init() {
 52412  	t["LockerReconfiguredEvent"] = reflect.TypeOf((*LockerReconfiguredEvent)(nil)).Elem()
 52413  }
 52414  
 52415  // A LogBundlingFailed exception is thrown when generation of a diagnostic
 52416  // data bundle fails.
 52417  type LogBundlingFailed struct {
 52418  	VimFault
 52419  }
 52420  
 52421  func init() {
 52422  	t["LogBundlingFailed"] = reflect.TypeOf((*LogBundlingFailed)(nil)).Elem()
 52423  }
 52424  
 52425  type LogBundlingFailedFault LogBundlingFailed
 52426  
 52427  func init() {
 52428  	t["LogBundlingFailedFault"] = reflect.TypeOf((*LogBundlingFailedFault)(nil)).Elem()
 52429  }
 52430  
 52431  type LogUserEvent LogUserEventRequestType
 52432  
 52433  func init() {
 52434  	t["LogUserEvent"] = reflect.TypeOf((*LogUserEvent)(nil)).Elem()
 52435  }
 52436  
 52437  // The parameters of `EventManager.LogUserEvent`.
 52438  type LogUserEventRequestType struct {
 52439  	This ManagedObjectReference `xml:"_this" json:"-"`
 52440  	// The entity against which the event is logged. The entity must be
 52441  	// the root folder, a DataCenter, a VirtualMachine, a HostSystem,
 52442  	// or a ComputeResource.
 52443  	//
 52444  	// Required privileges: Global.LogEvent
 52445  	//
 52446  	// Refers instance of `ManagedEntity`.
 52447  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 52448  	// The message to be logged.
 52449  	Msg string `xml:"msg" json:"msg"`
 52450  }
 52451  
 52452  func init() {
 52453  	t["LogUserEventRequestType"] = reflect.TypeOf((*LogUserEventRequestType)(nil)).Elem()
 52454  }
 52455  
 52456  type LogUserEventResponse struct {
 52457  }
 52458  
 52459  type Login LoginRequestType
 52460  
 52461  func init() {
 52462  	t["Login"] = reflect.TypeOf((*Login)(nil)).Elem()
 52463  }
 52464  
 52465  type LoginBySSPI LoginBySSPIRequestType
 52466  
 52467  func init() {
 52468  	t["LoginBySSPI"] = reflect.TypeOf((*LoginBySSPI)(nil)).Elem()
 52469  }
 52470  
 52471  // The parameters of `SessionManager.LoginBySSPI`.
 52472  type LoginBySSPIRequestType struct {
 52473  	This ManagedObjectReference `xml:"_this" json:"-"`
 52474  	// The partially formed context returned from
 52475  	// InitializeSecurityContext().
 52476  	Base64Token string `xml:"base64Token" json:"base64Token"`
 52477  	// A two-character ISO-639 language ID (like "en")
 52478  	// optionally followed by an
 52479  	// underscore and a two-character ISO 3166 country ID (like "US").
 52480  	//
 52481  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52482  	// Note: The method uses the server default locale when
 52483  	// a locale is not provided. This default can be configured in the
 52484  	// server configuration file. If unspecified, it defaults to the
 52485  	// locale of the server environment or English ("en") if unsupported.
 52486  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52487  }
 52488  
 52489  func init() {
 52490  	t["LoginBySSPIRequestType"] = reflect.TypeOf((*LoginBySSPIRequestType)(nil)).Elem()
 52491  }
 52492  
 52493  type LoginBySSPIResponse struct {
 52494  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52495  }
 52496  
 52497  type LoginByToken LoginByTokenRequestType
 52498  
 52499  func init() {
 52500  	t["LoginByToken"] = reflect.TypeOf((*LoginByToken)(nil)).Elem()
 52501  }
 52502  
 52503  // The parameters of `SessionManager.LoginByToken`.
 52504  type LoginByTokenRequestType struct {
 52505  	This ManagedObjectReference `xml:"_this" json:"-"`
 52506  	// A two-character ISO-639 language ID (like "en")
 52507  	// optionally followed by an
 52508  	// underscore and a two-character ISO 3166 country ID (like "US").
 52509  	//
 52510  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52511  	// Note: The method uses the server default locale when
 52512  	// a locale is not provided. This default can be configured in the
 52513  	// server configuration file. If unspecified, it defaults to the
 52514  	// locale of the server environment or English ("en") if unsupported.
 52515  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52516  }
 52517  
 52518  func init() {
 52519  	t["LoginByTokenRequestType"] = reflect.TypeOf((*LoginByTokenRequestType)(nil)).Elem()
 52520  }
 52521  
 52522  type LoginByTokenResponse struct {
 52523  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52524  }
 52525  
 52526  type LoginExtensionByCertificate LoginExtensionByCertificateRequestType
 52527  
 52528  func init() {
 52529  	t["LoginExtensionByCertificate"] = reflect.TypeOf((*LoginExtensionByCertificate)(nil)).Elem()
 52530  }
 52531  
 52532  // The parameters of `SessionManager.LoginExtensionByCertificate`.
 52533  type LoginExtensionByCertificateRequestType struct {
 52534  	This ManagedObjectReference `xml:"_this" json:"-"`
 52535  	// Key of extension that is logging in.
 52536  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 52537  	// A two-character ISO-639 language ID (like "en")
 52538  	// optionally followed by an
 52539  	// underscore and a two-character ISO 3166 country ID (like "US").
 52540  	//
 52541  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52542  	// Note: The method uses the server default locale when
 52543  	// a locale is not provided. This default can be configured in the
 52544  	// server configuration file. If unspecified, it defaults to the
 52545  	// locale of the server environment or English ("en") if unsupported.
 52546  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52547  }
 52548  
 52549  func init() {
 52550  	t["LoginExtensionByCertificateRequestType"] = reflect.TypeOf((*LoginExtensionByCertificateRequestType)(nil)).Elem()
 52551  }
 52552  
 52553  type LoginExtensionByCertificateResponse struct {
 52554  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52555  }
 52556  
 52557  type LoginExtensionBySubjectName LoginExtensionBySubjectNameRequestType
 52558  
 52559  func init() {
 52560  	t["LoginExtensionBySubjectName"] = reflect.TypeOf((*LoginExtensionBySubjectName)(nil)).Elem()
 52561  }
 52562  
 52563  // The parameters of `SessionManager.LoginExtensionBySubjectName`.
 52564  type LoginExtensionBySubjectNameRequestType struct {
 52565  	This ManagedObjectReference `xml:"_this" json:"-"`
 52566  	// Key of extension that is logging in.
 52567  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 52568  	// A two-character ISO-639 language ID (like "en")
 52569  	// optionally followed by an
 52570  	// underscore and a two-character ISO 3166 country ID (like "US").
 52571  	//
 52572  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52573  	// Note: The method uses the server default locale when
 52574  	// a locale is not provided. This default can be configured in the
 52575  	// server configuration file. If unspecified, it defaults to the
 52576  	// locale of the server environment or English ("en") if unsupported.
 52577  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52578  }
 52579  
 52580  func init() {
 52581  	t["LoginExtensionBySubjectNameRequestType"] = reflect.TypeOf((*LoginExtensionBySubjectNameRequestType)(nil)).Elem()
 52582  }
 52583  
 52584  type LoginExtensionBySubjectNameResponse struct {
 52585  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52586  }
 52587  
 52588  // The parameters of `SessionManager.Login`.
 52589  type LoginRequestType struct {
 52590  	This ManagedObjectReference `xml:"_this" json:"-"`
 52591  	// The `ID`
 52592  	// of the user who is logging on to the server.
 52593  	UserName string `xml:"userName" json:"userName"`
 52594  	// The `HostAccountSpec.password`
 52595  	// of the user who is logging on to the server.
 52596  	Password string `xml:"password" json:"password"`
 52597  	// A two-character ISO-639 language ID (like "en")
 52598  	// optionally followed by an
 52599  	// underscore and a two-character ISO 3166 country ID (like "US").
 52600  	//
 52601  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 52602  	// Note: The method uses the server default locale when
 52603  	// a locale is not provided. This default can be configured in the
 52604  	// server configuration file. If unspecified, it defaults to the
 52605  	// locale of the server environment or English ("en") if unsupported.
 52606  	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
 52607  }
 52608  
 52609  func init() {
 52610  	t["LoginRequestType"] = reflect.TypeOf((*LoginRequestType)(nil)).Elem()
 52611  }
 52612  
 52613  type LoginResponse struct {
 52614  	Returnval UserSession `xml:"returnval" json:"returnval"`
 52615  }
 52616  
 52617  type Logout LogoutRequestType
 52618  
 52619  func init() {
 52620  	t["Logout"] = reflect.TypeOf((*Logout)(nil)).Elem()
 52621  }
 52622  
 52623  type LogoutRequestType struct {
 52624  	This ManagedObjectReference `xml:"_this" json:"-"`
 52625  }
 52626  
 52627  func init() {
 52628  	t["LogoutRequestType"] = reflect.TypeOf((*LogoutRequestType)(nil)).Elem()
 52629  }
 52630  
 52631  type LogoutResponse struct {
 52632  }
 52633  
 52634  // The LongOption data object type is used to define the minimum, maximum,
 52635  // and default values for a 64-bit long option.
 52636  type LongOption struct {
 52637  	OptionType
 52638  
 52639  	// The minimum value.
 52640  	Min int64 `xml:"min" json:"min"`
 52641  	// The maximum value.
 52642  	Max int64 `xml:"max" json:"max"`
 52643  	// The default value.
 52644  	DefaultValue int64 `xml:"defaultValue" json:"defaultValue"`
 52645  }
 52646  
 52647  func init() {
 52648  	t["LongOption"] = reflect.TypeOf((*LongOption)(nil)).Elem()
 52649  }
 52650  
 52651  // The long integer type of setting or configuration that may get an
 52652  // inherited value.
 52653  type LongPolicy struct {
 52654  	InheritablePolicy
 52655  
 52656  	// The boolean value that is either set or inherited.
 52657  	Value int64 `xml:"value,omitempty" json:"value,omitempty"`
 52658  }
 52659  
 52660  func init() {
 52661  	t["LongPolicy"] = reflect.TypeOf((*LongPolicy)(nil)).Elem()
 52662  }
 52663  
 52664  type LookupDvPortGroup LookupDvPortGroupRequestType
 52665  
 52666  func init() {
 52667  	t["LookupDvPortGroup"] = reflect.TypeOf((*LookupDvPortGroup)(nil)).Elem()
 52668  }
 52669  
 52670  // The parameters of `DistributedVirtualSwitch.LookupDvPortGroup`.
 52671  type LookupDvPortGroupRequestType struct {
 52672  	This ManagedObjectReference `xml:"_this" json:"-"`
 52673  	// The key that identifies a portgroup of this VDS.
 52674  	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
 52675  }
 52676  
 52677  func init() {
 52678  	t["LookupDvPortGroupRequestType"] = reflect.TypeOf((*LookupDvPortGroupRequestType)(nil)).Elem()
 52679  }
 52680  
 52681  type LookupDvPortGroupResponse struct {
 52682  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 52683  }
 52684  
 52685  type LookupVmOverheadMemory LookupVmOverheadMemoryRequestType
 52686  
 52687  func init() {
 52688  	t["LookupVmOverheadMemory"] = reflect.TypeOf((*LookupVmOverheadMemory)(nil)).Elem()
 52689  }
 52690  
 52691  // The parameters of `OverheadMemoryManager.LookupVmOverheadMemory`.
 52692  type LookupVmOverheadMemoryRequestType struct {
 52693  	This ManagedObjectReference `xml:"_this" json:"-"`
 52694  	// The Virtual Machine managed object reference.
 52695  	//
 52696  	// Refers instance of `VirtualMachine`.
 52697  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52698  	// The Host managed object reference.
 52699  	//
 52700  	// Refers instance of `HostSystem`.
 52701  	Host ManagedObjectReference `xml:"host" json:"host"`
 52702  }
 52703  
 52704  func init() {
 52705  	t["LookupVmOverheadMemoryRequestType"] = reflect.TypeOf((*LookupVmOverheadMemoryRequestType)(nil)).Elem()
 52706  }
 52707  
 52708  type LookupVmOverheadMemoryResponse struct {
 52709  	Returnval int64 `xml:"returnval" json:"returnval"`
 52710  }
 52711  
 52712  // Base class for specifying MAC addresses.
 52713  type MacAddress struct {
 52714  	NegatableExpression
 52715  }
 52716  
 52717  func init() {
 52718  	t["MacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem()
 52719  }
 52720  
 52721  // This class defines a range of MAC address.
 52722  type MacRange struct {
 52723  	MacAddress
 52724  
 52725  	// MAC address.
 52726  	Address string `xml:"address" json:"address"`
 52727  	// Mask that is used in matching the MAC address.
 52728  	//
 52729  	// A MAC address is
 52730  	// considered matched if the "and" operation of the mask on the
 52731  	// MAC address and `MacRange.address` yields the same result.
 52732  	// For example, a MAC of "00:A0:FF:14:FF:29" is considered matched
 52733  	// for a `MacRange.address` of "00:A0:C9:14:C8:29" and a
 52734  	// `MacRange.mask` of "FF:FF:00:FF:00:FF".
 52735  	Mask string `xml:"mask" json:"mask"`
 52736  }
 52737  
 52738  func init() {
 52739  	t["MacRange"] = reflect.TypeOf((*MacRange)(nil)).Elem()
 52740  }
 52741  
 52742  // Migration of the virtual machine to the target host will need a move of
 52743  // virtual machine files, like configuration file or virtual disks, which is
 52744  // not permitted if the source host is in maintenance mode.
 52745  type MaintenanceModeFileMove struct {
 52746  	MigrationFault
 52747  }
 52748  
 52749  func init() {
 52750  	t["MaintenanceModeFileMove"] = reflect.TypeOf((*MaintenanceModeFileMove)(nil)).Elem()
 52751  }
 52752  
 52753  type MaintenanceModeFileMoveFault MaintenanceModeFileMove
 52754  
 52755  func init() {
 52756  	t["MaintenanceModeFileMoveFault"] = reflect.TypeOf((*MaintenanceModeFileMoveFault)(nil)).Elem()
 52757  }
 52758  
 52759  type MakeDirectory MakeDirectoryRequestType
 52760  
 52761  func init() {
 52762  	t["MakeDirectory"] = reflect.TypeOf((*MakeDirectory)(nil)).Elem()
 52763  }
 52764  
 52765  type MakeDirectoryInGuest MakeDirectoryInGuestRequestType
 52766  
 52767  func init() {
 52768  	t["MakeDirectoryInGuest"] = reflect.TypeOf((*MakeDirectoryInGuest)(nil)).Elem()
 52769  }
 52770  
 52771  // The parameters of `GuestFileManager.MakeDirectoryInGuest`.
 52772  type MakeDirectoryInGuestRequestType struct {
 52773  	This ManagedObjectReference `xml:"_this" json:"-"`
 52774  	// Virtual Machine to perform the operation on.
 52775  	//
 52776  	// Required privileges: VirtualMachine.GuestOperations.Modify
 52777  	//
 52778  	// Refers instance of `VirtualMachine`.
 52779  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52780  	// The guest authentication data. See
 52781  	// `GuestAuthentication`.
 52782  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 52783  	// The complete path to the directory to be created.
 52784  	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
 52785  	// Whether any parent directories
 52786  	// are to be created.
 52787  	CreateParentDirectories bool `xml:"createParentDirectories" json:"createParentDirectories"`
 52788  }
 52789  
 52790  func init() {
 52791  	t["MakeDirectoryInGuestRequestType"] = reflect.TypeOf((*MakeDirectoryInGuestRequestType)(nil)).Elem()
 52792  }
 52793  
 52794  type MakeDirectoryInGuestResponse struct {
 52795  }
 52796  
 52797  // The parameters of `FileManager.MakeDirectory`.
 52798  type MakeDirectoryRequestType struct {
 52799  	This ManagedObjectReference `xml:"_this" json:"-"`
 52800  	// The name of the folder, either a URL or a datastore path
 52801  	// referring to the folder to be created.
 52802  	Name string `xml:"name" json:"name"`
 52803  	// If <code>name</code> is a datastore path, the datacenter for
 52804  	// that datastore path. Not needed when invoked directly on ESX.
 52805  	// If not specified on a call to VirtualCenter,
 52806  	// <code>name</code> must be a URL.
 52807  	//
 52808  	// Required privileges: System.View
 52809  	//
 52810  	// Refers instance of `Datacenter`.
 52811  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 52812  	// If true, any non-existent intermediate level
 52813  	// folders will be created. If not specified,
 52814  	// it is assumed to be false.
 52815  	CreateParentDirectories *bool `xml:"createParentDirectories" json:"createParentDirectories,omitempty"`
 52816  }
 52817  
 52818  func init() {
 52819  	t["MakeDirectoryRequestType"] = reflect.TypeOf((*MakeDirectoryRequestType)(nil)).Elem()
 52820  }
 52821  
 52822  type MakeDirectoryResponse struct {
 52823  }
 52824  
 52825  // The parameters of `VirtualMachine.MakePrimaryVM_Task`.
 52826  type MakePrimaryVMRequestType struct {
 52827  	This ManagedObjectReference `xml:"_this" json:"-"`
 52828  	// The secondary virtual machine specified will be made the primary
 52829  	// virtual machine.
 52830  	// This field must specify a secondary virtual machine that is part of the fault
 52831  	// tolerant group that this virtual machine is currently associated with. It can
 52832  	// only be invoked from the primary virtual machine in the group.
 52833  	//
 52834  	// Refers instance of `VirtualMachine`.
 52835  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 52836  }
 52837  
 52838  func init() {
 52839  	t["MakePrimaryVMRequestType"] = reflect.TypeOf((*MakePrimaryVMRequestType)(nil)).Elem()
 52840  }
 52841  
 52842  type MakePrimaryVM_Task MakePrimaryVMRequestType
 52843  
 52844  func init() {
 52845  	t["MakePrimaryVM_Task"] = reflect.TypeOf((*MakePrimaryVM_Task)(nil)).Elem()
 52846  }
 52847  
 52848  type MakePrimaryVM_TaskResponse struct {
 52849  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 52850  }
 52851  
 52852  // The ManagedByInfo data object contains information about the extension
 52853  // responsible for the life-cycle of the entity.
 52854  type ManagedByInfo struct {
 52855  	DynamicData
 52856  
 52857  	// Key of the extension managing the entity.
 52858  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 52859  	// Managed entity type, as defined by the extension managing the entity.
 52860  	//
 52861  	// An extension can manage different types of entities - different kinds
 52862  	// of virtual machines, vApps, etc. - and this property is used to find
 52863  	// the corresponding `managedEntityInfo`
 52864  	// entry from the extension.
 52865  	Type string `xml:"type" json:"type"`
 52866  }
 52867  
 52868  func init() {
 52869  	t["ManagedByInfo"] = reflect.TypeOf((*ManagedByInfo)(nil)).Elem()
 52870  }
 52871  
 52872  // The general event argument for a managed entity.
 52873  type ManagedEntityEventArgument struct {
 52874  	EntityEventArgument
 52875  
 52876  	// The managed entity.
 52877  	//
 52878  	// Refers instance of `ManagedEntity`.
 52879  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 52880  }
 52881  
 52882  func init() {
 52883  	t["ManagedEntityEventArgument"] = reflect.TypeOf((*ManagedEntityEventArgument)(nil)).Elem()
 52884  }
 52885  
 52886  // A ManagedObjectNotFound exception is thrown when a request refers to
 52887  // a managed object that no longer exists or has never existed.
 52888  type ManagedObjectNotFound struct {
 52889  	RuntimeFault
 52890  
 52891  	// The managed object reference that generated the error.
 52892  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 52893  }
 52894  
 52895  func init() {
 52896  	t["ManagedObjectNotFound"] = reflect.TypeOf((*ManagedObjectNotFound)(nil)).Elem()
 52897  }
 52898  
 52899  type ManagedObjectNotFoundFault ManagedObjectNotFound
 52900  
 52901  func init() {
 52902  	t["ManagedObjectNotFoundFault"] = reflect.TypeOf((*ManagedObjectNotFoundFault)(nil)).Elem()
 52903  }
 52904  
 52905  // 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.
 52906  //
 52907  // 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.
 52908  type ManagedObjectReference struct {
 52909  	Type       string `xml:"type,attr" json:"type"`
 52910  	Value      string `xml:",chardata" json:"value"`
 52911  	ServerGUID string `xml:"serverGuid,attr,omitempty" json:"serverGuid,omitempty"`
 52912  }
 52913  
 52914  func init() {
 52915  	t["ManagedObjectReference"] = reflect.TypeOf((*ManagedObjectReference)(nil)).Elem()
 52916  }
 52917  
 52918  // The parameters of `HostStorageSystem.MarkAsLocal_Task`.
 52919  type MarkAsLocalRequestType struct {
 52920  	This ManagedObjectReference `xml:"_this" json:"-"`
 52921  	// The SCSI disk UUID.
 52922  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 52923  }
 52924  
 52925  func init() {
 52926  	t["MarkAsLocalRequestType"] = reflect.TypeOf((*MarkAsLocalRequestType)(nil)).Elem()
 52927  }
 52928  
 52929  type MarkAsLocal_Task MarkAsLocalRequestType
 52930  
 52931  func init() {
 52932  	t["MarkAsLocal_Task"] = reflect.TypeOf((*MarkAsLocal_Task)(nil)).Elem()
 52933  }
 52934  
 52935  type MarkAsLocal_TaskResponse struct {
 52936  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 52937  }
 52938  
 52939  // The parameters of `HostStorageSystem.MarkAsNonLocal_Task`.
 52940  type MarkAsNonLocalRequestType struct {
 52941  	This ManagedObjectReference `xml:"_this" json:"-"`
 52942  	// The SCSI disk UUID.
 52943  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 52944  }
 52945  
 52946  func init() {
 52947  	t["MarkAsNonLocalRequestType"] = reflect.TypeOf((*MarkAsNonLocalRequestType)(nil)).Elem()
 52948  }
 52949  
 52950  type MarkAsNonLocal_Task MarkAsNonLocalRequestType
 52951  
 52952  func init() {
 52953  	t["MarkAsNonLocal_Task"] = reflect.TypeOf((*MarkAsNonLocal_Task)(nil)).Elem()
 52954  }
 52955  
 52956  type MarkAsNonLocal_TaskResponse struct {
 52957  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 52958  }
 52959  
 52960  // The parameters of `HostStorageSystem.MarkAsNonSsd_Task`.
 52961  type MarkAsNonSsdRequestType struct {
 52962  	This ManagedObjectReference `xml:"_this" json:"-"`
 52963  	// The SCSI disk UUID.
 52964  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 52965  }
 52966  
 52967  func init() {
 52968  	t["MarkAsNonSsdRequestType"] = reflect.TypeOf((*MarkAsNonSsdRequestType)(nil)).Elem()
 52969  }
 52970  
 52971  type MarkAsNonSsd_Task MarkAsNonSsdRequestType
 52972  
 52973  func init() {
 52974  	t["MarkAsNonSsd_Task"] = reflect.TypeOf((*MarkAsNonSsd_Task)(nil)).Elem()
 52975  }
 52976  
 52977  type MarkAsNonSsd_TaskResponse struct {
 52978  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 52979  }
 52980  
 52981  // The parameters of `HostStorageSystem.MarkAsSsd_Task`.
 52982  type MarkAsSsdRequestType struct {
 52983  	This ManagedObjectReference `xml:"_this" json:"-"`
 52984  	// The SCSI disk UUID.
 52985  	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
 52986  }
 52987  
 52988  func init() {
 52989  	t["MarkAsSsdRequestType"] = reflect.TypeOf((*MarkAsSsdRequestType)(nil)).Elem()
 52990  }
 52991  
 52992  type MarkAsSsd_Task MarkAsSsdRequestType
 52993  
 52994  func init() {
 52995  	t["MarkAsSsd_Task"] = reflect.TypeOf((*MarkAsSsd_Task)(nil)).Elem()
 52996  }
 52997  
 52998  type MarkAsSsd_TaskResponse struct {
 52999  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53000  }
 53001  
 53002  type MarkAsTemplate MarkAsTemplateRequestType
 53003  
 53004  func init() {
 53005  	t["MarkAsTemplate"] = reflect.TypeOf((*MarkAsTemplate)(nil)).Elem()
 53006  }
 53007  
 53008  type MarkAsTemplateRequestType struct {
 53009  	This ManagedObjectReference `xml:"_this" json:"-"`
 53010  }
 53011  
 53012  func init() {
 53013  	t["MarkAsTemplateRequestType"] = reflect.TypeOf((*MarkAsTemplateRequestType)(nil)).Elem()
 53014  }
 53015  
 53016  type MarkAsTemplateResponse struct {
 53017  }
 53018  
 53019  type MarkAsVirtualMachine MarkAsVirtualMachineRequestType
 53020  
 53021  func init() {
 53022  	t["MarkAsVirtualMachine"] = reflect.TypeOf((*MarkAsVirtualMachine)(nil)).Elem()
 53023  }
 53024  
 53025  // The parameters of `VirtualMachine.MarkAsVirtualMachine`.
 53026  type MarkAsVirtualMachineRequestType struct {
 53027  	This ManagedObjectReference `xml:"_this" json:"-"`
 53028  	// Resource pool to associate with the virtual machine.
 53029  	//
 53030  	// Required privileges: Resource.AssignVMToPool
 53031  	//
 53032  	// Refers instance of `ResourcePool`.
 53033  	Pool ManagedObjectReference `xml:"pool" json:"pool"`
 53034  	// The target host on which the virtual machine is intended to run. The
 53035  	// host
 53036  	// parameter must specify a host that is a member of the ComputeResource
 53037  	// indirectly specified by the pool. For a stand-alone host or a cluster with
 53038  	// DRS, it can be omitted and the system selects a default.
 53039  	//
 53040  	// Refers instance of `HostSystem`.
 53041  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 53042  }
 53043  
 53044  func init() {
 53045  	t["MarkAsVirtualMachineRequestType"] = reflect.TypeOf((*MarkAsVirtualMachineRequestType)(nil)).Elem()
 53046  }
 53047  
 53048  type MarkAsVirtualMachineResponse struct {
 53049  }
 53050  
 53051  type MarkDefault MarkDefaultRequestType
 53052  
 53053  func init() {
 53054  	t["MarkDefault"] = reflect.TypeOf((*MarkDefault)(nil)).Elem()
 53055  }
 53056  
 53057  // The parameters of `CryptoManagerKmip.MarkDefault`.
 53058  type MarkDefaultRequestType struct {
 53059  	This ManagedObjectReference `xml:"_this" json:"-"`
 53060  	// \[in\] KMIP cluster ID to become default.
 53061  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 53062  }
 53063  
 53064  func init() {
 53065  	t["MarkDefaultRequestType"] = reflect.TypeOf((*MarkDefaultRequestType)(nil)).Elem()
 53066  }
 53067  
 53068  type MarkDefaultResponse struct {
 53069  }
 53070  
 53071  type MarkForRemoval MarkForRemovalRequestType
 53072  
 53073  func init() {
 53074  	t["MarkForRemoval"] = reflect.TypeOf((*MarkForRemoval)(nil)).Elem()
 53075  }
 53076  
 53077  type MarkForRemovalRequestType struct {
 53078  	This    ManagedObjectReference `xml:"_this" json:"-"`
 53079  	HbaName string                 `xml:"hbaName" json:"hbaName"`
 53080  	Remove  bool                   `xml:"remove" json:"remove"`
 53081  }
 53082  
 53083  func init() {
 53084  	t["MarkForRemovalRequestType"] = reflect.TypeOf((*MarkForRemovalRequestType)(nil)).Elem()
 53085  }
 53086  
 53087  type MarkForRemovalResponse struct {
 53088  }
 53089  
 53090  type MarkPerenniallyReserved MarkPerenniallyReservedRequestType
 53091  
 53092  func init() {
 53093  	t["MarkPerenniallyReserved"] = reflect.TypeOf((*MarkPerenniallyReserved)(nil)).Elem()
 53094  }
 53095  
 53096  // The parameters of `HostStorageSystem.MarkPerenniallyReservedEx_Task`.
 53097  type MarkPerenniallyReservedExRequestType struct {
 53098  	This ManagedObjectReference `xml:"_this" json:"-"`
 53099  	// The UUIDs of the ScsiLun devices that need a change in
 53100  	// the perennially reserved flag state.
 53101  	LunUuid []string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 53102  	// State of the ScsiLun perennially reserved flag to be set.
 53103  	State bool `xml:"state" json:"state"`
 53104  }
 53105  
 53106  func init() {
 53107  	t["MarkPerenniallyReservedExRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedExRequestType)(nil)).Elem()
 53108  }
 53109  
 53110  type MarkPerenniallyReservedEx_Task MarkPerenniallyReservedExRequestType
 53111  
 53112  func init() {
 53113  	t["MarkPerenniallyReservedEx_Task"] = reflect.TypeOf((*MarkPerenniallyReservedEx_Task)(nil)).Elem()
 53114  }
 53115  
 53116  type MarkPerenniallyReservedEx_TaskResponse struct {
 53117  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53118  }
 53119  
 53120  // The parameters of `HostStorageSystem.MarkPerenniallyReserved`.
 53121  type MarkPerenniallyReservedRequestType struct {
 53122  	This ManagedObjectReference `xml:"_this" json:"-"`
 53123  	// The UUID of the ScsiLun device to be marked as perennially
 53124  	// reserved.
 53125  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 53126  	// State of the ScsiLun perennially reserved flag to be set.
 53127  	State bool `xml:"state" json:"state"`
 53128  }
 53129  
 53130  func init() {
 53131  	t["MarkPerenniallyReservedRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedRequestType)(nil)).Elem()
 53132  }
 53133  
 53134  type MarkPerenniallyReservedResponse struct {
 53135  }
 53136  
 53137  type MarkServiceProviderEntities MarkServiceProviderEntitiesRequestType
 53138  
 53139  func init() {
 53140  	t["MarkServiceProviderEntities"] = reflect.TypeOf((*MarkServiceProviderEntities)(nil)).Elem()
 53141  }
 53142  
 53143  // The parameters of `TenantTenantManager.MarkServiceProviderEntities`.
 53144  type MarkServiceProviderEntitiesRequestType struct {
 53145  	This ManagedObjectReference `xml:"_this" json:"-"`
 53146  	// an array of management entities.
 53147  	//
 53148  	// Required privileges: TenantManager.Update
 53149  	//
 53150  	// Refers instances of `ManagedEntity`.
 53151  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 53152  }
 53153  
 53154  func init() {
 53155  	t["MarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*MarkServiceProviderEntitiesRequestType)(nil)).Elem()
 53156  }
 53157  
 53158  type MarkServiceProviderEntitiesResponse struct {
 53159  }
 53160  
 53161  // Virtual memory file format is not supported on the datastore.
 53162  type MemoryFileFormatNotSupportedByDatastore struct {
 53163  	UnsupportedDatastore
 53164  
 53165  	// The name of the Datastore.
 53166  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 53167  	// Datastore file system volume type.
 53168  	//
 53169  	// See `DatastoreSummary.type`
 53170  	Type string `xml:"type" json:"type"`
 53171  }
 53172  
 53173  func init() {
 53174  	t["MemoryFileFormatNotSupportedByDatastore"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastore)(nil)).Elem()
 53175  }
 53176  
 53177  type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore
 53178  
 53179  func init() {
 53180  	t["MemoryFileFormatNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastoreFault)(nil)).Elem()
 53181  }
 53182  
 53183  // Thrown when memory cannot be hot-added or hot-removed from the virtual machine.
 53184  type MemoryHotPlugNotSupported struct {
 53185  	VmConfigFault
 53186  }
 53187  
 53188  func init() {
 53189  	t["MemoryHotPlugNotSupported"] = reflect.TypeOf((*MemoryHotPlugNotSupported)(nil)).Elem()
 53190  }
 53191  
 53192  type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported
 53193  
 53194  func init() {
 53195  	t["MemoryHotPlugNotSupportedFault"] = reflect.TypeOf((*MemoryHotPlugNotSupportedFault)(nil)).Elem()
 53196  }
 53197  
 53198  // The memory amount of the virtual machine is not within the recommended
 53199  // memory bounds for the virtual machine's guest OS.
 53200  type MemorySizeNotRecommended struct {
 53201  	VirtualHardwareCompatibilityIssue
 53202  
 53203  	// The configured memory size of the virtual machine.
 53204  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53205  	// The minimum recommended memory size.
 53206  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 53207  	// The maximum recommended memory size.
 53208  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53209  }
 53210  
 53211  func init() {
 53212  	t["MemorySizeNotRecommended"] = reflect.TypeOf((*MemorySizeNotRecommended)(nil)).Elem()
 53213  }
 53214  
 53215  type MemorySizeNotRecommendedFault MemorySizeNotRecommended
 53216  
 53217  func init() {
 53218  	t["MemorySizeNotRecommendedFault"] = reflect.TypeOf((*MemorySizeNotRecommendedFault)(nil)).Elem()
 53219  }
 53220  
 53221  // The memory amount of the virtual machine is not within the acceptable
 53222  // guest memory bounds supported by the virtual machine's host.
 53223  type MemorySizeNotSupported struct {
 53224  	VirtualHardwareCompatibilityIssue
 53225  
 53226  	// The configured memory size of the virtual machine.
 53227  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53228  	// The minimum acceptable memory size.
 53229  	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
 53230  	// The maximum acceptable memory size.
 53231  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53232  }
 53233  
 53234  func init() {
 53235  	t["MemorySizeNotSupported"] = reflect.TypeOf((*MemorySizeNotSupported)(nil)).Elem()
 53236  }
 53237  
 53238  // The memory amount of the virtual machine is not within the acceptable
 53239  // guest memory bounds supported by the virtual machine's datastore.
 53240  type MemorySizeNotSupportedByDatastore struct {
 53241  	VirtualHardwareCompatibilityIssue
 53242  
 53243  	// The datastore which does not support the requested memory size.
 53244  	//
 53245  	// Refers instance of `Datastore`.
 53246  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 53247  	// The configured memory size of the virtual machine.
 53248  	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
 53249  	// The maximum acceptable memory size supported by the datastore.
 53250  	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
 53251  }
 53252  
 53253  func init() {
 53254  	t["MemorySizeNotSupportedByDatastore"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastore)(nil)).Elem()
 53255  }
 53256  
 53257  type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore
 53258  
 53259  func init() {
 53260  	t["MemorySizeNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastoreFault)(nil)).Elem()
 53261  }
 53262  
 53263  type MemorySizeNotSupportedFault MemorySizeNotSupported
 53264  
 53265  func init() {
 53266  	t["MemorySizeNotSupportedFault"] = reflect.TypeOf((*MemorySizeNotSupportedFault)(nil)).Elem()
 53267  }
 53268  
 53269  // Thrown if a request to take a memory snapshot is issued
 53270  // on a virtual machine with an independent disk.
 53271  type MemorySnapshotOnIndependentDisk struct {
 53272  	SnapshotFault
 53273  }
 53274  
 53275  func init() {
 53276  	t["MemorySnapshotOnIndependentDisk"] = reflect.TypeOf((*MemorySnapshotOnIndependentDisk)(nil)).Elem()
 53277  }
 53278  
 53279  type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk
 53280  
 53281  func init() {
 53282  	t["MemorySnapshotOnIndependentDiskFault"] = reflect.TypeOf((*MemorySnapshotOnIndependentDiskFault)(nil)).Elem()
 53283  }
 53284  
 53285  // The parameters of `DistributedVirtualSwitch.MergeDvs_Task`.
 53286  type MergeDvsRequestType struct {
 53287  	This ManagedObjectReference `xml:"_this" json:"-"`
 53288  	// The switch (source) to be merged
 53289  	//
 53290  	// Required privileges: DVSwitch.Delete
 53291  	//
 53292  	// Refers instance of `DistributedVirtualSwitch`.
 53293  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 53294  }
 53295  
 53296  func init() {
 53297  	t["MergeDvsRequestType"] = reflect.TypeOf((*MergeDvsRequestType)(nil)).Elem()
 53298  }
 53299  
 53300  type MergeDvs_Task MergeDvsRequestType
 53301  
 53302  func init() {
 53303  	t["MergeDvs_Task"] = reflect.TypeOf((*MergeDvs_Task)(nil)).Elem()
 53304  }
 53305  
 53306  type MergeDvs_TaskResponse struct {
 53307  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53308  }
 53309  
 53310  type MergePermissions MergePermissionsRequestType
 53311  
 53312  func init() {
 53313  	t["MergePermissions"] = reflect.TypeOf((*MergePermissions)(nil)).Elem()
 53314  }
 53315  
 53316  // The parameters of `AuthorizationManager.MergePermissions`.
 53317  type MergePermissionsRequestType struct {
 53318  	This ManagedObjectReference `xml:"_this" json:"-"`
 53319  	// The ID of the source role providing the permissions
 53320  	// which are changing.
 53321  	SrcRoleId int32 `xml:"srcRoleId" json:"srcRoleId"`
 53322  	// The ID of the destination role to which the
 53323  	// permissions are reassigned.
 53324  	DstRoleId int32 `xml:"dstRoleId" json:"dstRoleId"`
 53325  }
 53326  
 53327  func init() {
 53328  	t["MergePermissionsRequestType"] = reflect.TypeOf((*MergePermissionsRequestType)(nil)).Elem()
 53329  }
 53330  
 53331  type MergePermissionsResponse struct {
 53332  }
 53333  
 53334  // This data object type defines an operation and its arguments, invoked
 53335  // on a particular entity.
 53336  type MethodAction struct {
 53337  	Action
 53338  
 53339  	// Name of the operation.
 53340  	Name string `xml:"name" json:"name"`
 53341  	// An array consisting of the arguments for the operation.
 53342  	Argument []MethodActionArgument `xml:"argument,omitempty" json:"argument,omitempty"`
 53343  }
 53344  
 53345  func init() {
 53346  	t["MethodAction"] = reflect.TypeOf((*MethodAction)(nil)).Elem()
 53347  }
 53348  
 53349  // This data object type defines a named argument for an operation.
 53350  type MethodActionArgument struct {
 53351  	DynamicData
 53352  
 53353  	// The value of the argument.
 53354  	Value AnyType `xml:"value,typeattr" json:"value"`
 53355  }
 53356  
 53357  func init() {
 53358  	t["MethodActionArgument"] = reflect.TypeOf((*MethodActionArgument)(nil)).Elem()
 53359  }
 53360  
 53361  // A MethodAlreadyDisabledFault fault is thrown when an attempt
 53362  // is made to disable a method that is already disabled.
 53363  type MethodAlreadyDisabledFault struct {
 53364  	RuntimeFault
 53365  
 53366  	SourceId string `xml:"sourceId" json:"sourceId"`
 53367  }
 53368  
 53369  func init() {
 53370  	t["MethodAlreadyDisabledFault"] = reflect.TypeOf((*MethodAlreadyDisabledFault)(nil)).Elem()
 53371  }
 53372  
 53373  type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault
 53374  
 53375  func init() {
 53376  	t["MethodAlreadyDisabledFaultFault"] = reflect.TypeOf((*MethodAlreadyDisabledFaultFault)(nil)).Elem()
 53377  }
 53378  
 53379  // Static strings used for describing an object model method.
 53380  type MethodDescription struct {
 53381  	Description
 53382  
 53383  	// Method being described.
 53384  	Key string `xml:"key" json:"key"`
 53385  }
 53386  
 53387  func init() {
 53388  	t["MethodDescription"] = reflect.TypeOf((*MethodDescription)(nil)).Elem()
 53389  }
 53390  
 53391  // A MethodDisabled fault is thrown if a disabled method
 53392  // is invoked by the client.
 53393  //
 53394  // The method denote an invalid state
 53395  // operation or may have been explicitly disabled.
 53396  type MethodDisabled struct {
 53397  	RuntimeFault
 53398  
 53399  	Source string `xml:"source,omitempty" json:"source,omitempty"`
 53400  }
 53401  
 53402  func init() {
 53403  	t["MethodDisabled"] = reflect.TypeOf((*MethodDisabled)(nil)).Elem()
 53404  }
 53405  
 53406  type MethodDisabledFault MethodDisabled
 53407  
 53408  func init() {
 53409  	t["MethodDisabledFault"] = reflect.TypeOf((*MethodDisabledFault)(nil)).Elem()
 53410  }
 53411  
 53412  // The base data object type for all the object model faults
 53413  // that an application might handle.
 53414  type MethodFault struct {
 53415  	// Fault which is the cause of this fault.
 53416  	FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty" json:"faultCause,omitempty"`
 53417  	// Message which has details about the error
 53418  	// Message can also contain a key to message catalog which
 53419  	// can be used to generate better localized messages.
 53420  	FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty" json:"faultMessage,omitempty"`
 53421  }
 53422  
 53423  func init() {
 53424  	t["MethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem()
 53425  }
 53426  
 53427  type MethodFaultFault BaseMethodFault
 53428  
 53429  func init() {
 53430  	t["MethodFaultFault"] = reflect.TypeOf((*MethodFaultFault)(nil)).Elem()
 53431  }
 53432  
 53433  // MethodNotFound is thrown to indicate that a method called on a managed
 53434  // object does not exist.
 53435  type MethodNotFound struct {
 53436  	InvalidRequest
 53437  
 53438  	// The receiver of the call
 53439  	Receiver ManagedObjectReference `xml:"receiver" json:"receiver"`
 53440  	// The method called.
 53441  	Method string `xml:"method" json:"method"`
 53442  }
 53443  
 53444  func init() {
 53445  	t["MethodNotFound"] = reflect.TypeOf((*MethodNotFound)(nil)).Elem()
 53446  }
 53447  
 53448  type MethodNotFoundFault MethodNotFound
 53449  
 53450  func init() {
 53451  	t["MethodNotFoundFault"] = reflect.TypeOf((*MethodNotFoundFault)(nil)).Elem()
 53452  }
 53453  
 53454  // An alarm expression that uses a metric as the condition that triggers an
 53455  // alarm.
 53456  //
 53457  // Base type.
 53458  //
 53459  // There are two alarm operands: yellow and red. At least one of them
 53460  // must be set. The value of the alarm expression is determined as follows:
 53461  //   - If the host is not connected, the host metric expression is gray.
 53462  //   - If the vm is not connected, the vm metric expression is gray.
 53463  //   - If red is set but yellow is not, the expression is red when
 53464  //     the metric is over (isAbove operator) or under (isBelow operator)
 53465  //     the red value. Otherwise, the expression is green.
 53466  //   - If yellow is set but red is not, the expression is yellow when
 53467  //     the metric is over (isAbove) or under (isBelow)
 53468  //     the yellow value. Otherwise, the expression is green.
 53469  //   - If both yellow and red are set, the value of the expression is red
 53470  //     when the metric is over (isAbove) or under (isBelow) the red value.
 53471  //     Otherwise, the expression is yellow when the metric is over (isAbove)
 53472  //     or under (isBelow) the yellow value. Otherwise, the expression is green.
 53473  type MetricAlarmExpression struct {
 53474  	AlarmExpression
 53475  
 53476  	// The operation to be tested on the metric.
 53477  	Operator MetricAlarmOperator `xml:"operator" json:"operator"`
 53478  	// Name of the object type containing the property.
 53479  	Type string `xml:"type" json:"type"`
 53480  	// The instance of the metric.
 53481  	Metric PerfMetricId `xml:"metric" json:"metric"`
 53482  	// Whether or not to test for a yellow condition.
 53483  	//
 53484  	// If not set, do not calculate yellow status.
 53485  	// If set, it contains the threshold value that triggers yellow status.
 53486  	Yellow int32 `xml:"yellow,omitempty" json:"yellow,omitempty"`
 53487  	// Time interval in seconds for which the yellow condition must be true
 53488  	// before the yellow status is triggered.
 53489  	//
 53490  	// If unset, the yellow status is
 53491  	// triggered immediately when the yellow condition becomes true.
 53492  	YellowInterval int32 `xml:"yellowInterval,omitempty" json:"yellowInterval,omitempty"`
 53493  	// Whether or not to test for a red condition.
 53494  	//
 53495  	// If not set, do not calculate red status.
 53496  	// If set, it contains the threshold value that triggers red status.
 53497  	Red int32 `xml:"red,omitempty" json:"red,omitempty"`
 53498  	// Time interval in seconds for which the red condition must be true
 53499  	// before the red status is triggered.
 53500  	//
 53501  	// If unset, the red status is
 53502  	// triggered immediately when the red condition becomes true.
 53503  	RedInterval int32 `xml:"redInterval,omitempty" json:"redInterval,omitempty"`
 53504  }
 53505  
 53506  func init() {
 53507  	t["MetricAlarmExpression"] = reflect.TypeOf((*MetricAlarmExpression)(nil)).Elem()
 53508  }
 53509  
 53510  // The parameters of `VirtualMachine.MigrateVM_Task`.
 53511  type MigrateVMRequestType struct {
 53512  	This ManagedObjectReference `xml:"_this" json:"-"`
 53513  	// The target resource pool for the virtual machine. If the pool
 53514  	// parameter is left unset, the virtual machine's current pool is used
 53515  	// as the target pool.
 53516  	//
 53517  	// Required privileges: Resource.AssignVMToPool
 53518  	//
 53519  	// Refers instance of `ResourcePool`.
 53520  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 53521  	// The target host to which the virtual machine is intended to migrate.
 53522  	// The host parameter
 53523  	// may be left unset if the compute resource associated with the
 53524  	// target pool represents a stand-alone host or a DRS-enabled cluster.
 53525  	// In the former case the stand-alone host is used as the target host.
 53526  	// In the latter case, the DRS system selects an appropriate
 53527  	// target host from the cluster.
 53528  	//
 53529  	// Refers instance of `HostSystem`.
 53530  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 53531  	// The task priority (@see vim.VirtualMachine.MovePriority).
 53532  	Priority VirtualMachineMovePriority `xml:"priority" json:"priority"`
 53533  	// If specified, the virtual machine migrates only if
 53534  	// its state matches the specified state.
 53535  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 53536  }
 53537  
 53538  func init() {
 53539  	t["MigrateVMRequestType"] = reflect.TypeOf((*MigrateVMRequestType)(nil)).Elem()
 53540  }
 53541  
 53542  type MigrateVM_Task MigrateVMRequestType
 53543  
 53544  func init() {
 53545  	t["MigrateVM_Task"] = reflect.TypeOf((*MigrateVM_Task)(nil)).Elem()
 53546  }
 53547  
 53548  type MigrateVM_TaskResponse struct {
 53549  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 53550  }
 53551  
 53552  // An MigrationDisabled fault is thrown if the
 53553  // migration failed due to disabled migration
 53554  type MigrationDisabled struct {
 53555  	MigrationFault
 53556  }
 53557  
 53558  func init() {
 53559  	t["MigrationDisabled"] = reflect.TypeOf((*MigrationDisabled)(nil)).Elem()
 53560  }
 53561  
 53562  type MigrationDisabledFault MigrationDisabled
 53563  
 53564  func init() {
 53565  	t["MigrationDisabledFault"] = reflect.TypeOf((*MigrationDisabledFault)(nil)).Elem()
 53566  }
 53567  
 53568  // A migration error.
 53569  type MigrationErrorEvent struct {
 53570  	MigrationEvent
 53571  }
 53572  
 53573  func init() {
 53574  	t["MigrationErrorEvent"] = reflect.TypeOf((*MigrationErrorEvent)(nil)).Elem()
 53575  }
 53576  
 53577  // These are events used to describe migration warning and errors
 53578  type MigrationEvent struct {
 53579  	VmEvent
 53580  
 53581  	// The fault that describes the migration issue.
 53582  	//
 53583  	// This is typically either a
 53584  	// MigrationFault or a VmConfigFault.
 53585  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 53586  }
 53587  
 53588  func init() {
 53589  	t["MigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem()
 53590  }
 53591  
 53592  // Base object type for issues that can occur when reassigning the execution
 53593  // host of a virtual machine using migrate or relocate.
 53594  //
 53595  // These issues are typically
 53596  // used as argument in the MigrationEvent. When a MigrationFault is used as a value
 53597  // in a MigrationEvent, the type of MigrationEvent determines if the issue is a
 53598  // warning or an error (for example, MigrationHostWarningEvent or
 53599  // MigrationHostErrorEvent). When thrown as an exception, the fault is an error.
 53600  //
 53601  // Issues are categorized as errors or warnings according to the following
 53602  // criteria:
 53603  //
 53604  // If the virtual machine is powered on:
 53605  //  1. Error for fatal problems with the VMotion interfaces or licensing.
 53606  //  2. Error if VMotion would fail.
 53607  //  3. Error if VMotion would in any way interrupt the continuous and consistent
 53608  //     operation of the virtual machine.
 53609  //  4. Warning for potential performance or connectivity problems between the
 53610  //     source and destination VMotion interfaces.
 53611  //  5. Warning if the virtual machine's currently disconnected devices may not
 53612  //     be connectable after VMotion.
 53613  //
 53614  // If the virtual machine is powered off or suspended:
 53615  //  1. Error if the destination host cannot access all the files that comprise
 53616  //     the virtual machine (including virtual disks).
 53617  //  2. Error if aspects of the virtual machine are not supported by the
 53618  //     destination host's hardware or software.
 53619  //  3. Warning if problems would occur when powering on or resuming the
 53620  //     virtual machine, if the usage/configuration of the destination
 53621  //     host were to remain in its current state.
 53622  type MigrationFault struct {
 53623  	VimFault
 53624  }
 53625  
 53626  func init() {
 53627  	t["MigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem()
 53628  }
 53629  
 53630  type MigrationFaultFault BaseMigrationFault
 53631  
 53632  func init() {
 53633  	t["MigrationFaultFault"] = reflect.TypeOf((*MigrationFaultFault)(nil)).Elem()
 53634  }
 53635  
 53636  // A migration operation that requires feature support on source and
 53637  // destination hosts is lacking support on the host.
 53638  type MigrationFeatureNotSupported struct {
 53639  	MigrationFault
 53640  
 53641  	// Whether this error is for the source host.
 53642  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 53643  	// The name of the host.
 53644  	FailedHostName string `xml:"failedHostName" json:"failedHostName"`
 53645  	// The host.
 53646  	//
 53647  	// Refers instance of `HostSystem`.
 53648  	FailedHost ManagedObjectReference `xml:"failedHost" json:"failedHost"`
 53649  }
 53650  
 53651  func init() {
 53652  	t["MigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem()
 53653  }
 53654  
 53655  type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported
 53656  
 53657  func init() {
 53658  	t["MigrationFeatureNotSupportedFault"] = reflect.TypeOf((*MigrationFeatureNotSupportedFault)(nil)).Elem()
 53659  }
 53660  
 53661  // A migration error that includes the destination host.
 53662  type MigrationHostErrorEvent struct {
 53663  	MigrationEvent
 53664  
 53665  	// The name of the destination host.
 53666  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53667  }
 53668  
 53669  func init() {
 53670  	t["MigrationHostErrorEvent"] = reflect.TypeOf((*MigrationHostErrorEvent)(nil)).Elem()
 53671  }
 53672  
 53673  // A migration warning that includes the destination host.
 53674  type MigrationHostWarningEvent struct {
 53675  	MigrationEvent
 53676  
 53677  	// The name of the destination host.
 53678  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53679  }
 53680  
 53681  func init() {
 53682  	t["MigrationHostWarningEvent"] = reflect.TypeOf((*MigrationHostWarningEvent)(nil)).Elem()
 53683  }
 53684  
 53685  // The VM to be migrated is not ready for the migration operation.
 53686  //
 53687  // This might
 53688  // because the VM is still in the progress of powering on or resuming from a
 53689  // suspended state.
 53690  type MigrationNotReady struct {
 53691  	MigrationFault
 53692  
 53693  	Reason string `xml:"reason" json:"reason"`
 53694  }
 53695  
 53696  func init() {
 53697  	t["MigrationNotReady"] = reflect.TypeOf((*MigrationNotReady)(nil)).Elem()
 53698  }
 53699  
 53700  type MigrationNotReadyFault MigrationNotReady
 53701  
 53702  func init() {
 53703  	t["MigrationNotReadyFault"] = reflect.TypeOf((*MigrationNotReadyFault)(nil)).Elem()
 53704  }
 53705  
 53706  // A migration error that includes both the destination host and resource pool.
 53707  type MigrationResourceErrorEvent struct {
 53708  	MigrationEvent
 53709  
 53710  	// The name of the destination resource pool.
 53711  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 53712  	// The name of the destination host.
 53713  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53714  }
 53715  
 53716  func init() {
 53717  	t["MigrationResourceErrorEvent"] = reflect.TypeOf((*MigrationResourceErrorEvent)(nil)).Elem()
 53718  }
 53719  
 53720  // A migration warning that includes both the destination host and resource pool.
 53721  type MigrationResourceWarningEvent struct {
 53722  	MigrationEvent
 53723  
 53724  	// The name of the destination resource pool.
 53725  	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
 53726  	// The name of the destination host.
 53727  	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
 53728  }
 53729  
 53730  func init() {
 53731  	t["MigrationResourceWarningEvent"] = reflect.TypeOf((*MigrationResourceWarningEvent)(nil)).Elem()
 53732  }
 53733  
 53734  // A migration warning.
 53735  type MigrationWarningEvent struct {
 53736  	MigrationEvent
 53737  }
 53738  
 53739  func init() {
 53740  	t["MigrationWarningEvent"] = reflect.TypeOf((*MigrationWarningEvent)(nil)).Elem()
 53741  }
 53742  
 53743  // A MismatchedBundle fault is thrown when the bundle supplied for
 53744  // `HostFirmwareSystem.RestoreFirmwareConfiguration` does not match the
 53745  // specifications of the host
 53746  type MismatchedBundle struct {
 53747  	VimFault
 53748  
 53749  	// The uuid of the host that the bundle was generated for
 53750  	BundleUuid string `xml:"bundleUuid" json:"bundleUuid"`
 53751  	// The uuid of the host
 53752  	HostUuid string `xml:"hostUuid" json:"hostUuid"`
 53753  	// The build number of the host that the bundle was generated for
 53754  	BundleBuildNumber int32 `xml:"bundleBuildNumber" json:"bundleBuildNumber"`
 53755  	// The build number of the host
 53756  	HostBuildNumber int32 `xml:"hostBuildNumber" json:"hostBuildNumber"`
 53757  }
 53758  
 53759  func init() {
 53760  	t["MismatchedBundle"] = reflect.TypeOf((*MismatchedBundle)(nil)).Elem()
 53761  }
 53762  
 53763  type MismatchedBundleFault MismatchedBundle
 53764  
 53765  func init() {
 53766  	t["MismatchedBundleFault"] = reflect.TypeOf((*MismatchedBundleFault)(nil)).Elem()
 53767  }
 53768  
 53769  // Deprecated as of vSphere API 5.5, use `CannotUseNetwork` with
 53770  // a correct reason for the fault.
 53771  //
 53772  // The virtual machine network uses different offload or security
 53773  // policies on the destination host than on the source host.
 53774  //
 53775  // This is an error
 53776  // if the virtual machine is currently connected to the network, and a warning
 53777  // otherwise.
 53778  type MismatchedNetworkPolicies struct {
 53779  	MigrationFault
 53780  
 53781  	// The label of the interface device.
 53782  	Device string `xml:"device" json:"device"`
 53783  	// The name of the network.
 53784  	Backing string `xml:"backing" json:"backing"`
 53785  	// The connected/disconnected state of the device.
 53786  	Connected bool `xml:"connected" json:"connected"`
 53787  }
 53788  
 53789  func init() {
 53790  	t["MismatchedNetworkPolicies"] = reflect.TypeOf((*MismatchedNetworkPolicies)(nil)).Elem()
 53791  }
 53792  
 53793  type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies
 53794  
 53795  func init() {
 53796  	t["MismatchedNetworkPoliciesFault"] = reflect.TypeOf((*MismatchedNetworkPoliciesFault)(nil)).Elem()
 53797  }
 53798  
 53799  // The source and destination hosts do not use the same network name for
 53800  // their VMotion interfaces.
 53801  //
 53802  // This is a warning for migrating powered-on virtual
 53803  // machines.
 53804  type MismatchedVMotionNetworkNames struct {
 53805  	MigrationFault
 53806  
 53807  	// The name of the network used by the source host VMotion interface.
 53808  	SourceNetwork string `xml:"sourceNetwork" json:"sourceNetwork"`
 53809  	// The name of the network used by the destination host VMotion interface.
 53810  	DestNetwork string `xml:"destNetwork" json:"destNetwork"`
 53811  }
 53812  
 53813  func init() {
 53814  	t["MismatchedVMotionNetworkNames"] = reflect.TypeOf((*MismatchedVMotionNetworkNames)(nil)).Elem()
 53815  }
 53816  
 53817  type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames
 53818  
 53819  func init() {
 53820  	t["MismatchedVMotionNetworkNamesFault"] = reflect.TypeOf((*MismatchedVMotionNetworkNamesFault)(nil)).Elem()
 53821  }
 53822  
 53823  // A MissingBmcSuppport fault is thrown when a host's BMC doesn't support IPMI.
 53824  //
 53825  // BMC (Board Management Controller) is a piece of hardware required for IPMI.
 53826  type MissingBmcSupport struct {
 53827  	VimFault
 53828  }
 53829  
 53830  func init() {
 53831  	t["MissingBmcSupport"] = reflect.TypeOf((*MissingBmcSupport)(nil)).Elem()
 53832  }
 53833  
 53834  type MissingBmcSupportFault MissingBmcSupport
 53835  
 53836  func init() {
 53837  	t["MissingBmcSupportFault"] = reflect.TypeOf((*MissingBmcSupportFault)(nil)).Elem()
 53838  }
 53839  
 53840  // A controller key has not been specified for a new device
 53841  // that requires a controller, such as a disk or CD-ROM device.
 53842  type MissingController struct {
 53843  	InvalidDeviceSpec
 53844  }
 53845  
 53846  func init() {
 53847  	t["MissingController"] = reflect.TypeOf((*MissingController)(nil)).Elem()
 53848  }
 53849  
 53850  type MissingControllerFault MissingController
 53851  
 53852  func init() {
 53853  	t["MissingControllerFault"] = reflect.TypeOf((*MissingControllerFault)(nil)).Elem()
 53854  }
 53855  
 53856  // No IP pool is associated with a network.
 53857  type MissingIpPool struct {
 53858  	VAppPropertyFault
 53859  }
 53860  
 53861  func init() {
 53862  	t["MissingIpPool"] = reflect.TypeOf((*MissingIpPool)(nil)).Elem()
 53863  }
 53864  
 53865  type MissingIpPoolFault MissingIpPool
 53866  
 53867  func init() {
 53868  	t["MissingIpPoolFault"] = reflect.TypeOf((*MissingIpPoolFault)(nil)).Elem()
 53869  }
 53870  
 53871  // Usable open source components required for Linux customization were not found
 53872  // on the server.
 53873  type MissingLinuxCustResources struct {
 53874  	CustomizationFault
 53875  }
 53876  
 53877  func init() {
 53878  	t["MissingLinuxCustResources"] = reflect.TypeOf((*MissingLinuxCustResources)(nil)).Elem()
 53879  }
 53880  
 53881  type MissingLinuxCustResourcesFault MissingLinuxCustResources
 53882  
 53883  func init() {
 53884  	t["MissingLinuxCustResourcesFault"] = reflect.TypeOf((*MissingLinuxCustResourcesFault)(nil)).Elem()
 53885  }
 53886  
 53887  // No IP configuration exists for network.
 53888  type MissingNetworkIpConfig struct {
 53889  	VAppPropertyFault
 53890  }
 53891  
 53892  func init() {
 53893  	t["MissingNetworkIpConfig"] = reflect.TypeOf((*MissingNetworkIpConfig)(nil)).Elem()
 53894  }
 53895  
 53896  type MissingNetworkIpConfigFault MissingNetworkIpConfig
 53897  
 53898  func init() {
 53899  	t["MissingNetworkIpConfigFault"] = reflect.TypeOf((*MissingNetworkIpConfigFault)(nil)).Elem()
 53900  }
 53901  
 53902  // Used for reporting missing objects that were explicitly referenced by a
 53903  // filter spec.
 53904  //
 53905  // In other words, any of the objects referenced in `PropertyFilterSpec.objectSet`
 53906  type MissingObject struct {
 53907  	DynamicData
 53908  
 53909  	// The object that is being reported missing
 53910  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 53911  	// Fault describing the failure to lookup this object
 53912  	//
 53913  	// The possible faults for missing objects are:
 53914  	//   - `SystemError` if there was some unknown problem
 53915  	//     looking up the object
 53916  	//   - `ManagedObjectNotFound` if the object is no
 53917  	//     longer available
 53918  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 53919  }
 53920  
 53921  func init() {
 53922  	t["MissingObject"] = reflect.TypeOf((*MissingObject)(nil)).Elem()
 53923  }
 53924  
 53925  // Attempting to power-off a vApp for which no virtual machines has been
 53926  // configured to power off.
 53927  type MissingPowerOffConfiguration struct {
 53928  	VAppConfigFault
 53929  }
 53930  
 53931  func init() {
 53932  	t["MissingPowerOffConfiguration"] = reflect.TypeOf((*MissingPowerOffConfiguration)(nil)).Elem()
 53933  }
 53934  
 53935  type MissingPowerOffConfigurationFault MissingPowerOffConfiguration
 53936  
 53937  func init() {
 53938  	t["MissingPowerOffConfigurationFault"] = reflect.TypeOf((*MissingPowerOffConfigurationFault)(nil)).Elem()
 53939  }
 53940  
 53941  // Attempting to power-on a vApp service for which no virtual machines has been
 53942  // configured to power on.
 53943  type MissingPowerOnConfiguration struct {
 53944  	VAppConfigFault
 53945  }
 53946  
 53947  func init() {
 53948  	t["MissingPowerOnConfiguration"] = reflect.TypeOf((*MissingPowerOnConfiguration)(nil)).Elem()
 53949  }
 53950  
 53951  type MissingPowerOnConfigurationFault MissingPowerOnConfiguration
 53952  
 53953  func init() {
 53954  	t["MissingPowerOnConfigurationFault"] = reflect.TypeOf((*MissingPowerOnConfigurationFault)(nil)).Elem()
 53955  }
 53956  
 53957  // Used for reporting properties for which values could not be retrieved.
 53958  type MissingProperty struct {
 53959  	DynamicData
 53960  
 53961  	// Property for which a value could not be retrieved
 53962  	Path string `xml:"path" json:"path"`
 53963  	// Fault describing the failure to retrieve the property value.
 53964  	//
 53965  	// The possible faults for missing properties are:
 53966  	//   - `SystemError` if there was some unknown problem
 53967  	//     reading the value
 53968  	//   - `SecurityError` if the logged in session did
 53969  	//     not have permission to read the value
 53970  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 53971  }
 53972  
 53973  func init() {
 53974  	t["MissingProperty"] = reflect.TypeOf((*MissingProperty)(nil)).Elem()
 53975  }
 53976  
 53977  // A usable sysprep file was not found on the server.
 53978  type MissingWindowsCustResources struct {
 53979  	CustomizationFault
 53980  }
 53981  
 53982  func init() {
 53983  	t["MissingWindowsCustResources"] = reflect.TypeOf((*MissingWindowsCustResources)(nil)).Elem()
 53984  }
 53985  
 53986  type MissingWindowsCustResourcesFault MissingWindowsCustResources
 53987  
 53988  func init() {
 53989  	t["MissingWindowsCustResourcesFault"] = reflect.TypeOf((*MissingWindowsCustResourcesFault)(nil)).Elem()
 53990  }
 53991  
 53992  // Thrown when a mouse-keyboard-screen connection ticket to a virtual machine
 53993  // cannot be granted because the configured connection limit has been reached.
 53994  type MksConnectionLimitReached struct {
 53995  	InvalidState
 53996  
 53997  	// MKS connection limit for the virtual machine.
 53998  	ConnectionLimit int32 `xml:"connectionLimit" json:"connectionLimit"`
 53999  }
 54000  
 54001  func init() {
 54002  	t["MksConnectionLimitReached"] = reflect.TypeOf((*MksConnectionLimitReached)(nil)).Elem()
 54003  }
 54004  
 54005  type MksConnectionLimitReachedFault MksConnectionLimitReached
 54006  
 54007  func init() {
 54008  	t["MksConnectionLimitReachedFault"] = reflect.TypeOf((*MksConnectionLimitReachedFault)(nil)).Elem()
 54009  }
 54010  
 54011  // The FileAccess.Modes data object type defines the known access modes
 54012  // for a datastore.
 54013  //
 54014  // The property values specify how to interpret
 54015  // the "what" property for a FileAccess object.
 54016  type ModeInfo struct {
 54017  	DynamicData
 54018  
 54019  	// Can see the existence of a file.
 54020  	Browse string `xml:"browse,omitempty" json:"browse,omitempty"`
 54021  	// Can read a file.
 54022  	Read string `xml:"read" json:"read"`
 54023  	// Can read and write a file.
 54024  	Modify string `xml:"modify" json:"modify"`
 54025  	// Can execute or operate a file or look inside a directory.
 54026  	Use string `xml:"use" json:"use"`
 54027  	// Can change permissions for a file.
 54028  	Admin string `xml:"admin,omitempty" json:"admin,omitempty"`
 54029  	// Can do anything to a file, including change permissions.
 54030  	Full string `xml:"full" json:"full"`
 54031  }
 54032  
 54033  func init() {
 54034  	t["ModeInfo"] = reflect.TypeOf((*ModeInfo)(nil)).Elem()
 54035  }
 54036  
 54037  type ModifyListView ModifyListViewRequestType
 54038  
 54039  func init() {
 54040  	t["ModifyListView"] = reflect.TypeOf((*ModifyListView)(nil)).Elem()
 54041  }
 54042  
 54043  // The parameters of `ListView.ModifyListView`.
 54044  type ModifyListViewRequestType struct {
 54045  	This ManagedObjectReference `xml:"_this" json:"-"`
 54046  	// Optional list of objects to add to the view.
 54047  	//
 54048  	// Required privileges: System.View
 54049  	Add []ManagedObjectReference `xml:"add,omitempty" json:"add,omitempty"`
 54050  	// Optional list of objects to remove from the view.
 54051  	//
 54052  	// Required privileges: System.View
 54053  	Remove []ManagedObjectReference `xml:"remove,omitempty" json:"remove,omitempty"`
 54054  }
 54055  
 54056  func init() {
 54057  	t["ModifyListViewRequestType"] = reflect.TypeOf((*ModifyListViewRequestType)(nil)).Elem()
 54058  }
 54059  
 54060  type ModifyListViewResponse struct {
 54061  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 54062  }
 54063  
 54064  // The `MonthlyByDayTaskScheduler` data object sets the time for monthly
 54065  // task execution.
 54066  //
 54067  // You can set the schedule for task execution
 54068  // on one day during the month, and you complete the schedule by
 54069  // setting the inherited properties for the hour and minute.
 54070  //
 54071  // By default the scheduler executes the task on the specified day
 54072  // every month. If you set the interval to a value greater than 1,
 54073  // the task will execute at the specified monthly interval.
 54074  // (For example, an interval of 2 will cause the task to execute
 54075  // on the specified day, hour, and minute every 2 months.)
 54076  type MonthlyByDayTaskScheduler struct {
 54077  	MonthlyTaskScheduler
 54078  
 54079  	// The day in every month to run the scheduled task.
 54080  	//
 54081  	// Valid values are 1 to 31.
 54082  	//
 54083  	// In any month where the value of "day" exceeds the total number of days
 54084  	// in the month, the scheduled task will run on the last day of the month.
 54085  	Day int32 `xml:"day" json:"day"`
 54086  }
 54087  
 54088  func init() {
 54089  	t["MonthlyByDayTaskScheduler"] = reflect.TypeOf((*MonthlyByDayTaskScheduler)(nil)).Elem()
 54090  }
 54091  
 54092  // The `MonthlyByWeekdayTaskScheduler` data object sets the time for
 54093  // monthly task execution.
 54094  //
 54095  // You identify a single day for task execution
 54096  // by specifying the week of the month and day of the week, and you
 54097  // complete the schedule by setting the inherited properties for the
 54098  // hour and minute.
 54099  //
 54100  // By default, the scheduler executes the task on the specified day
 54101  // every month. If you set the interval to a value greater than 1,
 54102  // the task will execute at the specified monthly interval. (For example,
 54103  // an interval of 2 will cause the task to execute on the specified
 54104  // day, hour, and minute every 2 months.)
 54105  type MonthlyByWeekdayTaskScheduler struct {
 54106  	MonthlyTaskScheduler
 54107  
 54108  	// The week in the month during which the scheduled task is to run.
 54109  	Offset WeekOfMonth `xml:"offset" json:"offset"`
 54110  	// The day in the week when the scheduled task is to run.
 54111  	Weekday DayOfWeek `xml:"weekday" json:"weekday"`
 54112  }
 54113  
 54114  func init() {
 54115  	t["MonthlyByWeekdayTaskScheduler"] = reflect.TypeOf((*MonthlyByWeekdayTaskScheduler)(nil)).Elem()
 54116  }
 54117  
 54118  // The `MonthlyTaskScheduler` data object is the base type for
 54119  // the monthly schedulers (`MonthlyByDayTaskScheduler` and
 54120  // `MonthlyByWeekdayTaskScheduler`).
 54121  type MonthlyTaskScheduler struct {
 54122  	DailyTaskScheduler
 54123  }
 54124  
 54125  func init() {
 54126  	t["MonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem()
 54127  }
 54128  
 54129  // Customization failed because the customization process was unable to mount a remote
 54130  // virtual disk file.
 54131  type MountError struct {
 54132  	CustomizationFault
 54133  
 54134  	// The virtual machine to be customized.
 54135  	//
 54136  	// Refers instance of `VirtualMachine`.
 54137  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54138  	// Index into the virtual machine's device list,
 54139  	// representing the key value that identifies the virtual device
 54140  	// that is the presumed boot disk.
 54141  	DiskIndex int32 `xml:"diskIndex" json:"diskIndex"`
 54142  }
 54143  
 54144  func init() {
 54145  	t["MountError"] = reflect.TypeOf((*MountError)(nil)).Elem()
 54146  }
 54147  
 54148  type MountErrorFault MountError
 54149  
 54150  func init() {
 54151  	t["MountErrorFault"] = reflect.TypeOf((*MountErrorFault)(nil)).Elem()
 54152  }
 54153  
 54154  type MountToolsInstaller MountToolsInstallerRequestType
 54155  
 54156  func init() {
 54157  	t["MountToolsInstaller"] = reflect.TypeOf((*MountToolsInstaller)(nil)).Elem()
 54158  }
 54159  
 54160  type MountToolsInstallerRequestType struct {
 54161  	This ManagedObjectReference `xml:"_this" json:"-"`
 54162  }
 54163  
 54164  func init() {
 54165  	t["MountToolsInstallerRequestType"] = reflect.TypeOf((*MountToolsInstallerRequestType)(nil)).Elem()
 54166  }
 54167  
 54168  type MountToolsInstallerResponse struct {
 54169  }
 54170  
 54171  type MountVffsVolume MountVffsVolumeRequestType
 54172  
 54173  func init() {
 54174  	t["MountVffsVolume"] = reflect.TypeOf((*MountVffsVolume)(nil)).Elem()
 54175  }
 54176  
 54177  // The parameters of `HostStorageSystem.MountVffsVolume`.
 54178  type MountVffsVolumeRequestType struct {
 54179  	This     ManagedObjectReference `xml:"_this" json:"-"`
 54180  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 54181  }
 54182  
 54183  func init() {
 54184  	t["MountVffsVolumeRequestType"] = reflect.TypeOf((*MountVffsVolumeRequestType)(nil)).Elem()
 54185  }
 54186  
 54187  type MountVffsVolumeResponse struct {
 54188  }
 54189  
 54190  type MountVmfsVolume MountVmfsVolumeRequestType
 54191  
 54192  func init() {
 54193  	t["MountVmfsVolume"] = reflect.TypeOf((*MountVmfsVolume)(nil)).Elem()
 54194  }
 54195  
 54196  // The parameters of `HostStorageSystem.MountVmfsVolumeEx_Task`.
 54197  type MountVmfsVolumeExRequestType struct {
 54198  	This ManagedObjectReference `xml:"_this" json:"-"`
 54199  	// each element specifies the UUID of a VMFS volume to be unmounted.
 54200  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 54201  }
 54202  
 54203  func init() {
 54204  	t["MountVmfsVolumeExRequestType"] = reflect.TypeOf((*MountVmfsVolumeExRequestType)(nil)).Elem()
 54205  }
 54206  
 54207  type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType
 54208  
 54209  func init() {
 54210  	t["MountVmfsVolumeEx_Task"] = reflect.TypeOf((*MountVmfsVolumeEx_Task)(nil)).Elem()
 54211  }
 54212  
 54213  type MountVmfsVolumeEx_TaskResponse struct {
 54214  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54215  }
 54216  
 54217  // The parameters of `HostStorageSystem.MountVmfsVolume`.
 54218  type MountVmfsVolumeRequestType struct {
 54219  	This     ManagedObjectReference `xml:"_this" json:"-"`
 54220  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 54221  }
 54222  
 54223  func init() {
 54224  	t["MountVmfsVolumeRequestType"] = reflect.TypeOf((*MountVmfsVolumeRequestType)(nil)).Elem()
 54225  }
 54226  
 54227  type MountVmfsVolumeResponse struct {
 54228  }
 54229  
 54230  // The parameters of `DistributedVirtualSwitch.MoveDVPort_Task`.
 54231  type MoveDVPortRequestType struct {
 54232  	This ManagedObjectReference `xml:"_this" json:"-"`
 54233  	// The keys of the ports to be moved into the portgroup.
 54234  	PortKey []string `xml:"portKey" json:"portKey"`
 54235  	// The key of the portgroup to be moved into.
 54236  	// If unset, the port will be moved under the switch.
 54237  	DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty" json:"destinationPortgroupKey,omitempty"`
 54238  }
 54239  
 54240  func init() {
 54241  	t["MoveDVPortRequestType"] = reflect.TypeOf((*MoveDVPortRequestType)(nil)).Elem()
 54242  }
 54243  
 54244  type MoveDVPort_Task MoveDVPortRequestType
 54245  
 54246  func init() {
 54247  	t["MoveDVPort_Task"] = reflect.TypeOf((*MoveDVPort_Task)(nil)).Elem()
 54248  }
 54249  
 54250  type MoveDVPort_TaskResponse struct {
 54251  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54252  }
 54253  
 54254  // The parameters of `FileManager.MoveDatastoreFile_Task`.
 54255  type MoveDatastoreFileRequestType struct {
 54256  	This ManagedObjectReference `xml:"_this" json:"-"`
 54257  	// The name of the source, either a URL or a datastore path
 54258  	// referring to the file or folder to be moved.
 54259  	SourceName string `xml:"sourceName" json:"sourceName"`
 54260  	// If <code>sourceName</code> is a datastore path, the
 54261  	// datacenter for that datastore path.
 54262  	// Not needed when invoked directly on ESX.
 54263  	// If not specified on a call to VirtualCenter,
 54264  	// <code>sourceName</code> must be a URL.
 54265  	//
 54266  	// Required privileges: System.View
 54267  	//
 54268  	// Refers instance of `Datacenter`.
 54269  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 54270  	// The name of the destination, either a URL or a
 54271  	// datastore path referring to the destination file or folder.
 54272  	DestinationName string `xml:"destinationName" json:"destinationName"`
 54273  	// If <code>destinationName</code> is a datastore
 54274  	// path, the datacenter for that datastore path.
 54275  	// Not needed when invoked directly on ESX.
 54276  	// If not specified on a call to VirtualCenter, it is assumed that
 54277  	// the destination path belongs to the source datacenter.
 54278  	//
 54279  	// Required privileges: System.View
 54280  	//
 54281  	// Refers instance of `Datacenter`.
 54282  	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
 54283  	// If true, overwrite any identically named file
 54284  	// at the destination. If not specified, it is assumed to be false.
 54285  	Force *bool `xml:"force" json:"force,omitempty"`
 54286  }
 54287  
 54288  func init() {
 54289  	t["MoveDatastoreFileRequestType"] = reflect.TypeOf((*MoveDatastoreFileRequestType)(nil)).Elem()
 54290  }
 54291  
 54292  type MoveDatastoreFile_Task MoveDatastoreFileRequestType
 54293  
 54294  func init() {
 54295  	t["MoveDatastoreFile_Task"] = reflect.TypeOf((*MoveDatastoreFile_Task)(nil)).Elem()
 54296  }
 54297  
 54298  type MoveDatastoreFile_TaskResponse struct {
 54299  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54300  }
 54301  
 54302  type MoveDirectoryInGuest MoveDirectoryInGuestRequestType
 54303  
 54304  func init() {
 54305  	t["MoveDirectoryInGuest"] = reflect.TypeOf((*MoveDirectoryInGuest)(nil)).Elem()
 54306  }
 54307  
 54308  // The parameters of `GuestFileManager.MoveDirectoryInGuest`.
 54309  type MoveDirectoryInGuestRequestType struct {
 54310  	This ManagedObjectReference `xml:"_this" json:"-"`
 54311  	// Virtual Machine to perform the operation on.
 54312  	//
 54313  	// Required privileges: VirtualMachine.GuestOperations.Modify
 54314  	//
 54315  	// Refers instance of `VirtualMachine`.
 54316  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54317  	// The guest authentication data. See
 54318  	// `GuestAuthentication`.
 54319  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 54320  	// The complete path to the directory to be moved.
 54321  	SrcDirectoryPath string `xml:"srcDirectoryPath" json:"srcDirectoryPath"`
 54322  	// The complete path to the where the directory is
 54323  	// moved or its new name. It cannot be a path to an existing directory
 54324  	// or an existing file.
 54325  	DstDirectoryPath string `xml:"dstDirectoryPath" json:"dstDirectoryPath"`
 54326  }
 54327  
 54328  func init() {
 54329  	t["MoveDirectoryInGuestRequestType"] = reflect.TypeOf((*MoveDirectoryInGuestRequestType)(nil)).Elem()
 54330  }
 54331  
 54332  type MoveDirectoryInGuestResponse struct {
 54333  }
 54334  
 54335  type MoveFileInGuest MoveFileInGuestRequestType
 54336  
 54337  func init() {
 54338  	t["MoveFileInGuest"] = reflect.TypeOf((*MoveFileInGuest)(nil)).Elem()
 54339  }
 54340  
 54341  // The parameters of `GuestFileManager.MoveFileInGuest`.
 54342  type MoveFileInGuestRequestType struct {
 54343  	This ManagedObjectReference `xml:"_this" json:"-"`
 54344  	// Virtual Machine to perform the operation on.
 54345  	//
 54346  	// Required privileges: VirtualMachine.GuestOperations.Modify
 54347  	//
 54348  	// Refers instance of `VirtualMachine`.
 54349  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 54350  	// The guest authentication data. See
 54351  	// `GuestAuthentication`.
 54352  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 54353  	// The complete path to the original file or
 54354  	// symbolic link to be moved.
 54355  	SrcFilePath string `xml:"srcFilePath" json:"srcFilePath"`
 54356  	// The complete path to the where the file is renamed.
 54357  	// It cannot be a path to an existing directory.
 54358  	DstFilePath string `xml:"dstFilePath" json:"dstFilePath"`
 54359  	// If set, the destination file is clobbered.
 54360  	Overwrite bool `xml:"overwrite" json:"overwrite"`
 54361  }
 54362  
 54363  func init() {
 54364  	t["MoveFileInGuestRequestType"] = reflect.TypeOf((*MoveFileInGuestRequestType)(nil)).Elem()
 54365  }
 54366  
 54367  type MoveFileInGuestResponse struct {
 54368  }
 54369  
 54370  // The parameters of `ClusterComputeResource.MoveHostInto_Task`.
 54371  type MoveHostIntoRequestType struct {
 54372  	This ManagedObjectReference `xml:"_this" json:"-"`
 54373  	// The list of hosts to move into the cluster.
 54374  	//
 54375  	// Required privileges: Host.Inventory.MoveHost
 54376  	//
 54377  	// Refers instance of `HostSystem`.
 54378  	Host ManagedObjectReference `xml:"host" json:"host"`
 54379  	// The resource pool to match the root resource pool of
 54380  	// stand-alone hosts. This argument has no effect if the host is part of a
 54381  	// cluster.
 54382  	//
 54383  	// Refers instance of `ResourcePool`.
 54384  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 54385  }
 54386  
 54387  func init() {
 54388  	t["MoveHostIntoRequestType"] = reflect.TypeOf((*MoveHostIntoRequestType)(nil)).Elem()
 54389  }
 54390  
 54391  type MoveHostInto_Task MoveHostIntoRequestType
 54392  
 54393  func init() {
 54394  	t["MoveHostInto_Task"] = reflect.TypeOf((*MoveHostInto_Task)(nil)).Elem()
 54395  }
 54396  
 54397  type MoveHostInto_TaskResponse struct {
 54398  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54399  }
 54400  
 54401  // The parameters of `Folder.MoveIntoFolder_Task`.
 54402  type MoveIntoFolderRequestType struct {
 54403  	This ManagedObjectReference `xml:"_this" json:"-"`
 54404  	// The list of objects to be moved into the folder.
 54405  	//
 54406  	// Refers instances of `ManagedEntity`.
 54407  	List []ManagedObjectReference `xml:"list" json:"list"`
 54408  }
 54409  
 54410  func init() {
 54411  	t["MoveIntoFolderRequestType"] = reflect.TypeOf((*MoveIntoFolderRequestType)(nil)).Elem()
 54412  }
 54413  
 54414  type MoveIntoFolder_Task MoveIntoFolderRequestType
 54415  
 54416  func init() {
 54417  	t["MoveIntoFolder_Task"] = reflect.TypeOf((*MoveIntoFolder_Task)(nil)).Elem()
 54418  }
 54419  
 54420  type MoveIntoFolder_TaskResponse struct {
 54421  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54422  }
 54423  
 54424  // The parameters of `ClusterComputeResource.MoveInto_Task`.
 54425  type MoveIntoRequestType struct {
 54426  	This ManagedObjectReference `xml:"_this" json:"-"`
 54427  	// The list of hosts to move into the cluster.
 54428  	//
 54429  	// Required privileges: Host.Inventory.MoveHost
 54430  	//
 54431  	// Refers instances of `HostSystem`.
 54432  	Host []ManagedObjectReference `xml:"host" json:"host"`
 54433  }
 54434  
 54435  func init() {
 54436  	t["MoveIntoRequestType"] = reflect.TypeOf((*MoveIntoRequestType)(nil)).Elem()
 54437  }
 54438  
 54439  type MoveIntoResourcePool MoveIntoResourcePoolRequestType
 54440  
 54441  func init() {
 54442  	t["MoveIntoResourcePool"] = reflect.TypeOf((*MoveIntoResourcePool)(nil)).Elem()
 54443  }
 54444  
 54445  // The parameters of `ResourcePool.MoveIntoResourcePool`.
 54446  type MoveIntoResourcePoolRequestType struct {
 54447  	This ManagedObjectReference `xml:"_this" json:"-"`
 54448  	// A list of ResourcePool and VirtualMachine objects.
 54449  	//
 54450  	// Refers instances of `ManagedEntity`.
 54451  	List []ManagedObjectReference `xml:"list" json:"list"`
 54452  }
 54453  
 54454  func init() {
 54455  	t["MoveIntoResourcePoolRequestType"] = reflect.TypeOf((*MoveIntoResourcePoolRequestType)(nil)).Elem()
 54456  }
 54457  
 54458  type MoveIntoResourcePoolResponse struct {
 54459  }
 54460  
 54461  type MoveInto_Task MoveIntoRequestType
 54462  
 54463  func init() {
 54464  	t["MoveInto_Task"] = reflect.TypeOf((*MoveInto_Task)(nil)).Elem()
 54465  }
 54466  
 54467  type MoveInto_TaskResponse struct {
 54468  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54469  }
 54470  
 54471  // The parameters of `VirtualDiskManager.MoveVirtualDisk_Task`.
 54472  type MoveVirtualDiskRequestType struct {
 54473  	This ManagedObjectReference `xml:"_this" json:"-"`
 54474  	// The name of the source, either a datastore path
 54475  	// or a URL referring to the virtual disk to be moved.
 54476  	SourceName string `xml:"sourceName" json:"sourceName"`
 54477  	// If <code>sourceName</code> is a datastore path, the
 54478  	// datacenter for that datastore path.
 54479  	// Not needed when invoked directly on ESX.
 54480  	// If not specified on a call to VirtualCenter,
 54481  	// <code>sourceName</code> must be a URL.
 54482  	//
 54483  	// Refers instance of `Datacenter`.
 54484  	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 54485  	// The name of the destination, either a datastore path
 54486  	// or a URL referring to the destination virtual disk.
 54487  	DestName string `xml:"destName" json:"destName"`
 54488  	// If <code>destName</code> is a datastore
 54489  	// path, the datacenter for that datastore path.
 54490  	// Not needed when invoked directly on ESX.
 54491  	// If not specified on a call to VirtualCenter, it is assumed that
 54492  	// the destination path belongs to the source datacenter.
 54493  	//
 54494  	// Refers instance of `Datacenter`.
 54495  	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 54496  	// If true, overwrite any indentically named disk at the destination.
 54497  	// If not specified, it is assumed to be false
 54498  	Force *bool `xml:"force" json:"force,omitempty"`
 54499  	// User can specify new set of profile when moving virtual disk.
 54500  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 54501  }
 54502  
 54503  func init() {
 54504  	t["MoveVirtualDiskRequestType"] = reflect.TypeOf((*MoveVirtualDiskRequestType)(nil)).Elem()
 54505  }
 54506  
 54507  type MoveVirtualDisk_Task MoveVirtualDiskRequestType
 54508  
 54509  func init() {
 54510  	t["MoveVirtualDisk_Task"] = reflect.TypeOf((*MoveVirtualDisk_Task)(nil)).Elem()
 54511  }
 54512  
 54513  type MoveVirtualDisk_TaskResponse struct {
 54514  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 54515  }
 54516  
 54517  // The value of MTU configured in the vSphere Distributed Switch
 54518  // matches physical switch.
 54519  type MtuMatchEvent struct {
 54520  	DvsHealthStatusChangeEvent
 54521  }
 54522  
 54523  func init() {
 54524  	t["MtuMatchEvent"] = reflect.TypeOf((*MtuMatchEvent)(nil)).Elem()
 54525  }
 54526  
 54527  // The value of MTU configured in the vSphere Distributed Switch
 54528  // mismatches physical switch.
 54529  type MtuMismatchEvent struct {
 54530  	DvsHealthStatusChangeEvent
 54531  }
 54532  
 54533  func init() {
 54534  	t["MtuMismatchEvent"] = reflect.TypeOf((*MtuMismatchEvent)(nil)).Elem()
 54535  }
 54536  
 54537  // The multi-writer sharing of the specified virtual disk is not supported.
 54538  //
 54539  // Typically, this fault is returned as part of a parent fault like
 54540  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 54541  // virtual disk's multi-writer sharing needs to be changed before fault
 54542  // tolerance can be enabled on the associated virtual machine.
 54543  type MultiWriterNotSupported struct {
 54544  	DeviceNotSupported
 54545  }
 54546  
 54547  func init() {
 54548  	t["MultiWriterNotSupported"] = reflect.TypeOf((*MultiWriterNotSupported)(nil)).Elem()
 54549  }
 54550  
 54551  type MultiWriterNotSupportedFault MultiWriterNotSupported
 54552  
 54553  func init() {
 54554  	t["MultiWriterNotSupportedFault"] = reflect.TypeOf((*MultiWriterNotSupportedFault)(nil)).Elem()
 54555  }
 54556  
 54557  // MultipleCertificatesVerifyFault is thrown by the host connect method
 54558  // `HostSystem.ReconnectHost_Task` as well as the methods to add a host to
 54559  // VirtualCenter (`Folder.AddStandaloneHost_Task` and
 54560  // `ClusterComputeResource.AddHost_Task`) if VirtualCenter detects that the
 54561  // host has different SSL certificates for different management ports.
 54562  //
 54563  // This
 54564  // can occur, for example, if an ESX 2.x host has different SSL certificates
 54565  // for the authd service (port 902) and the Management UI port (port 443).
 54566  // VirtualCenter is not able to manage such hosts. To fix this issue, the user
 54567  // should modify the host to ensure there is only one certificate for
 54568  // all services. Alternatively, different certificates are allowed as long as each
 54569  // certificate is verifiable (trusted) by the VirtualCenter server.
 54570  type MultipleCertificatesVerifyFault struct {
 54571  	HostConnectFault
 54572  
 54573  	// The thumbprints (and associated ports) used by the services on the host.
 54574  	ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData" json:"thumbprintData"`
 54575  }
 54576  
 54577  func init() {
 54578  	t["MultipleCertificatesVerifyFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFault)(nil)).Elem()
 54579  }
 54580  
 54581  type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault
 54582  
 54583  func init() {
 54584  	t["MultipleCertificatesVerifyFaultFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultFault)(nil)).Elem()
 54585  }
 54586  
 54587  type MultipleCertificatesVerifyFaultThumbprintData struct {
 54588  	DynamicData
 54589  
 54590  	// The port used by the service.
 54591  	Port int32 `xml:"port" json:"port"`
 54592  	// The SSL thumbprint of the host's certificate used by the service.
 54593  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 54594  }
 54595  
 54596  func init() {
 54597  	t["MultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem()
 54598  }
 54599  
 54600  // Fault thrown when an attempt is made to create a second snapshot on a VM that only
 54601  // supports a single snapshot at a time.
 54602  type MultipleSnapshotsNotSupported struct {
 54603  	SnapshotFault
 54604  }
 54605  
 54606  func init() {
 54607  	t["MultipleSnapshotsNotSupported"] = reflect.TypeOf((*MultipleSnapshotsNotSupported)(nil)).Elem()
 54608  }
 54609  
 54610  type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported
 54611  
 54612  func init() {
 54613  	t["MultipleSnapshotsNotSupportedFault"] = reflect.TypeOf((*MultipleSnapshotsNotSupportedFault)(nil)).Elem()
 54614  }
 54615  
 54616  // This event records when a NAS datastore is created.
 54617  type NASDatastoreCreatedEvent struct {
 54618  	HostEvent
 54619  
 54620  	// The associated datastore.
 54621  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 54622  	// Url of the associated datastore.
 54623  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 54624  }
 54625  
 54626  func init() {
 54627  	t["NASDatastoreCreatedEvent"] = reflect.TypeOf((*NASDatastoreCreatedEvent)(nil)).Elem()
 54628  }
 54629  
 54630  // NamePasswordAuthentication contains the information necessary to authenticate
 54631  // within a guest using a name and password.
 54632  //
 54633  // This is the typical method for
 54634  // authentication within a guest and the one currently used by VIX.
 54635  // This method of authentication is stateless.
 54636  //
 54637  // To use NamePasswordAuthentication, populate username and password with the
 54638  // appropriate login information. You should not use `GuestAuthManager.AcquireCredentialsInGuest`
 54639  // or `GuestAuthManager.ReleaseCredentialsInGuest` for NamePasswordAuthentication.
 54640  //
 54641  // Once populated, you can use NamePasswordAuthentication in any guest operations function call.
 54642  type NamePasswordAuthentication struct {
 54643  	GuestAuthentication
 54644  
 54645  	// The user name for Name-Password authentication.
 54646  	Username string `xml:"username" json:"username"`
 54647  	// The password for Name-Password authentication.
 54648  	Password string `xml:"password" json:"password"`
 54649  }
 54650  
 54651  func init() {
 54652  	t["NamePasswordAuthentication"] = reflect.TypeOf((*NamePasswordAuthentication)(nil)).Elem()
 54653  }
 54654  
 54655  // A NamespaceFull fault is thrown when an operation
 54656  // on namespace requires more space to complete.
 54657  type NamespaceFull struct {
 54658  	VimFault
 54659  
 54660  	// The namespace in question.
 54661  	Name string `xml:"name" json:"name"`
 54662  	// Current maximum size.
 54663  	CurrentMaxSize int64 `xml:"currentMaxSize" json:"currentMaxSize"`
 54664  	// Size necessary to complete operation.
 54665  	//
 54666  	// If not present,
 54667  	// system was not able to determine how much space would
 54668  	// be necessary to complete operation.
 54669  	RequiredSize int64 `xml:"requiredSize,omitempty" json:"requiredSize,omitempty"`
 54670  }
 54671  
 54672  func init() {
 54673  	t["NamespaceFull"] = reflect.TypeOf((*NamespaceFull)(nil)).Elem()
 54674  }
 54675  
 54676  type NamespaceFullFault NamespaceFull
 54677  
 54678  func init() {
 54679  	t["NamespaceFullFault"] = reflect.TypeOf((*NamespaceFullFault)(nil)).Elem()
 54680  }
 54681  
 54682  // A NamespaceLimitReached fault is thrown when the maximum allowed
 54683  // namespaces for a virtual machine will be exceeded.
 54684  type NamespaceLimitReached struct {
 54685  	VimFault
 54686  
 54687  	// Allowed maximum number of namespaces per virtual machine.
 54688  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 54689  }
 54690  
 54691  func init() {
 54692  	t["NamespaceLimitReached"] = reflect.TypeOf((*NamespaceLimitReached)(nil)).Elem()
 54693  }
 54694  
 54695  type NamespaceLimitReachedFault NamespaceLimitReached
 54696  
 54697  func init() {
 54698  	t["NamespaceLimitReachedFault"] = reflect.TypeOf((*NamespaceLimitReachedFault)(nil)).Elem()
 54699  }
 54700  
 54701  // A NamespaceWriteProtected fault is thrown when an operation
 54702  // on namespace fails because namespace is write-protected.
 54703  type NamespaceWriteProtected struct {
 54704  	VimFault
 54705  
 54706  	// The namespace in question.
 54707  	Name string `xml:"name" json:"name"`
 54708  }
 54709  
 54710  func init() {
 54711  	t["NamespaceWriteProtected"] = reflect.TypeOf((*NamespaceWriteProtected)(nil)).Elem()
 54712  }
 54713  
 54714  type NamespaceWriteProtectedFault NamespaceWriteProtected
 54715  
 54716  func init() {
 54717  	t["NamespaceWriteProtectedFault"] = reflect.TypeOf((*NamespaceWriteProtectedFault)(nil)).Elem()
 54718  }
 54719  
 54720  // Base class for all network-attached storage configuration faults.
 54721  type NasConfigFault struct {
 54722  	HostConfigFault
 54723  
 54724  	// Name of the Nas datastore being configured.
 54725  	Name string `xml:"name" json:"name"`
 54726  }
 54727  
 54728  func init() {
 54729  	t["NasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem()
 54730  }
 54731  
 54732  type NasConfigFaultFault BaseNasConfigFault
 54733  
 54734  func init() {
 54735  	t["NasConfigFaultFault"] = reflect.TypeOf((*NasConfigFaultFault)(nil)).Elem()
 54736  }
 54737  
 54738  // This fault is thrown when an operation to configure a CIFS volume fails
 54739  // because the request exceeds the maximum allowed connections on this host
 54740  // for the specified remote path.
 54741  type NasConnectionLimitReached struct {
 54742  	NasConfigFault
 54743  
 54744  	// The host that runs the NFS server.
 54745  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 54746  	// The remote share.
 54747  	RemotePath string `xml:"remotePath" json:"remotePath"`
 54748  }
 54749  
 54750  func init() {
 54751  	t["NasConnectionLimitReached"] = reflect.TypeOf((*NasConnectionLimitReached)(nil)).Elem()
 54752  }
 54753  
 54754  type NasConnectionLimitReachedFault NasConnectionLimitReached
 54755  
 54756  func init() {
 54757  	t["NasConnectionLimitReachedFault"] = reflect.TypeOf((*NasConnectionLimitReachedFault)(nil)).Elem()
 54758  }
 54759  
 54760  // Information details about a network-attached storage
 54761  // (NAS) datastore.
 54762  type NasDatastoreInfo struct {
 54763  	DatastoreInfo
 54764  
 54765  	// The NFS mount information for the datastore.
 54766  	//
 54767  	// May not
 54768  	// be available when the datastore is not accessible.
 54769  	Nas *HostNasVolume `xml:"nas,omitempty" json:"nas,omitempty"`
 54770  }
 54771  
 54772  func init() {
 54773  	t["NasDatastoreInfo"] = reflect.TypeOf((*NasDatastoreInfo)(nil)).Elem()
 54774  }
 54775  
 54776  // This fault is thrown when an operation to configure a CIFS volume fails
 54777  // when attempting to log on more than once with the same user name.
 54778  type NasSessionCredentialConflict struct {
 54779  	NasConfigFault
 54780  
 54781  	// The host that runs the NFS server.
 54782  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 54783  	// The remote share.
 54784  	RemotePath string `xml:"remotePath" json:"remotePath"`
 54785  	UserName   string `xml:"userName" json:"userName"`
 54786  }
 54787  
 54788  func init() {
 54789  	t["NasSessionCredentialConflict"] = reflect.TypeOf((*NasSessionCredentialConflict)(nil)).Elem()
 54790  }
 54791  
 54792  type NasSessionCredentialConflictFault NasSessionCredentialConflict
 54793  
 54794  func init() {
 54795  	t["NasSessionCredentialConflictFault"] = reflect.TypeOf((*NasSessionCredentialConflictFault)(nil)).Elem()
 54796  }
 54797  
 54798  // The `NasStorageProfile` data object represents one NAS datastore configuration.
 54799  //
 54800  // Use the `ApplyProfile.policy` list for access to configuration data
 54801  // for the NAS storage profile. Use the `ApplyProfile.property` list
 54802  // for access to subprofile configuration data, if any.
 54803  type NasStorageProfile struct {
 54804  	ApplyProfile
 54805  
 54806  	// Linkable identifier.
 54807  	Key string `xml:"key" json:"key"`
 54808  }
 54809  
 54810  func init() {
 54811  	t["NasStorageProfile"] = reflect.TypeOf((*NasStorageProfile)(nil)).Elem()
 54812  }
 54813  
 54814  // This fault is thrown when an operation to configure a NAS datastore
 54815  // fails because the specified NFS volume is not mounted.
 54816  type NasVolumeNotMounted struct {
 54817  	NasConfigFault
 54818  
 54819  	// The host that runs the NFS server.
 54820  	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
 54821  	// The remote share.
 54822  	RemotePath string `xml:"remotePath" json:"remotePath"`
 54823  }
 54824  
 54825  func init() {
 54826  	t["NasVolumeNotMounted"] = reflect.TypeOf((*NasVolumeNotMounted)(nil)).Elem()
 54827  }
 54828  
 54829  type NasVolumeNotMountedFault NasVolumeNotMounted
 54830  
 54831  func init() {
 54832  	t["NasVolumeNotMountedFault"] = reflect.TypeOf((*NasVolumeNotMountedFault)(nil)).Elem()
 54833  }
 54834  
 54835  // The base class for any type of setting or configuration to which negation
 54836  // can be applied.
 54837  //
 54838  // When used in a configuration information object:
 54839  // if `NegatableExpression.negate` is true, then ~(objectValue) will be used for the
 54840  // configuration. If false, then objectValue will be used as it is.
 54841  type NegatableExpression struct {
 54842  	DynamicData
 54843  
 54844  	// Whether the configuration needs to be negated or not.
 54845  	Negate *bool `xml:"negate" json:"negate,omitempty"`
 54846  }
 54847  
 54848  func init() {
 54849  	t["NegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem()
 54850  }
 54851  
 54852  // This data object type describes the NetBIOS configuration of
 54853  // an operating system.
 54854  type NetBIOSConfigInfo struct {
 54855  	DynamicData
 54856  
 54857  	// NetBIOS configuration mode.
 54858  	//
 54859  	// The supported values are described by
 54860  	// `NetBIOSConfigInfoMode_enum`.
 54861  	Mode string `xml:"mode" json:"mode"`
 54862  }
 54863  
 54864  func init() {
 54865  	t["NetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem()
 54866  }
 54867  
 54868  // Dynamic Host Configuration Protocol reporting for IP version 4 and version 6.
 54869  type NetDhcpConfigInfo struct {
 54870  	DynamicData
 54871  
 54872  	// IPv6 DHCP client settings.
 54873  	Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 54874  	// IPv4 DHCP client settings.
 54875  	Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 54876  }
 54877  
 54878  func init() {
 54879  	t["NetDhcpConfigInfo"] = reflect.TypeOf((*NetDhcpConfigInfo)(nil)).Elem()
 54880  }
 54881  
 54882  // Provides for reporting of DHCP client.
 54883  //
 54884  // This data object may be used
 54885  // at a per interface or per system scope.
 54886  type NetDhcpConfigInfoDhcpOptions struct {
 54887  	DynamicData
 54888  
 54889  	// Report state of dhcp client services.
 54890  	Enable bool `xml:"enable" json:"enable"`
 54891  	// Platform specific settings for DHCP Client.
 54892  	//
 54893  	// The key part is a unique number, the value part
 54894  	// is the platform specific configuration command.
 54895  	// For example on Linux, BSD systems using the file dhclient.conf
 54896  	// output would be reported at system scope:
 54897  	// key='1', value='timeout 60;'
 54898  	// key='2', value='reboot 10;'
 54899  	// output reported at per interface scope:
 54900  	// key='1', value='prepend domain-name-servers 192.0.2.1;'
 54901  	// key='2', value='equire subnet-mask, domain-name-servers;'
 54902  	Config []KeyValue `xml:"config,omitempty" json:"config,omitempty"`
 54903  }
 54904  
 54905  func init() {
 54906  	t["NetDhcpConfigInfoDhcpOptions"] = reflect.TypeOf((*NetDhcpConfigInfoDhcpOptions)(nil)).Elem()
 54907  }
 54908  
 54909  // Dynamic Host Configuration Protocol Configuration for IP version 4 and version 6.
 54910  type NetDhcpConfigSpec struct {
 54911  	DynamicData
 54912  
 54913  	// Configure IPv6 DHCP client settings.
 54914  	Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
 54915  	// Configure IPv4 DHCP client settings.
 54916  	Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
 54917  }
 54918  
 54919  func init() {
 54920  	t["NetDhcpConfigSpec"] = reflect.TypeOf((*NetDhcpConfigSpec)(nil)).Elem()
 54921  }
 54922  
 54923  // Provides for configuration of IPv6
 54924  type NetDhcpConfigSpecDhcpOptionsSpec struct {
 54925  	DynamicData
 54926  
 54927  	// Enable or disable dhcp for IPv4.
 54928  	Enable *bool `xml:"enable" json:"enable,omitempty"`
 54929  	// Platform specific settings for DHCP Client.
 54930  	//
 54931  	// The key part is a unique number, the value part
 54932  	// is the platform specific configuration command.
 54933  	// See `NetDhcpConfigInfo` for value formatting.
 54934  	Config []KeyValue `xml:"config" json:"config"`
 54935  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 54936  	Operation string `xml:"operation" json:"operation"`
 54937  }
 54938  
 54939  func init() {
 54940  	t["NetDhcpConfigSpecDhcpOptionsSpec"] = reflect.TypeOf((*NetDhcpConfigSpecDhcpOptionsSpec)(nil)).Elem()
 54941  }
 54942  
 54943  // Domain Name Server (DNS) Configuration Specification -
 54944  // a data object for reporting the configuration of RFC 1034 client side DNS settings.
 54945  type NetDnsConfigInfo struct {
 54946  	DynamicData
 54947  
 54948  	// Indicates whether or not dynamic host control
 54949  	// protocol (DHCP) is used to configure DNS configuration.
 54950  	Dhcp bool `xml:"dhcp" json:"dhcp"`
 54951  	// The host name portion of DNS name.
 54952  	//
 54953  	// For example, "esx01" part of
 54954  	// esx01.example.com.
 54955  	HostName string `xml:"hostName" json:"hostName"`
 54956  	// The domain name portion of the DNS name.
 54957  	//
 54958  	// "example.com" part of
 54959  	// esx01.example.com.
 54960  	DomainName string `xml:"domainName" json:"domainName"`
 54961  	// The IP addresses of the DNS servers in order of use.
 54962  	//
 54963  	// IPv4 addresses are specified using
 54964  	// dotted decimal notation. For example, "192.0.2.1".
 54965  	// IPv6 addresses are 128-bit addresses represented as
 54966  	// eight fields of up to four hexadecimal digits.
 54967  	// A colon separates each field (:). For example,
 54968  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 54969  	// symbol '::' to represent multiple 16-bit groups of
 54970  	// contiguous 0's only once in an address as described in RFC 2373.
 54971  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 54972  	// The domain in which to search for hosts, placed in order of preference.
 54973  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 54974  }
 54975  
 54976  func init() {
 54977  	t["NetDnsConfigInfo"] = reflect.TypeOf((*NetDnsConfigInfo)(nil)).Elem()
 54978  }
 54979  
 54980  // Domain Name Server (DNS) Configuration Specification -
 54981  // a data object for configuring the RFC 1034 client side DNS settings.
 54982  //
 54983  // TBD: remove this section, only for discussing what goes into this object.
 54984  // Place properties here that are specific to the RFC/common to all systems.
 54985  // Properties that are platform specific should go into a separate config spec.
 54986  // http://technet.microsoft.com/en-us/library/cc778792.aspx
 54987  // http://en.wikipedia.org/wiki/Microsoft\_DNS
 54988  type NetDnsConfigSpec struct {
 54989  	DynamicData
 54990  
 54991  	// The flag to indicate whether or not dynamic host control
 54992  	// protocol (DHCP) will be used to set DNS configuration automatically.
 54993  	//
 54994  	// See vim.net.DhcpConfigSpec
 54995  	Dhcp *bool `xml:"dhcp" json:"dhcp,omitempty"`
 54996  	// The host name portion of DNS name.
 54997  	//
 54998  	// For example,
 54999  	// "esx01" part of esx01.example.com. The rules for forming a hostname
 55000  	// are specified in RFC 1034.
 55001  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 55002  	// The domain name portion of the DNS name.
 55003  	//
 55004  	// This would be the
 55005  	// "example.com" part of esx01.example.com. The rules for forming
 55006  	// a domain name are defined in RFC 1034.
 55007  	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
 55008  	// Unicast IP address(s) of one or more DNS servers in order of use.
 55009  	//
 55010  	// IPv4 addresses are specified using
 55011  	// dotted decimal notation. For example, "192.0.2.1".
 55012  	// IPv6 addresses are 128-bit addresses represented as
 55013  	// eight fields of up to four hexadecimal digits.
 55014  	// A colon separates each field (:). For example,
 55015  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55016  	// symbol '::' to represent multiple 16-bit groups of
 55017  	// contiguous 0's only once in an address as described in RFC 2373.
 55018  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55019  	// The domain in which to search for hosts in order of preference.
 55020  	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
 55021  }
 55022  
 55023  func init() {
 55024  	t["NetDnsConfigSpec"] = reflect.TypeOf((*NetDnsConfigSpec)(nil)).Elem()
 55025  }
 55026  
 55027  // Protocol version independent address reporting data object for network
 55028  // interfaces.
 55029  type NetIpConfigInfo struct {
 55030  	DynamicData
 55031  
 55032  	// Zero, one or more manual (static) assigned IP addresses to be configured
 55033  	// on a given interface.
 55034  	IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55035  	// Client side DHCP for a given interface.
 55036  	Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 55037  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 55038  	// to acquire an IPv6 address and default gateway route from zero, one or more
 55039  	// routers on the connected network.
 55040  	//
 55041  	// If not set then ICMPv6 is not available on this system,
 55042  	// See vim.host.Network.Capabilities
 55043  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 55044  }
 55045  
 55046  func init() {
 55047  	t["NetIpConfigInfo"] = reflect.TypeOf((*NetIpConfigInfo)(nil)).Elem()
 55048  }
 55049  
 55050  // Information about a specific IP Address.
 55051  type NetIpConfigInfoIpAddress struct {
 55052  	DynamicData
 55053  
 55054  	// IPv4 address is specified using dotted decimal notation.
 55055  	//
 55056  	// For example, "192.0.2.1".
 55057  	// IPv6 addresses are 128-bit addresses represented as eight fields
 55058  	// of up to four hexadecimal digits.
 55059  	// A colon separates each field (:). For example,
 55060  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55061  	// symbol '::' to represent multiple 16-bit groups of
 55062  	// contiguous 0's only once in an address as described in RFC 2373.
 55063  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55064  	// Denotes the length of a generic Internet network address
 55065  	// prefix.
 55066  	//
 55067  	// The prefix length for IPv4 the value range is 0-32.
 55068  	// For IPv6 prefixLength is a decimal value range 0-128.
 55069  	// A value of n corresponds to an IP address mask
 55070  	// that has n contiguous 1-bits from the most significant
 55071  	// bit (MSB), with all other bits set to 0.
 55072  	// A value of zero is valid only if the calling context defines
 55073  	// it.
 55074  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55075  	// How this address was configured.
 55076  	//
 55077  	// This can be
 55078  	// one of the values from the enum IpAddressOrigin
 55079  	// See `NetIpConfigInfoIpAddressOrigin_enum` for values.
 55080  	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
 55081  	// The state of this ipAddress.
 55082  	//
 55083  	// Can be one of `NetIpConfigInfoIpAddressStatus_enum`.
 55084  	State string `xml:"state,omitempty" json:"state,omitempty"`
 55085  	// The time when will this address expire.
 55086  	//
 55087  	// Durning this time
 55088  	// `state` may change states but is still visible
 55089  	// from the network.
 55090  	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
 55091  }
 55092  
 55093  func init() {
 55094  	t["NetIpConfigInfoIpAddress"] = reflect.TypeOf((*NetIpConfigInfoIpAddress)(nil)).Elem()
 55095  }
 55096  
 55097  // Internet Protocol Address Configuration for version 4 and version 6.
 55098  type NetIpConfigSpec struct {
 55099  	DynamicData
 55100  
 55101  	// A set of manual (static) IP addresses to be configured on a given interface.
 55102  	IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55103  	// Configure client side DHCP for a given interface.
 55104  	Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
 55105  	// Enable or disable ICMPv6 router solictitation requests from a given interface
 55106  	// to acquire an IPv6 address and default gateway route from zero, one or more
 55107  	// routers on the connected network.
 55108  	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
 55109  }
 55110  
 55111  func init() {
 55112  	t["NetIpConfigSpec"] = reflect.TypeOf((*NetIpConfigSpec)(nil)).Elem()
 55113  }
 55114  
 55115  // Provides for configuration of IP Addresses.
 55116  type NetIpConfigSpecIpAddressSpec struct {
 55117  	DynamicData
 55118  
 55119  	// IPv4 address is specified using
 55120  	// dotted decimal notation.
 55121  	//
 55122  	// For example, "192.0.2.1".
 55123  	// IPv6 addresses are 128-bit addresses specified as
 55124  	// eight fields of up to four hexadecimal digits.
 55125  	// A colon separates each field (:). For example,
 55126  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55127  	// symbol '::' to represent multiple 16-bit groups of
 55128  	// contiguous 0's only once in an address as described in RFC 2373.
 55129  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55130  	// Denotes the length of a generic Internet network address
 55131  	// prefix.
 55132  	//
 55133  	// The prefix length for IPv4 the value range is 0-32.
 55134  	// For IPv6 prefixLength is a decimal value range 0-128.
 55135  	// A value of n corresponds to an IP address mask
 55136  	// that has n contiguous 1-bits from the most significant
 55137  	// bit (MSB), with all other bits set to 0.
 55138  	// A value of zero is valid only if the calling context defines
 55139  	// it.
 55140  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55141  	// Requires one of: "add" and "remove" or "change"
 55142  	// See `HostConfigChangeOperation_enum`.
 55143  	Operation string `xml:"operation" json:"operation"`
 55144  }
 55145  
 55146  func init() {
 55147  	t["NetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*NetIpConfigSpecIpAddressSpec)(nil)).Elem()
 55148  }
 55149  
 55150  // This data object reports the IP Route Table.
 55151  type NetIpRouteConfigInfo struct {
 55152  	DynamicData
 55153  
 55154  	// IP routing table for all address families.
 55155  	IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 55156  }
 55157  
 55158  func init() {
 55159  	t["NetIpRouteConfigInfo"] = reflect.TypeOf((*NetIpRouteConfigInfo)(nil)).Elem()
 55160  }
 55161  
 55162  // Next hop Gateway for a given route.
 55163  type NetIpRouteConfigInfoGateway struct {
 55164  	DynamicData
 55165  
 55166  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55167  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 55168  }
 55169  
 55170  func init() {
 55171  	t["NetIpRouteConfigInfoGateway"] = reflect.TypeOf((*NetIpRouteConfigInfoGateway)(nil)).Elem()
 55172  }
 55173  
 55174  // IpRoute report an individual host, network or default destination network
 55175  // reachable through a given gateway.
 55176  type NetIpRouteConfigInfoIpRoute struct {
 55177  	DynamicData
 55178  
 55179  	// IP Address of the destination IP network.
 55180  	//
 55181  	// IPv6 addresses are 128-bit addresses represented
 55182  	// as eight fields of up to four hexadecimal digits. A colon separates each
 55183  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 55184  	// also consist of symbol '::' to represent multiple 16-bit groups of
 55185  	// contiguous 0's only once in an address as described in RFC 2373.
 55186  	Network string `xml:"network" json:"network"`
 55187  	// The prefix length.
 55188  	//
 55189  	// For IPv4 the value range is 0-31.
 55190  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 55191  	// represents the number of contiguous, higher-order bits of the address that make
 55192  	// up the network portion of the IP address.
 55193  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55194  	// Where to send the packets for this route.
 55195  	Gateway NetIpRouteConfigInfoGateway `xml:"gateway" json:"gateway"`
 55196  }
 55197  
 55198  func init() {
 55199  	t["NetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*NetIpRouteConfigInfoIpRoute)(nil)).Elem()
 55200  }
 55201  
 55202  // Address family independent IP Route Table Configuration data object.
 55203  type NetIpRouteConfigSpec struct {
 55204  	DynamicData
 55205  
 55206  	// The set of updates to apply to the routing table.
 55207  	IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
 55208  }
 55209  
 55210  func init() {
 55211  	t["NetIpRouteConfigSpec"] = reflect.TypeOf((*NetIpRouteConfigSpec)(nil)).Elem()
 55212  }
 55213  
 55214  // IpRoute report an individual host, network or default destination network
 55215  // reachable through a given gateway.
 55216  type NetIpRouteConfigSpecGatewaySpec struct {
 55217  	DynamicData
 55218  
 55219  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 55220  	Device    string `xml:"device,omitempty" json:"device,omitempty"`
 55221  }
 55222  
 55223  func init() {
 55224  	t["NetIpRouteConfigSpecGatewaySpec"] = reflect.TypeOf((*NetIpRouteConfigSpecGatewaySpec)(nil)).Elem()
 55225  }
 55226  
 55227  // Specify an individual host, network or default destination network
 55228  // reachable through a given gateway.
 55229  type NetIpRouteConfigSpecIpRouteSpec struct {
 55230  	DynamicData
 55231  
 55232  	// IP Address of the destination IP network.
 55233  	//
 55234  	// IPv6 addresses are 128-bit addresses represented
 55235  	// as eight fields of up to four hexadecimal digits. A colon separates each
 55236  	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
 55237  	// also consist of symbol '::' to represent multiple 16-bit groups of
 55238  	// contiguous 0's only once in an address as described in RFC 2373.
 55239  	// To Specify a default network use the value: 0 with prefixLenth 0.
 55240  	Network string `xml:"network" json:"network"`
 55241  	// The prefix length.
 55242  	//
 55243  	// For IPv4 the value range is 0-31.
 55244  	// For IPv6 prefixLength is a decimal value range 0-127. The property
 55245  	// represents the number of contiguous, higher-order bits of the address that make
 55246  	// up the network portion of the IP address.
 55247  	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
 55248  	// Where to send the packets for this route.
 55249  	Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway" json:"gateway"`
 55250  	// Requires one of the values from `HostConfigChangeOperation_enum`.
 55251  	Operation string `xml:"operation" json:"operation"`
 55252  }
 55253  
 55254  func init() {
 55255  	t["NetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*NetIpRouteConfigSpecIpRouteSpec)(nil)).Elem()
 55256  }
 55257  
 55258  // Protocol version independent reporting data object for IP stack.
 55259  type NetIpStackInfo struct {
 55260  	DynamicData
 55261  
 55262  	// Zero, one or more entries of neighbors discovered using ARP or NDP.
 55263  	//
 55264  	// This information is used to help diagnose connectivity or performance
 55265  	// issues. This property maps to RFC 4293 ipNetToPhysicalTable.
 55266  	Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty" json:"neighbor,omitempty"`
 55267  	// Zero one or more entries of discovered IP routers that are directly
 55268  	// reachable from a an interface on this system.
 55269  	//
 55270  	// This property maps to RFC 4293 ipDefaultRouterTable.
 55271  	DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty" json:"defaultRouter,omitempty"`
 55272  }
 55273  
 55274  func init() {
 55275  	t["NetIpStackInfo"] = reflect.TypeOf((*NetIpStackInfo)(nil)).Elem()
 55276  }
 55277  
 55278  type NetIpStackInfoDefaultRouter struct {
 55279  	DynamicData
 55280  
 55281  	// Unicast IP address of a next-hop router.
 55282  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55283  	// This value will contain the name of the interface as reported by the
 55284  	// operationg system.
 55285  	Device string `xml:"device" json:"device"`
 55286  	// When this entry will no longer valid.
 55287  	//
 55288  	// For IPv6 this value
 55289  	// see For IPv6 RFC 2462 sections 4.2 and 6.3.4.
 55290  	Lifetime time.Time `xml:"lifetime" json:"lifetime"`
 55291  	// Value of this entry compared to others that this IP stack uses
 55292  	// when making selection to route traffic on the default
 55293  	// route when there are multiple default routers.
 55294  	//
 55295  	// Value must be one of
 55296  	// `NetIpStackInfoPreference_enum`
 55297  	Preference string `xml:"preference" json:"preference"`
 55298  }
 55299  
 55300  func init() {
 55301  	t["NetIpStackInfoDefaultRouter"] = reflect.TypeOf((*NetIpStackInfoDefaultRouter)(nil)).Elem()
 55302  }
 55303  
 55304  // Information from an IP stack about known mappings betwwen an IP address
 55305  // and the underlying physical address it maps to as learned by:
 55306  // IPv4: Address Resolution Protocol (ARP) RFC 826
 55307  // IPv6: Neighbor Discovery Protocol (NDP) RFC 4861
 55308  type NetIpStackInfoNetToMedia struct {
 55309  	DynamicData
 55310  
 55311  	// A Unicast IP address of another system directly reachable w/o routing.
 55312  	//
 55313  	// IPv4 address is specified using dotted decimal notation.
 55314  	// For example, "192.0.2.1".
 55315  	// IPv6 addresses are 128-bit addresses represented as eight fields
 55316  	// of up to four hexadecimal digits.
 55317  	// A colon separates each field (:). For example,
 55318  	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
 55319  	// symbol '::' to represent multiple 16-bit groups of
 55320  	// contiguous 0's only once in an address as described in RFC 2373.
 55321  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55322  	// The media-dependent of the address or empty string if not yet learned.
 55323  	//
 55324  	// For Ethernet interfaces this is a MAC address reported in the format:
 55325  	// XX:XX:XX:XX:XX:XX where XX are hexadecimal numbers.
 55326  	PhysicalAddress string `xml:"physicalAddress" json:"physicalAddress"`
 55327  	// The value will be the name of the interface as reported by the
 55328  	// operating system.
 55329  	Device string `xml:"device" json:"device"`
 55330  	// The type/state of this entry as reported by the IP stack.
 55331  	//
 55332  	// See `NetIpStackInfoEntryType_enum` for values.
 55333  	Type string `xml:"type" json:"type"`
 55334  }
 55335  
 55336  func init() {
 55337  	t["NetIpStackInfoNetToMedia"] = reflect.TypeOf((*NetIpStackInfoNetToMedia)(nil)).Elem()
 55338  }
 55339  
 55340  // The `NetStackInstanceProfile` data object represents a subprofile
 55341  // for a netStackInstance.
 55342  type NetStackInstanceProfile struct {
 55343  	ApplyProfile
 55344  
 55345  	// Linkable identifier.
 55346  	Key string `xml:"key" json:"key"`
 55347  	// DnsConfig SubProfile for this instance of the stack.
 55348  	DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig" json:"dnsConfig"`
 55349  	// IpRoute SubProfile for this instance of the stack.
 55350  	IpRouteConfig IpRouteProfile `xml:"ipRouteConfig" json:"ipRouteConfig"`
 55351  }
 55352  
 55353  func init() {
 55354  	t["NetStackInstanceProfile"] = reflect.TypeOf((*NetStackInstanceProfile)(nil)).Elem()
 55355  }
 55356  
 55357  // A network copy of the file failed.
 55358  type NetworkCopyFault struct {
 55359  	FileFault
 55360  }
 55361  
 55362  func init() {
 55363  	t["NetworkCopyFault"] = reflect.TypeOf((*NetworkCopyFault)(nil)).Elem()
 55364  }
 55365  
 55366  type NetworkCopyFaultFault NetworkCopyFault
 55367  
 55368  func init() {
 55369  	t["NetworkCopyFaultFault"] = reflect.TypeOf((*NetworkCopyFaultFault)(nil)).Elem()
 55370  }
 55371  
 55372  // Thrown if network configuration change disconnected the host from vCenter server
 55373  // and has been rolled back.
 55374  type NetworkDisruptedAndConfigRolledBack struct {
 55375  	VimFault
 55376  
 55377  	// The name of host on which the network configuration was rolled back.
 55378  	Host string `xml:"host" json:"host"`
 55379  }
 55380  
 55381  func init() {
 55382  	t["NetworkDisruptedAndConfigRolledBack"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBack)(nil)).Elem()
 55383  }
 55384  
 55385  type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack
 55386  
 55387  func init() {
 55388  	t["NetworkDisruptedAndConfigRolledBackFault"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBackFault)(nil)).Elem()
 55389  }
 55390  
 55391  // The event argument is a Network object.
 55392  type NetworkEventArgument struct {
 55393  	EntityEventArgument
 55394  
 55395  	// The Network object.
 55396  	//
 55397  	// Refers instance of `Network`.
 55398  	Network ManagedObjectReference `xml:"network" json:"network"`
 55399  }
 55400  
 55401  func init() {
 55402  	t["NetworkEventArgument"] = reflect.TypeOf((*NetworkEventArgument)(nil)).Elem()
 55403  }
 55404  
 55405  // This fault is thrown when an operation to configure a NAS volume fails
 55406  // because network access is unavailable.
 55407  type NetworkInaccessible struct {
 55408  	NasConfigFault
 55409  }
 55410  
 55411  func init() {
 55412  	t["NetworkInaccessible"] = reflect.TypeOf((*NetworkInaccessible)(nil)).Elem()
 55413  }
 55414  
 55415  type NetworkInaccessibleFault NetworkInaccessible
 55416  
 55417  func init() {
 55418  	t["NetworkInaccessibleFault"] = reflect.TypeOf((*NetworkInaccessibleFault)(nil)).Elem()
 55419  }
 55420  
 55421  // The `NetworkPolicyProfile` data object represents a
 55422  // network policy.
 55423  //
 55424  // The `ApplyProfile.policy` property
 55425  // contains network configuration data values.
 55426  type NetworkPolicyProfile struct {
 55427  	ApplyProfile
 55428  }
 55429  
 55430  func init() {
 55431  	t["NetworkPolicyProfile"] = reflect.TypeOf((*NetworkPolicyProfile)(nil)).Elem()
 55432  }
 55433  
 55434  // The `NetworkProfile` data object contains a set of subprofiles for
 55435  // network configuration.
 55436  type NetworkProfile struct {
 55437  	ApplyProfile
 55438  
 55439  	// List of virtual switch subprofiles.
 55440  	//
 55441  	// Use the `VirtualSwitchProfile.key` property to access
 55442  	// a subprofile in the list.
 55443  	Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 55444  	// List of port groups for use by virtual machines.
 55445  	//
 55446  	// Use the `VmPortGroupProfile*.*PortGroupProfile.key`
 55447  	// property to access a port group in the list.
 55448  	VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty" json:"vmPortGroup,omitempty"`
 55449  	// List of port groups for use by the host.
 55450  	//
 55451  	// Use the `HostPortGroupProfile*.*PortGroupProfile.key` property
 55452  	// to access port groups in the list.
 55453  	HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty" json:"hostPortGroup,omitempty"`
 55454  	// List of port groups for use by the service console.
 55455  	//
 55456  	// The Profile Engine uses this field only when applying a profile
 55457  	// to a host that has a service console.
 55458  	ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty" json:"serviceConsolePortGroup,omitempty"`
 55459  	// DNS (Domain Name System) configuration subprofile.
 55460  	DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
 55461  	// Subprofile that describes the IP Route
 55462  	// configuration for the VMKernel gateway.
 55463  	IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
 55464  	// Subprofile that describes the IP Route configuration
 55465  	// for the Service Console gateway.
 55466  	ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty" json:"consoleIpRouteConfig,omitempty"`
 55467  	// List of subprofiles that represent physical NIC configuration.
 55468  	//
 55469  	// Use the `PhysicalNicProfile.key` property to access a
 55470  	// subprofile in the list.
 55471  	Pnic []PhysicalNicProfile `xml:"pnic,omitempty" json:"pnic,omitempty"`
 55472  	// List of subprofiles for distributed virtual switches to which this host is connected.
 55473  	//
 55474  	// Use the `DvsProfile.key` property to access a subprofile in the list.
 55475  	Dvswitch []DvsProfile `xml:"dvswitch,omitempty" json:"dvswitch,omitempty"`
 55476  	// List of subprofiles for service console Virtual NICs connected to a distributed virtual switch.
 55477  	//
 55478  	// Use the `DvsServiceConsoleVNicProfile*.*DvsVNicProfile.key` property
 55479  	// to access a subprofile in the list.
 55480  	DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty" json:"dvsServiceConsoleNic,omitempty"`
 55481  	// List of subprofiles for host Virtual NICs connected to a distributed virtual switch.
 55482  	//
 55483  	// Use the `DvsHostVNicProfile*.*DvsVNicProfile.key` property
 55484  	// to access a subprofile in the list.
 55485  	DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty" json:"dvsHostNic,omitempty"`
 55486  	// List of subprofiles for host Virtual NICs connected to a NSX logic switch.
 55487  	//
 55488  	// Use the `NsxHostVNicProfile*.*NsxHostVNicProfile.key` property
 55489  	// to access a subprofile in the list.
 55490  	NsxHostNic []NsxHostVNicProfile `xml:"nsxHostNic,omitempty" json:"nsxHostNic,omitempty"`
 55491  	// List of NetStackInstance subprofiles.
 55492  	//
 55493  	// Use the `NetStackInstanceProfile.key` property to access
 55494  	// a subprofile in the list.
 55495  	NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty"`
 55496  	// OpaqueSwitch subprofile.
 55497  	OpaqueSwitch *OpaqueSwitchProfile `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty"`
 55498  }
 55499  
 55500  func init() {
 55501  	t["NetworkProfile"] = reflect.TypeOf((*NetworkProfile)(nil)).Elem()
 55502  }
 55503  
 55504  // The `NetworkProfileDnsConfigProfile` data object represents DNS configuration
 55505  // for the host.
 55506  //
 55507  // Use the `ApplyProfile.policy` list for
 55508  // access to configuration data for the DNS profile. Use the
 55509  // `ApplyProfile.property` list for access to subprofiles, if any.
 55510  type NetworkProfileDnsConfigProfile struct {
 55511  	ApplyProfile
 55512  }
 55513  
 55514  func init() {
 55515  	t["NetworkProfileDnsConfigProfile"] = reflect.TypeOf((*NetworkProfileDnsConfigProfile)(nil)).Elem()
 55516  }
 55517  
 55518  // This event records when networking configuration on the host
 55519  // is rolled back as it disconnects the host from vCenter server.
 55520  type NetworkRollbackEvent struct {
 55521  	Event
 55522  
 55523  	// Method name which caused the disconnect
 55524  	MethodName string `xml:"methodName" json:"methodName"`
 55525  	// Transaction ID for the method call that caused the disconnect
 55526  	TransactionId string `xml:"transactionId" json:"transactionId"`
 55527  }
 55528  
 55529  func init() {
 55530  	t["NetworkRollbackEvent"] = reflect.TypeOf((*NetworkRollbackEvent)(nil)).Elem()
 55531  }
 55532  
 55533  // General information about a network.
 55534  type NetworkSummary struct {
 55535  	DynamicData
 55536  
 55537  	// Reference to the associated managed object.
 55538  	//
 55539  	// Refers instance of `Network`.
 55540  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 55541  	// Name of the network.
 55542  	Name string `xml:"name" json:"name"`
 55543  	// At least one host is configured to provide this network.
 55544  	Accessible bool `xml:"accessible" json:"accessible"`
 55545  	// Name of the associated IP pool.
 55546  	//
 55547  	// Empty if the network is not associated with an
 55548  	// IP pool.
 55549  	IpPoolName string `xml:"ipPoolName" json:"ipPoolName"`
 55550  	// Identifier of the associated IP pool.
 55551  	//
 55552  	// Zero if the network is not associated
 55553  	// with an IP pool.
 55554  	IpPoolId *int32 `xml:"ipPoolId" json:"ipPoolId,omitempty"`
 55555  }
 55556  
 55557  func init() {
 55558  	t["NetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem()
 55559  }
 55560  
 55561  // Used as a warning if a virtual machine provisioning operation is done
 55562  // across datacenters.
 55563  //
 55564  // This warns that the network used by the virtual
 55565  // machine before and after the operation may not be the same even though
 55566  // the two networks have the same name. This is because network names
 55567  // are only unique within a datacenter.
 55568  type NetworksMayNotBeTheSame struct {
 55569  	MigrationFault
 55570  
 55571  	// The name of the network.
 55572  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 55573  }
 55574  
 55575  func init() {
 55576  	t["NetworksMayNotBeTheSame"] = reflect.TypeOf((*NetworksMayNotBeTheSame)(nil)).Elem()
 55577  }
 55578  
 55579  type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame
 55580  
 55581  func init() {
 55582  	t["NetworksMayNotBeTheSameFault"] = reflect.TypeOf((*NetworksMayNotBeTheSameFault)(nil)).Elem()
 55583  }
 55584  
 55585  // The number of network adapter settings in the customization specification
 55586  // does not match the number of network adapters present in the virtual machine.
 55587  type NicSettingMismatch struct {
 55588  	CustomizationFault
 55589  
 55590  	// The number of network adapter settings specified in the customization
 55591  	// specification.
 55592  	NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec" json:"numberOfNicsInSpec"`
 55593  	// The number of network adapters present in the virtual machine.
 55594  	NumberOfNicsInVM int32 `xml:"numberOfNicsInVM" json:"numberOfNicsInVM"`
 55595  }
 55596  
 55597  func init() {
 55598  	t["NicSettingMismatch"] = reflect.TypeOf((*NicSettingMismatch)(nil)).Elem()
 55599  }
 55600  
 55601  type NicSettingMismatchFault NicSettingMismatch
 55602  
 55603  func init() {
 55604  	t["NicSettingMismatchFault"] = reflect.TypeOf((*NicSettingMismatchFault)(nil)).Elem()
 55605  }
 55606  
 55607  // This event records a failed user logon due to insufficient access permission.
 55608  type NoAccessUserEvent struct {
 55609  	SessionEvent
 55610  
 55611  	// The IP address of the peer that initiated the connection.
 55612  	//
 55613  	// This may
 55614  	// be the client that originated the session, or it may be an intervening
 55615  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 55616  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 55617  }
 55618  
 55619  func init() {
 55620  	t["NoAccessUserEvent"] = reflect.TypeOf((*NoAccessUserEvent)(nil)).Elem()
 55621  }
 55622  
 55623  // A NoActiveHostInCluster fault is thrown when there is no host in a valid
 55624  // state in the given compute resource to perform a specified operation.
 55625  //
 55626  // This
 55627  // can happen, for example, if all the hosts are disconnected or in maintenance
 55628  // mode.
 55629  type NoActiveHostInCluster struct {
 55630  	InvalidState
 55631  
 55632  	// The compute resource that does not have any active hosts.
 55633  	//
 55634  	// Refers instance of `ComputeResource`.
 55635  	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
 55636  }
 55637  
 55638  func init() {
 55639  	t["NoActiveHostInCluster"] = reflect.TypeOf((*NoActiveHostInCluster)(nil)).Elem()
 55640  }
 55641  
 55642  type NoActiveHostInClusterFault NoActiveHostInCluster
 55643  
 55644  func init() {
 55645  	t["NoActiveHostInClusterFault"] = reflect.TypeOf((*NoActiveHostInClusterFault)(nil)).Elem()
 55646  }
 55647  
 55648  // There are no more IP addresses available on the given network.
 55649  type NoAvailableIp struct {
 55650  	VAppPropertyFault
 55651  
 55652  	// A reference to the network
 55653  	//
 55654  	// Refers instance of `Network`.
 55655  	Network ManagedObjectReference `xml:"network" json:"network"`
 55656  }
 55657  
 55658  func init() {
 55659  	t["NoAvailableIp"] = reflect.TypeOf((*NoAvailableIp)(nil)).Elem()
 55660  }
 55661  
 55662  type NoAvailableIpFault NoAvailableIp
 55663  
 55664  func init() {
 55665  	t["NoAvailableIpFault"] = reflect.TypeOf((*NoAvailableIpFault)(nil)).Elem()
 55666  }
 55667  
 55668  // This exception is thrown when a client has connected without supplying a
 55669  // certificate but the associated call expects that the client has done so.
 55670  type NoClientCertificate struct {
 55671  	VimFault
 55672  }
 55673  
 55674  func init() {
 55675  	t["NoClientCertificate"] = reflect.TypeOf((*NoClientCertificate)(nil)).Elem()
 55676  }
 55677  
 55678  type NoClientCertificateFault NoClientCertificate
 55679  
 55680  func init() {
 55681  	t["NoClientCertificateFault"] = reflect.TypeOf((*NoClientCertificateFault)(nil)).Elem()
 55682  }
 55683  
 55684  // A NoCompatibleDatastore fault is thrown when Storage DRS cannot find a compatible
 55685  // datastore in a given storage pod to place a disk or a virtual machine.
 55686  //
 55687  // a virtual machine.
 55688  type NoCompatibleDatastore struct {
 55689  	VimFault
 55690  }
 55691  
 55692  func init() {
 55693  	t["NoCompatibleDatastore"] = reflect.TypeOf((*NoCompatibleDatastore)(nil)).Elem()
 55694  }
 55695  
 55696  type NoCompatibleDatastoreFault NoCompatibleDatastore
 55697  
 55698  func init() {
 55699  	t["NoCompatibleDatastoreFault"] = reflect.TypeOf((*NoCompatibleDatastoreFault)(nil)).Elem()
 55700  }
 55701  
 55702  // The cluster contains no hosts satisfying the hard VM/host affinity rules
 55703  // constraint for the VM.
 55704  type NoCompatibleHardAffinityHost struct {
 55705  	VmConfigFault
 55706  
 55707  	// The vm for which there are no compatible hard-affine hosts in the cluster.
 55708  	VmName string `xml:"vmName" json:"vmName"`
 55709  }
 55710  
 55711  func init() {
 55712  	t["NoCompatibleHardAffinityHost"] = reflect.TypeOf((*NoCompatibleHardAffinityHost)(nil)).Elem()
 55713  }
 55714  
 55715  type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost
 55716  
 55717  func init() {
 55718  	t["NoCompatibleHardAffinityHostFault"] = reflect.TypeOf((*NoCompatibleHardAffinityHostFault)(nil)).Elem()
 55719  }
 55720  
 55721  // A NoCompatibleHost fault is thrown when DRS cannot find a compatible
 55722  // host in a given compute resource to run a virtual machine on.
 55723  type NoCompatibleHost struct {
 55724  	VimFault
 55725  
 55726  	// The list of hosts that are not compatible, each element has a
 55727  	// corresponding fault in the error array.
 55728  	//
 55729  	// Refers instances of `HostSystem`.
 55730  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 55731  	// An error in this array indicates why the corresponding host in the
 55732  	// host array is incompatible.
 55733  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 55734  }
 55735  
 55736  func init() {
 55737  	t["NoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem()
 55738  }
 55739  
 55740  type NoCompatibleHostFault BaseNoCompatibleHost
 55741  
 55742  func init() {
 55743  	t["NoCompatibleHostFault"] = reflect.TypeOf((*NoCompatibleHostFault)(nil)).Elem()
 55744  }
 55745  
 55746  // This fault is used to report that a FT VM cannot be placed because there is
 55747  // no compatible host that can access all devices required to be connected when
 55748  // the VM powers on.
 55749  type NoCompatibleHostWithAccessToDevice struct {
 55750  	NoCompatibleHost
 55751  }
 55752  
 55753  func init() {
 55754  	t["NoCompatibleHostWithAccessToDevice"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDevice)(nil)).Elem()
 55755  }
 55756  
 55757  type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice
 55758  
 55759  func init() {
 55760  	t["NoCompatibleHostWithAccessToDeviceFault"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDeviceFault)(nil)).Elem()
 55761  }
 55762  
 55763  // The cluster contains no hosts satisfying the soft VM/host affinity rules
 55764  // constraint for the VM.
 55765  type NoCompatibleSoftAffinityHost struct {
 55766  	VmConfigFault
 55767  
 55768  	// The vm for which there are no compatible soft-affine hosts in the cluster.
 55769  	VmName string `xml:"vmName" json:"vmName"`
 55770  }
 55771  
 55772  func init() {
 55773  	t["NoCompatibleSoftAffinityHost"] = reflect.TypeOf((*NoCompatibleSoftAffinityHost)(nil)).Elem()
 55774  }
 55775  
 55776  type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost
 55777  
 55778  func init() {
 55779  	t["NoCompatibleSoftAffinityHostFault"] = reflect.TypeOf((*NoCompatibleSoftAffinityHostFault)(nil)).Elem()
 55780  }
 55781  
 55782  // The fault occurs when Storage DRS cannot move a virtual machine because
 55783  // the host it is registered on is not connected to any other datastore
 55784  // in the storage pod.
 55785  type NoConnectedDatastore struct {
 55786  	VimFault
 55787  }
 55788  
 55789  func init() {
 55790  	t["NoConnectedDatastore"] = reflect.TypeOf((*NoConnectedDatastore)(nil)).Elem()
 55791  }
 55792  
 55793  type NoConnectedDatastoreFault NoConnectedDatastore
 55794  
 55795  func init() {
 55796  	t["NoConnectedDatastoreFault"] = reflect.TypeOf((*NoConnectedDatastoreFault)(nil)).Elem()
 55797  }
 55798  
 55799  // No datastores have been configured on the host.
 55800  type NoDatastoresConfiguredEvent struct {
 55801  	HostEvent
 55802  }
 55803  
 55804  func init() {
 55805  	t["NoDatastoresConfiguredEvent"] = reflect.TypeOf((*NoDatastoresConfiguredEvent)(nil)).Elem()
 55806  }
 55807  
 55808  // This exception is thrown when a virtual machine
 55809  // which has no virtual disks is being upgraded or relaid out
 55810  // using the VirtualMachine.upgradeVirtualHardware or upgradeVmLayout
 55811  // commands.
 55812  type NoDiskFound struct {
 55813  	VimFault
 55814  }
 55815  
 55816  func init() {
 55817  	t["NoDiskFound"] = reflect.TypeOf((*NoDiskFound)(nil)).Elem()
 55818  }
 55819  
 55820  type NoDiskFoundFault NoDiskFound
 55821  
 55822  func init() {
 55823  	t["NoDiskFoundFault"] = reflect.TypeOf((*NoDiskFoundFault)(nil)).Elem()
 55824  }
 55825  
 55826  // This fault is thrown when an operation fails because of insufficient
 55827  // disk space.
 55828  type NoDiskSpace struct {
 55829  	FileFault
 55830  
 55831  	// The name of the datastore with insufficient disk space.
 55832  	Datastore string `xml:"datastore" json:"datastore"`
 55833  }
 55834  
 55835  func init() {
 55836  	t["NoDiskSpace"] = reflect.TypeOf((*NoDiskSpace)(nil)).Elem()
 55837  }
 55838  
 55839  type NoDiskSpaceFault NoDiskSpace
 55840  
 55841  func init() {
 55842  	t["NoDiskSpaceFault"] = reflect.TypeOf((*NoDiskSpaceFault)(nil)).Elem()
 55843  }
 55844  
 55845  // None of the disks attached to the VM are suitable for customization.
 55846  type NoDisksToCustomize struct {
 55847  	CustomizationFault
 55848  }
 55849  
 55850  func init() {
 55851  	t["NoDisksToCustomize"] = reflect.TypeOf((*NoDisksToCustomize)(nil)).Elem()
 55852  }
 55853  
 55854  type NoDisksToCustomizeFault NoDisksToCustomize
 55855  
 55856  func init() {
 55857  	t["NoDisksToCustomizeFault"] = reflect.TypeOf((*NoDisksToCustomizeFault)(nil)).Elem()
 55858  }
 55859  
 55860  // This error occurs when an operation fails because of vmkernel gateway
 55861  // is unset.
 55862  type NoGateway struct {
 55863  	HostConfigFault
 55864  }
 55865  
 55866  func init() {
 55867  	t["NoGateway"] = reflect.TypeOf((*NoGateway)(nil)).Elem()
 55868  }
 55869  
 55870  type NoGatewayFault NoGateway
 55871  
 55872  func init() {
 55873  	t["NoGatewayFault"] = reflect.TypeOf((*NoGatewayFault)(nil)).Elem()
 55874  }
 55875  
 55876  // A powered-on virtual machine has a guest OS with Tools installed, but it does not
 55877  // have a valid heartbeat.
 55878  type NoGuestHeartbeat struct {
 55879  	MigrationFault
 55880  }
 55881  
 55882  func init() {
 55883  	t["NoGuestHeartbeat"] = reflect.TypeOf((*NoGuestHeartbeat)(nil)).Elem()
 55884  }
 55885  
 55886  type NoGuestHeartbeatFault NoGuestHeartbeat
 55887  
 55888  func init() {
 55889  	t["NoGuestHeartbeatFault"] = reflect.TypeOf((*NoGuestHeartbeatFault)(nil)).Elem()
 55890  }
 55891  
 55892  // A NoHostFault fault occurs when a host
 55893  // cannot be reached.
 55894  type NoHost struct {
 55895  	HostConnectFault
 55896  
 55897  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 55898  }
 55899  
 55900  func init() {
 55901  	t["NoHost"] = reflect.TypeOf((*NoHost)(nil)).Elem()
 55902  }
 55903  
 55904  type NoHostFault NoHost
 55905  
 55906  func init() {
 55907  	t["NoHostFault"] = reflect.TypeOf((*NoHostFault)(nil)).Elem()
 55908  }
 55909  
 55910  // The NoHostSuitableForFtSecondary fault is thrown when the system is unable to
 55911  // find a suitable host for the Fault Tolerance secondary virtual machine.
 55912  //
 55913  // This fault can be thrown when Virtual Center is trying to place or power on
 55914  // a Fault Tolerance Secondary, in both DRS or non-DRS cases.
 55915  type NoHostSuitableForFtSecondary struct {
 55916  	VmFaultToleranceIssue
 55917  
 55918  	// The primary virtual machine corresponding to the secondary virtual
 55919  	// machine.
 55920  	//
 55921  	// Refers instance of `VirtualMachine`.
 55922  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 55923  	// The name of the primary virtual machine corresponding to the secondary
 55924  	// virtual machine.
 55925  	VmName string `xml:"vmName" json:"vmName"`
 55926  }
 55927  
 55928  func init() {
 55929  	t["NoHostSuitableForFtSecondary"] = reflect.TypeOf((*NoHostSuitableForFtSecondary)(nil)).Elem()
 55930  }
 55931  
 55932  type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary
 55933  
 55934  func init() {
 55935  	t["NoHostSuitableForFtSecondaryFault"] = reflect.TypeOf((*NoHostSuitableForFtSecondaryFault)(nil)).Elem()
 55936  }
 55937  
 55938  // These are events reported by License Manager.
 55939  //
 55940  // A NoLicenseEvent is reported if the required licenses could not be
 55941  // reserved. Each feature that is not fully licensed is reported.
 55942  type NoLicenseEvent struct {
 55943  	LicenseEvent
 55944  
 55945  	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
 55946  }
 55947  
 55948  func init() {
 55949  	t["NoLicenseEvent"] = reflect.TypeOf((*NoLicenseEvent)(nil)).Elem()
 55950  }
 55951  
 55952  // The NoLicenseServerConfigured fault is thrown when there is no
 55953  // valid license server configured for the system and the system
 55954  // is not in evaluation mode.
 55955  //
 55956  // Any operation occurs that requires
 55957  // evaluation license or a valid license will throw the
 55958  // NoLicenseServerConfigured. This can happen with the new licensing
 55959  // scheme that is a hybrid of flex-based licensing and serial number
 55960  // based licensing. There can be cases where VirtualCenter is licensed
 55961  // by a serial number and there is no need for a flex license server.
 55962  // These cases are valid as long as no operation that requires flex-
 55963  // based license server is invoked, for example, adding a pre-4.0
 55964  // host that requires flex licenses. If however, such an operation is
 55965  // invoked, the NoLicenseServerConfigured fault is thrown.
 55966  type NoLicenseServerConfigured struct {
 55967  	NotEnoughLicenses
 55968  }
 55969  
 55970  func init() {
 55971  	t["NoLicenseServerConfigured"] = reflect.TypeOf((*NoLicenseServerConfigured)(nil)).Elem()
 55972  }
 55973  
 55974  type NoLicenseServerConfiguredFault NoLicenseServerConfigured
 55975  
 55976  func init() {
 55977  	t["NoLicenseServerConfiguredFault"] = reflect.TypeOf((*NoLicenseServerConfiguredFault)(nil)).Elem()
 55978  }
 55979  
 55980  // This event records that DRS did not recommend a migration for a
 55981  // powered on virtual machine, even though its host is going
 55982  // into maintenance mode.
 55983  //
 55984  // DRS may not be able to recommend a migration for a virtual machine
 55985  // for reasons, include but not limited to:
 55986  //   - No other connected host is compatible with this virtual machine.
 55987  //   - None of the other compatible hosts have sufficient resources
 55988  //     to satisfy the reservation requirements of this virtual machine.
 55989  //   - Moving to any other host would violate a DRS rule. For example, all
 55990  //     other compatible hosts have some incompatible virtual machines
 55991  //     running.
 55992  //   - DRS is disabled on this virtual machine.
 55993  //   - This virtual machine was still in the process of migrating
 55994  //     into the host going into maintenance mode and was not
 55995  //     considered by DRS.
 55996  //   - This virtual machine was in the process of migrating to another
 55997  //     host when the host tried to enter maintenance mode.
 55998  type NoMaintenanceModeDrsRecommendationForVM struct {
 55999  	VmEvent
 56000  }
 56001  
 56002  func init() {
 56003  	t["NoMaintenanceModeDrsRecommendationForVM"] = reflect.TypeOf((*NoMaintenanceModeDrsRecommendationForVM)(nil)).Elem()
 56004  }
 56005  
 56006  // This fault is thrown when no peer host is found to wake up this host.
 56007  type NoPeerHostFound struct {
 56008  	HostPowerOpFailed
 56009  }
 56010  
 56011  func init() {
 56012  	t["NoPeerHostFound"] = reflect.TypeOf((*NoPeerHostFound)(nil)).Elem()
 56013  }
 56014  
 56015  type NoPeerHostFoundFault NoPeerHostFound
 56016  
 56017  func init() {
 56018  	t["NoPeerHostFoundFault"] = reflect.TypeOf((*NoPeerHostFoundFault)(nil)).Elem()
 56019  }
 56020  
 56021  // Thrown when an operation is denied because of privileges
 56022  // not held on managed object(s).
 56023  type NoPermission struct {
 56024  	SecurityError
 56025  
 56026  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 56027  	//
 56028  	// The managed object on which a permission is required.
 56029  	Object *ManagedObjectReference `xml:"object,omitempty" json:"object,omitempty"`
 56030  	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
 56031  	//
 56032  	// The privilege identifier required
 56033  	PrivilegeId string `xml:"privilegeId,omitempty" json:"privilegeId,omitempty"`
 56034  	// List of entities and missing privileges for each entity
 56035  	MissingPrivileges []NoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty" json:"missingPrivileges,omitempty" vim:"7.0.3.2"`
 56036  }
 56037  
 56038  func init() {
 56039  	t["NoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem()
 56040  }
 56041  
 56042  // Entity and privileges for the entity
 56043  type NoPermissionEntityPrivileges struct {
 56044  	DynamicData
 56045  
 56046  	Entity       ManagedObjectReference `xml:"entity" json:"entity"`
 56047  	PrivilegeIds []string               `xml:"privilegeIds,omitempty" json:"privilegeIds,omitempty"`
 56048  }
 56049  
 56050  func init() {
 56051  	t["NoPermissionEntityPrivileges"] = reflect.TypeOf((*NoPermissionEntityPrivileges)(nil)).Elem()
 56052  	minAPIVersionForType["NoPermissionEntityPrivileges"] = "7.0.3.2"
 56053  }
 56054  
 56055  type NoPermissionFault BaseNoPermission
 56056  
 56057  func init() {
 56058  	t["NoPermissionFault"] = reflect.TypeOf((*NoPermissionFault)(nil)).Elem()
 56059  }
 56060  
 56061  // Fault indicating that the user account used to connect to the
 56062  // Active Directory doesn not have enough permissions for the action
 56063  // that was attempted.
 56064  type NoPermissionOnAD struct {
 56065  	ActiveDirectoryFault
 56066  }
 56067  
 56068  func init() {
 56069  	t["NoPermissionOnAD"] = reflect.TypeOf((*NoPermissionOnAD)(nil)).Elem()
 56070  }
 56071  
 56072  type NoPermissionOnADFault NoPermissionOnAD
 56073  
 56074  func init() {
 56075  	t["NoPermissionOnADFault"] = reflect.TypeOf((*NoPermissionOnADFault)(nil)).Elem()
 56076  }
 56077  
 56078  // This indicates that the user account used to connect to the host does
 56079  // not have enough permissions to enable VirtualCenter to manage the host.
 56080  type NoPermissionOnHost struct {
 56081  	HostConnectFault
 56082  }
 56083  
 56084  func init() {
 56085  	t["NoPermissionOnHost"] = reflect.TypeOf((*NoPermissionOnHost)(nil)).Elem()
 56086  }
 56087  
 56088  type NoPermissionOnHostFault NoPermissionOnHost
 56089  
 56090  func init() {
 56091  	t["NoPermissionOnHostFault"] = reflect.TypeOf((*NoPermissionOnHostFault)(nil)).Elem()
 56092  }
 56093  
 56094  // This fault is thrown when an operation to configure a NAS volume fails
 56095  // because of insufficient user permissions.
 56096  //
 56097  // For CIFS volumes, this implies that the user specified in the
 56098  // `spec` does not have access to the
 56099  // network resource.
 56100  type NoPermissionOnNasVolume struct {
 56101  	NasConfigFault
 56102  
 56103  	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
 56104  }
 56105  
 56106  func init() {
 56107  	t["NoPermissionOnNasVolume"] = reflect.TypeOf((*NoPermissionOnNasVolume)(nil)).Elem()
 56108  }
 56109  
 56110  type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume
 56111  
 56112  func init() {
 56113  	t["NoPermissionOnNasVolumeFault"] = reflect.TypeOf((*NoPermissionOnNasVolumeFault)(nil)).Elem()
 56114  }
 56115  
 56116  // This exception is thrown when an extension has attempted to use certificate-based
 56117  // authentication but the extension has been registered without a subject name.
 56118  type NoSubjectName struct {
 56119  	VimFault
 56120  }
 56121  
 56122  func init() {
 56123  	t["NoSubjectName"] = reflect.TypeOf((*NoSubjectName)(nil)).Elem()
 56124  }
 56125  
 56126  type NoSubjectNameFault NoSubjectName
 56127  
 56128  func init() {
 56129  	t["NoSubjectNameFault"] = reflect.TypeOf((*NoSubjectNameFault)(nil)).Elem()
 56130  }
 56131  
 56132  // The IP address of the VC server has not be configured, and a vApp
 56133  // property is requesting to use it.
 56134  type NoVcManagedIpConfigured struct {
 56135  	VAppPropertyFault
 56136  }
 56137  
 56138  func init() {
 56139  	t["NoVcManagedIpConfigured"] = reflect.TypeOf((*NoVcManagedIpConfigured)(nil)).Elem()
 56140  }
 56141  
 56142  type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured
 56143  
 56144  func init() {
 56145  	t["NoVcManagedIpConfiguredFault"] = reflect.TypeOf((*NoVcManagedIpConfiguredFault)(nil)).Elem()
 56146  }
 56147  
 56148  // This error occurs when an operation fails because of
 56149  // no virtual NIC available.
 56150  type NoVirtualNic struct {
 56151  	HostConfigFault
 56152  }
 56153  
 56154  func init() {
 56155  	t["NoVirtualNic"] = reflect.TypeOf((*NoVirtualNic)(nil)).Elem()
 56156  }
 56157  
 56158  type NoVirtualNicFault NoVirtualNic
 56159  
 56160  func init() {
 56161  	t["NoVirtualNicFault"] = reflect.TypeOf((*NoVirtualNicFault)(nil)).Elem()
 56162  }
 56163  
 56164  // Attempting to power-on or power-off a vApp that contains no
 56165  // virtual machines.
 56166  type NoVmInVApp struct {
 56167  	VAppConfigFault
 56168  }
 56169  
 56170  func init() {
 56171  	t["NoVmInVApp"] = reflect.TypeOf((*NoVmInVApp)(nil)).Elem()
 56172  }
 56173  
 56174  type NoVmInVAppFault NoVmInVApp
 56175  
 56176  func init() {
 56177  	t["NoVmInVAppFault"] = reflect.TypeOf((*NoVmInVAppFault)(nil)).Elem()
 56178  }
 56179  
 56180  // The NodeDeploymentSpec class defines location
 56181  // specification of the nodes the VCHA Cluster along with Management
 56182  // vCenter Server information that manages node VM.
 56183  type NodeDeploymentSpec struct {
 56184  	DynamicData
 56185  
 56186  	// ESX host on which the VM is to be deployed.
 56187  	//
 56188  	// For behavior when an esxHost is not specified,
 56189  	//
 56190  	// See also `VirtualMachineRelocateSpec.host`.
 56191  	//
 56192  	// Refers instance of `HostSystem`.
 56193  	EsxHost *ManagedObjectReference `xml:"esxHost,omitempty" json:"esxHost,omitempty"`
 56194  	// Datastore used for deploying the VM.
 56195  	//
 56196  	// For behavior when a datastore is not specified,
 56197  	//
 56198  	// See also `VirtualMachineRelocateSpec.datastore`.
 56199  	//
 56200  	// Refers instance of `Datastore`.
 56201  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 56202  	// Name of the portgroup that is associated with the public IP address
 56203  	// where clients connect to vCenter Server.
 56204  	//
 56205  	// If a portgroup is not
 56206  	// specified same portgroup present on source is used to deploy the VM
 56207  	// with an assumption that portgroup is present on destination.
 56208  	//
 56209  	// Refers instance of `Network`.
 56210  	PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty" json:"publicNetworkPortGroup,omitempty"`
 56211  	// Name of the portgroup that is associated with the VCHA Cluster IP
 56212  	// address where clients connect to vCenter Server.
 56213  	//
 56214  	// If a portgroup is not
 56215  	// specified same portgroup present on source is used to deploy the VM
 56216  	// with an assumption that portgroup is present on destination.
 56217  	//
 56218  	// Refers instance of `Network`.
 56219  	ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty" json:"clusterNetworkPortGroup,omitempty"`
 56220  	// Folder in which the VM is to be created.
 56221  	//
 56222  	// Refers instance of `Folder`.
 56223  	Folder ManagedObjectReference `xml:"folder" json:"folder"`
 56224  	// ResourcePool that will be used to deploy this node.
 56225  	//
 56226  	// If the ResourcePool is not specified, the root resource pool for the
 56227  	// host will be used.
 56228  	//
 56229  	// Refers instance of `ResourcePool`.
 56230  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 56231  	// Management vCenter Server managing this VM.
 56232  	//
 56233  	// If the managementVc is not specified, managementVc specified as
 56234  	// part of SourceNodeSpec is used.
 56235  	ManagementVc *ServiceLocator `xml:"managementVc,omitempty" json:"managementVc,omitempty"`
 56236  	// nodeName here refers to a name that will be assigned to the VM to which
 56237  	// this node will be deployed to.
 56238  	NodeName string `xml:"nodeName" json:"nodeName"`
 56239  	// VCHA Cluster network configuration of the node.
 56240  	//
 56241  	// All cluster communication (state replication, heartbeat,
 56242  	// cluster messages) happens over this network.
 56243  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 56244  }
 56245  
 56246  func init() {
 56247  	t["NodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem()
 56248  }
 56249  
 56250  // The NodeNetworkSpec class defines network specification of a node
 56251  // in the VCHA Cluster.
 56252  type NodeNetworkSpec struct {
 56253  	DynamicData
 56254  
 56255  	// VCHA Cluster network configuration of the node.
 56256  	//
 56257  	// All cluster communication (state replication, heartbeat,
 56258  	// cluster messages) happens over this network.
 56259  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 56260  }
 56261  
 56262  func init() {
 56263  	t["NodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem()
 56264  }
 56265  
 56266  // Fault indicating that an operation must be executed by a
 56267  // non Active Directory user.
 56268  type NonADUserRequired struct {
 56269  	ActiveDirectoryFault
 56270  }
 56271  
 56272  func init() {
 56273  	t["NonADUserRequired"] = reflect.TypeOf((*NonADUserRequired)(nil)).Elem()
 56274  }
 56275  
 56276  type NonADUserRequiredFault NonADUserRequired
 56277  
 56278  func init() {
 56279  	t["NonADUserRequiredFault"] = reflect.TypeOf((*NonADUserRequiredFault)(nil)).Elem()
 56280  }
 56281  
 56282  // An operation on a powered-on virtual machine requests that an existing
 56283  // Raw Disk Mapping end up in a location other than the new home datastore
 56284  // for the virtual machine, but the host does not have that capability.
 56285  type NonHomeRDMVMotionNotSupported struct {
 56286  	MigrationFeatureNotSupported
 56287  
 56288  	// The label of an RDM device for which an unsupported move was requested.
 56289  	//
 56290  	// This is not guaranteed to be the only such device.
 56291  	Device string `xml:"device" json:"device"`
 56292  }
 56293  
 56294  func init() {
 56295  	t["NonHomeRDMVMotionNotSupported"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupported)(nil)).Elem()
 56296  }
 56297  
 56298  type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported
 56299  
 56300  func init() {
 56301  	t["NonHomeRDMVMotionNotSupportedFault"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupportedFault)(nil)).Elem()
 56302  }
 56303  
 56304  // The virtual machine has nonpersistent virtual disk.
 56305  //
 56306  // This is an error for
 56307  // any powered-on migration which involves moving virtual disks.
 56308  type NonPersistentDisksNotSupported struct {
 56309  	DeviceNotSupported
 56310  }
 56311  
 56312  func init() {
 56313  	t["NonPersistentDisksNotSupported"] = reflect.TypeOf((*NonPersistentDisksNotSupported)(nil)).Elem()
 56314  }
 56315  
 56316  type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported
 56317  
 56318  func init() {
 56319  	t["NonPersistentDisksNotSupportedFault"] = reflect.TypeOf((*NonPersistentDisksNotSupportedFault)(nil)).Elem()
 56320  }
 56321  
 56322  // This event records that non-VI workload is detected on the datastore.
 56323  type NonVIWorkloadDetectedOnDatastoreEvent struct {
 56324  	DatastoreEvent
 56325  }
 56326  
 56327  func init() {
 56328  	t["NonVIWorkloadDetectedOnDatastoreEvent"] = reflect.TypeOf((*NonVIWorkloadDetectedOnDatastoreEvent)(nil)).Elem()
 56329  }
 56330  
 56331  // The host does not support VM that has VPX assigned prefix or ranged based
 56332  // MAC address (i.e.
 56333  //
 56334  // MAC is not prefixed with 00:50:56:\[80-BF\])
 56335  type NonVmwareOuiMacNotSupportedHost struct {
 56336  	NotSupportedHost
 56337  
 56338  	// The name of the host.
 56339  	HostName string `xml:"hostName" json:"hostName"`
 56340  }
 56341  
 56342  func init() {
 56343  	t["NonVmwareOuiMacNotSupportedHost"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHost)(nil)).Elem()
 56344  }
 56345  
 56346  type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost
 56347  
 56348  func init() {
 56349  	t["NonVmwareOuiMacNotSupportedHostFault"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHostFault)(nil)).Elem()
 56350  }
 56351  
 56352  // This fault is thrown when an operation fails because the specified object
 56353  // is not a directory.
 56354  type NotADirectory struct {
 56355  	FileFault
 56356  }
 56357  
 56358  func init() {
 56359  	t["NotADirectory"] = reflect.TypeOf((*NotADirectory)(nil)).Elem()
 56360  }
 56361  
 56362  type NotADirectoryFault NotADirectory
 56363  
 56364  func init() {
 56365  	t["NotADirectoryFault"] = reflect.TypeOf((*NotADirectoryFault)(nil)).Elem()
 56366  }
 56367  
 56368  // This fault is thrown when an operation fails because the specified object
 56369  // is not a file.
 56370  type NotAFile struct {
 56371  	FileFault
 56372  }
 56373  
 56374  func init() {
 56375  	t["NotAFile"] = reflect.TypeOf((*NotAFile)(nil)).Elem()
 56376  }
 56377  
 56378  type NotAFileFault NotAFile
 56379  
 56380  func init() {
 56381  	t["NotAFileFault"] = reflect.TypeOf((*NotAFileFault)(nil)).Elem()
 56382  }
 56383  
 56384  // Thrown when an operation is denied because the session
 56385  // has not yet successfully logged in.
 56386  type NotAuthenticated struct {
 56387  	NoPermission
 56388  }
 56389  
 56390  func init() {
 56391  	t["NotAuthenticated"] = reflect.TypeOf((*NotAuthenticated)(nil)).Elem()
 56392  }
 56393  
 56394  type NotAuthenticatedFault NotAuthenticated
 56395  
 56396  func init() {
 56397  	t["NotAuthenticatedFault"] = reflect.TypeOf((*NotAuthenticatedFault)(nil)).Elem()
 56398  }
 56399  
 56400  // The host hardware does not have enough CPU cores to support the number of
 56401  // virtual CPUs in the virtual machine.
 56402  //
 56403  // If the host is using hyperthreading, NotEnoughLogicalCpus is
 56404  // employed instead of NotEnoughCpus.
 56405  type NotEnoughCpus struct {
 56406  	VirtualHardwareCompatibilityIssue
 56407  
 56408  	// The number of CPUs present on the host.
 56409  	NumCpuDest int32 `xml:"numCpuDest" json:"numCpuDest"`
 56410  	// The number of virtual CPUs present in the virtual machine.
 56411  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 56412  }
 56413  
 56414  func init() {
 56415  	t["NotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem()
 56416  }
 56417  
 56418  type NotEnoughCpusFault BaseNotEnoughCpus
 56419  
 56420  func init() {
 56421  	t["NotEnoughCpusFault"] = reflect.TypeOf((*NotEnoughCpusFault)(nil)).Elem()
 56422  }
 56423  
 56424  // A NotEnoughLicensesFault occurs when an operation
 56425  // fails because there are not enough licenses installed.
 56426  type NotEnoughLicenses struct {
 56427  	RuntimeFault
 56428  }
 56429  
 56430  func init() {
 56431  	t["NotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem()
 56432  }
 56433  
 56434  type NotEnoughLicensesFault BaseNotEnoughLicenses
 56435  
 56436  func init() {
 56437  	t["NotEnoughLicensesFault"] = reflect.TypeOf((*NotEnoughLicensesFault)(nil)).Elem()
 56438  }
 56439  
 56440  // The host hardware does not have enough logical CPUs (hyperthreads) to
 56441  // support the number of virtual CPUs in the virtual machine.
 56442  type NotEnoughLogicalCpus struct {
 56443  	NotEnoughCpus
 56444  
 56445  	// The host that does not have enough logical CPUs.
 56446  	//
 56447  	// Refers instance of `HostSystem`.
 56448  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 56449  }
 56450  
 56451  func init() {
 56452  	t["NotEnoughLogicalCpus"] = reflect.TypeOf((*NotEnoughLogicalCpus)(nil)).Elem()
 56453  }
 56454  
 56455  type NotEnoughLogicalCpusFault NotEnoughLogicalCpus
 56456  
 56457  func init() {
 56458  	t["NotEnoughLogicalCpusFault"] = reflect.TypeOf((*NotEnoughLogicalCpusFault)(nil)).Elem()
 56459  }
 56460  
 56461  // This event records when the HA does not find sufficient resources to failover a
 56462  // virtual machine.
 56463  type NotEnoughResourcesToStartVmEvent struct {
 56464  	VmEvent
 56465  
 56466  	// The reason why the virtual machine could not be restarted
 56467  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 56468  }
 56469  
 56470  func init() {
 56471  	t["NotEnoughResourcesToStartVmEvent"] = reflect.TypeOf((*NotEnoughResourcesToStartVmEvent)(nil)).Elem()
 56472  }
 56473  
 56474  // A NotFound error occurs when a referenced component of a managed
 56475  // object cannot be found.
 56476  //
 56477  // The referenced component can be a data
 56478  // object type (such as a role or permission) or a primitive
 56479  // (such as a string).
 56480  //
 56481  // For example, if the missing referenced component is a data object, such as
 56482  // VirtualSwitch, the NotFound error is
 56483  // thrown. The NotFound error is also thrown if the data object is found, but the referenced name
 56484  // (for example, "vswitch0") is not.
 56485  type NotFound struct {
 56486  	VimFault
 56487  }
 56488  
 56489  func init() {
 56490  	t["NotFound"] = reflect.TypeOf((*NotFound)(nil)).Elem()
 56491  }
 56492  
 56493  type NotFoundFault NotFound
 56494  
 56495  func init() {
 56496  	t["NotFoundFault"] = reflect.TypeOf((*NotFoundFault)(nil)).Elem()
 56497  }
 56498  
 56499  // NotImplemented exception is thrown if the method is not
 56500  // yet implemented.
 56501  type NotImplemented struct {
 56502  	RuntimeFault
 56503  }
 56504  
 56505  func init() {
 56506  	t["NotImplemented"] = reflect.TypeOf((*NotImplemented)(nil)).Elem()
 56507  }
 56508  
 56509  type NotImplementedFault NotImplemented
 56510  
 56511  func init() {
 56512  	t["NotImplementedFault"] = reflect.TypeOf((*NotImplementedFault)(nil)).Elem()
 56513  }
 56514  
 56515  // Thrown if the method is not supported on the
 56516  // server.
 56517  //
 56518  // Not all methods are supported on all servers
 56519  // (for example, an ESX Server host supports less functionality than
 56520  // a VirtualCenter server). A feature might also be disabled
 56521  // due to missing liceneses.
 56522  type NotSupported struct {
 56523  	RuntimeFault
 56524  }
 56525  
 56526  func init() {
 56527  	t["NotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem()
 56528  }
 56529  
 56530  // Deprecated as of vSphere API 7.0. Not used since vSphere API 6.5.
 56531  //
 56532  // VMs with pvscsi or vmxnet3 virtual devices support Fault Tolerance only
 56533  // on 4.1 or later hosts.
 56534  type NotSupportedDeviceForFT struct {
 56535  	VmFaultToleranceIssue
 56536  
 56537  	// The host
 56538  	//
 56539  	// Refers instance of `HostSystem`.
 56540  	Host ManagedObjectReference `xml:"host" json:"host"`
 56541  	// The host name
 56542  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 56543  	// The virtual machine
 56544  	//
 56545  	// Refers instance of `VirtualMachine`.
 56546  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 56547  	// The virtual machine name
 56548  	VmName string `xml:"vmName,omitempty" json:"vmName,omitempty"`
 56549  	// The device type
 56550  	DeviceType string `xml:"deviceType" json:"deviceType"`
 56551  	// The device label
 56552  	DeviceLabel string `xml:"deviceLabel,omitempty" json:"deviceLabel,omitempty"`
 56553  }
 56554  
 56555  func init() {
 56556  	t["NotSupportedDeviceForFT"] = reflect.TypeOf((*NotSupportedDeviceForFT)(nil)).Elem()
 56557  }
 56558  
 56559  type NotSupportedDeviceForFTFault NotSupportedDeviceForFT
 56560  
 56561  func init() {
 56562  	t["NotSupportedDeviceForFTFault"] = reflect.TypeOf((*NotSupportedDeviceForFTFault)(nil)).Elem()
 56563  }
 56564  
 56565  type NotSupportedFault BaseNotSupported
 56566  
 56567  func init() {
 56568  	t["NotSupportedFault"] = reflect.TypeOf((*NotSupportedFault)(nil)).Elem()
 56569  }
 56570  
 56571  // A NotSupportedHostFault occurs when the host is of a type
 56572  // that is not supported.
 56573  type NotSupportedHost struct {
 56574  	HostConnectFault
 56575  
 56576  	// The name of the unsupported product if available;
 56577  	// for example, "VMware ESX Server".
 56578  	ProductName string `xml:"productName,omitempty" json:"productName,omitempty"`
 56579  	// The version of the unsupported product; for example, "1.5.2"
 56580  	ProductVersion string `xml:"productVersion,omitempty" json:"productVersion,omitempty"`
 56581  }
 56582  
 56583  func init() {
 56584  	t["NotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem()
 56585  }
 56586  
 56587  type NotSupportedHostFault BaseNotSupportedHost
 56588  
 56589  func init() {
 56590  	t["NotSupportedHostFault"] = reflect.TypeOf((*NotSupportedHostFault)(nil)).Elem()
 56591  }
 56592  
 56593  // Base class for host checksum related faults
 56594  type NotSupportedHostForChecksum struct {
 56595  	VimFault
 56596  }
 56597  
 56598  func init() {
 56599  	t["NotSupportedHostForChecksum"] = reflect.TypeOf((*NotSupportedHostForChecksum)(nil)).Elem()
 56600  }
 56601  
 56602  type NotSupportedHostForChecksumFault NotSupportedHostForChecksum
 56603  
 56604  func init() {
 56605  	t["NotSupportedHostForChecksumFault"] = reflect.TypeOf((*NotSupportedHostForChecksumFault)(nil)).Elem()
 56606  }
 56607  
 56608  // The host does not support vFlash feature.
 56609  type NotSupportedHostForVFlash struct {
 56610  	NotSupportedHost
 56611  
 56612  	// The name of the host.
 56613  	HostName string `xml:"hostName" json:"hostName"`
 56614  }
 56615  
 56616  func init() {
 56617  	t["NotSupportedHostForVFlash"] = reflect.TypeOf((*NotSupportedHostForVFlash)(nil)).Elem()
 56618  }
 56619  
 56620  type NotSupportedHostForVFlashFault NotSupportedHostForVFlash
 56621  
 56622  func init() {
 56623  	t["NotSupportedHostForVFlashFault"] = reflect.TypeOf((*NotSupportedHostForVFlashFault)(nil)).Elem()
 56624  }
 56625  
 56626  // The host does not support VM Component Protection.
 56627  type NotSupportedHostForVmcp struct {
 56628  	NotSupportedHost
 56629  
 56630  	// The name of the host.
 56631  	HostName string `xml:"hostName" json:"hostName"`
 56632  }
 56633  
 56634  func init() {
 56635  	t["NotSupportedHostForVmcp"] = reflect.TypeOf((*NotSupportedHostForVmcp)(nil)).Elem()
 56636  }
 56637  
 56638  type NotSupportedHostForVmcpFault NotSupportedHostForVmcp
 56639  
 56640  func init() {
 56641  	t["NotSupportedHostForVmcpFault"] = reflect.TypeOf((*NotSupportedHostForVmcpFault)(nil)).Elem()
 56642  }
 56643  
 56644  // The host does not support VM Component Protection.
 56645  type NotSupportedHostForVmemFile struct {
 56646  	NotSupportedHost
 56647  
 56648  	// The name of the host.
 56649  	HostName string `xml:"hostName" json:"hostName"`
 56650  }
 56651  
 56652  func init() {
 56653  	t["NotSupportedHostForVmemFile"] = reflect.TypeOf((*NotSupportedHostForVmemFile)(nil)).Elem()
 56654  }
 56655  
 56656  type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile
 56657  
 56658  func init() {
 56659  	t["NotSupportedHostForVmemFileFault"] = reflect.TypeOf((*NotSupportedHostForVmemFileFault)(nil)).Elem()
 56660  }
 56661  
 56662  // The host does not support VSAN.
 56663  type NotSupportedHostForVsan struct {
 56664  	NotSupportedHost
 56665  
 56666  	// The name of the host.
 56667  	HostName string `xml:"hostName" json:"hostName"`
 56668  }
 56669  
 56670  func init() {
 56671  	t["NotSupportedHostForVsan"] = reflect.TypeOf((*NotSupportedHostForVsan)(nil)).Elem()
 56672  }
 56673  
 56674  type NotSupportedHostForVsanFault NotSupportedHostForVsan
 56675  
 56676  func init() {
 56677  	t["NotSupportedHostForVsanFault"] = reflect.TypeOf((*NotSupportedHostForVsanFault)(nil)).Elem()
 56678  }
 56679  
 56680  // A NotSupportedHostInCluster fault occurs when the host does not support
 56681  // the necessary features to participate in the cluster.
 56682  type NotSupportedHostInCluster struct {
 56683  	NotSupportedHost
 56684  }
 56685  
 56686  func init() {
 56687  	t["NotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem()
 56688  }
 56689  
 56690  type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster
 56691  
 56692  func init() {
 56693  	t["NotSupportedHostInClusterFault"] = reflect.TypeOf((*NotSupportedHostInClusterFault)(nil)).Elem()
 56694  }
 56695  
 56696  // A NotSupportedHostInDvs fault occurs when the host does not support
 56697  // the necessary features to participate in the DVS.
 56698  type NotSupportedHostInDvs struct {
 56699  	NotSupportedHost
 56700  
 56701  	// The product spec of the DVS.
 56702  	//
 56703  	// This determines which host versions may
 56704  	// participate in the DVS; that information may be queried by using
 56705  	// `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 56706  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 56707  }
 56708  
 56709  func init() {
 56710  	t["NotSupportedHostInDvs"] = reflect.TypeOf((*NotSupportedHostInDvs)(nil)).Elem()
 56711  }
 56712  
 56713  type NotSupportedHostInDvsFault NotSupportedHostInDvs
 56714  
 56715  func init() {
 56716  	t["NotSupportedHostInDvsFault"] = reflect.TypeOf((*NotSupportedHostInDvsFault)(nil)).Elem()
 56717  }
 56718  
 56719  // A NotSupportedHostInHACluster fault occurs when the host does not support
 56720  // the necessary features to participate in the HA cluster.
 56721  type NotSupportedHostInHACluster struct {
 56722  	NotSupportedHost
 56723  
 56724  	// The name of the host.
 56725  	HostName string `xml:"hostName" json:"hostName"`
 56726  	// The product build number of the host.
 56727  	Build string `xml:"build" json:"build"`
 56728  }
 56729  
 56730  func init() {
 56731  	t["NotSupportedHostInHACluster"] = reflect.TypeOf((*NotSupportedHostInHACluster)(nil)).Elem()
 56732  }
 56733  
 56734  type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster
 56735  
 56736  func init() {
 56737  	t["NotSupportedHostInHAClusterFault"] = reflect.TypeOf((*NotSupportedHostInHAClusterFault)(nil)).Elem()
 56738  }
 56739  
 56740  // The property value cannot be changed since it is not
 56741  // user configurable.
 56742  type NotUserConfigurableProperty struct {
 56743  	VAppPropertyFault
 56744  }
 56745  
 56746  func init() {
 56747  	t["NotUserConfigurableProperty"] = reflect.TypeOf((*NotUserConfigurableProperty)(nil)).Elem()
 56748  }
 56749  
 56750  type NotUserConfigurablePropertyFault NotUserConfigurableProperty
 56751  
 56752  func init() {
 56753  	t["NotUserConfigurablePropertyFault"] = reflect.TypeOf((*NotUserConfigurablePropertyFault)(nil)).Elem()
 56754  }
 56755  
 56756  type NotifyAffectedServices NotifyAffectedServicesRequestType
 56757  
 56758  func init() {
 56759  	t["NotifyAffectedServices"] = reflect.TypeOf((*NotifyAffectedServices)(nil)).Elem()
 56760  }
 56761  
 56762  // The parameters of `HostCertificateManager.NotifyAffectedServices`.
 56763  type NotifyAffectedServicesRequestType struct {
 56764  	This ManagedObjectReference `xml:"_this" json:"-"`
 56765  	// list of services that need to be notified and no
 56766  	// other service would be notified. if not provided all supported
 56767  	// services would be notified.
 56768  	Services []string `xml:"services,omitempty" json:"services,omitempty" vim:"8.0.1.0"`
 56769  }
 56770  
 56771  func init() {
 56772  	t["NotifyAffectedServicesRequestType"] = reflect.TypeOf((*NotifyAffectedServicesRequestType)(nil)).Elem()
 56773  }
 56774  
 56775  type NotifyAffectedServicesResponse struct {
 56776  }
 56777  
 56778  // The `NsxHostVNicProfile` data object is the base object
 56779  // for host Virtual NIC connected to NSX logic switch subprofiles.
 56780  //
 56781  // If a profile plug-in defines additional policies or subprofiles, use the
 56782  // `ApplyProfile.policy` or `ApplyProfile.property`
 56783  // list to access the configuration data.
 56784  type NsxHostVNicProfile struct {
 56785  	ApplyProfile
 56786  
 56787  	// Linkable identifier.
 56788  	Key string `xml:"key" json:"key"`
 56789  	// IP address for the Virtual NIC belonging to a logic switch.
 56790  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 56791  }
 56792  
 56793  func init() {
 56794  	t["NsxHostVNicProfile"] = reflect.TypeOf((*NsxHostVNicProfile)(nil)).Elem()
 56795  }
 56796  
 56797  // The NumPortsProfile data object represents a
 56798  // subprofile for the number of ports for a
 56799  // virtual switch
 56800  type NumPortsProfile struct {
 56801  	ApplyProfile
 56802  }
 56803  
 56804  func init() {
 56805  	t["NumPortsProfile"] = reflect.TypeOf((*NumPortsProfile)(nil)).Elem()
 56806  }
 56807  
 56808  // The host's software does not support enough cores per socket to
 56809  // accommodate the virtual machine.
 56810  //
 56811  // This is always an error.
 56812  type NumVirtualCoresPerSocketNotSupported struct {
 56813  	VirtualHardwareCompatibilityIssue
 56814  
 56815  	// The maximum number of cores per socket supported on the host.
 56816  	MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest" json:"maxSupportedCoresPerSocketDest"`
 56817  	// The number of cores per socket in the virtual machine.
 56818  	NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm" json:"numCoresPerSocketVm"`
 56819  }
 56820  
 56821  func init() {
 56822  	t["NumVirtualCoresPerSocketNotSupported"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupported)(nil)).Elem()
 56823  }
 56824  
 56825  type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported
 56826  
 56827  func init() {
 56828  	t["NumVirtualCoresPerSocketNotSupportedFault"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupportedFault)(nil)).Elem()
 56829  }
 56830  
 56831  // This fault is thrown when the total number of virtual CPUs present or requested
 56832  // in virtual machines' configuration has exceeded the limit on the host.
 56833  type NumVirtualCpusExceedsLimit struct {
 56834  	InsufficientResourcesFault
 56835  
 56836  	// The maximum number of virtual CPUs supported on the host.
 56837  	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus" json:"maxSupportedVcpus"`
 56838  }
 56839  
 56840  func init() {
 56841  	t["NumVirtualCpusExceedsLimit"] = reflect.TypeOf((*NumVirtualCpusExceedsLimit)(nil)).Elem()
 56842  }
 56843  
 56844  type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit
 56845  
 56846  func init() {
 56847  	t["NumVirtualCpusExceedsLimitFault"] = reflect.TypeOf((*NumVirtualCpusExceedsLimitFault)(nil)).Elem()
 56848  }
 56849  
 56850  // The number of virtual CPUs present or requested in the virtual machine's
 56851  // configuration is not supported for a specific feature.
 56852  type NumVirtualCpusIncompatible struct {
 56853  	VmConfigFault
 56854  
 56855  	// The reason for the incompatibility.
 56856  	//
 56857  	// See `NumVirtualCpusIncompatibleReason_enum` for valid values.
 56858  	Reason string `xml:"reason" json:"reason"`
 56859  	// The number of virtual CPUs in the virtual machine.
 56860  	NumCpu int32 `xml:"numCpu" json:"numCpu"`
 56861  }
 56862  
 56863  func init() {
 56864  	t["NumVirtualCpusIncompatible"] = reflect.TypeOf((*NumVirtualCpusIncompatible)(nil)).Elem()
 56865  }
 56866  
 56867  type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible
 56868  
 56869  func init() {
 56870  	t["NumVirtualCpusIncompatibleFault"] = reflect.TypeOf((*NumVirtualCpusIncompatibleFault)(nil)).Elem()
 56871  }
 56872  
 56873  // The host's software does not support enough virtual CPUs to
 56874  // accommodate the virtual machine.
 56875  //
 56876  // This is always an error.
 56877  type NumVirtualCpusNotSupported struct {
 56878  	VirtualHardwareCompatibilityIssue
 56879  
 56880  	// The maximum number of virtual CPUs supported on the host.
 56881  	MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest" json:"maxSupportedVcpusDest"`
 56882  	// The number of virtual CPUs in the virtual machine.
 56883  	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
 56884  }
 56885  
 56886  func init() {
 56887  	t["NumVirtualCpusNotSupported"] = reflect.TypeOf((*NumVirtualCpusNotSupported)(nil)).Elem()
 56888  }
 56889  
 56890  type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported
 56891  
 56892  func init() {
 56893  	t["NumVirtualCpusNotSupportedFault"] = reflect.TypeOf((*NumVirtualCpusNotSupportedFault)(nil)).Elem()
 56894  }
 56895  
 56896  // The class that describe an integer range.
 56897  type NumericRange struct {
 56898  	DynamicData
 56899  
 56900  	// The starting number.
 56901  	Start int32 `xml:"start" json:"start"`
 56902  	// The ending number (inclusive).
 56903  	End int32 `xml:"end" json:"end"`
 56904  }
 56905  
 56906  func init() {
 56907  	t["NumericRange"] = reflect.TypeOf((*NumericRange)(nil)).Elem()
 56908  }
 56909  
 56910  // Get detailed information of a nvdimm
 56911  type NvdimmDimmInfo struct {
 56912  	DynamicData
 56913  
 56914  	// Unique device identifier
 56915  	DimmHandle int32 `xml:"dimmHandle" json:"dimmHandle"`
 56916  	// Health status of nvdimm.
 56917  	//
 56918  	// `NvdimmHealthInfo`
 56919  	HealthInfo NvdimmHealthInfo `xml:"healthInfo" json:"healthInfo"`
 56920  	// Total capacity of NVDIMM in bytes
 56921  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 56922  	// Total persistent capacity in DIMM (in bytes)
 56923  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 56924  	// Persistent Capacity in DIMM currently not allocated
 56925  	AvailablePersistentCapacity int64 `xml:"availablePersistentCapacity" json:"availablePersistentCapacity"`
 56926  	// Total volatile capacity in DIMM (in bytes)
 56927  	VolatileCapacity int64 `xml:"volatileCapacity" json:"volatileCapacity"`
 56928  	// Volatile capacity in DIMM currently not allocated
 56929  	AvailableVolatileCapacity int64 `xml:"availableVolatileCapacity" json:"availableVolatileCapacity"`
 56930  	// Total block capacity in DIMM (in bytes)
 56931  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 56932  	// NVDIMM region information.
 56933  	//
 56934  	// List of regions in the NVDIMM. These regions may or maynot
 56935  	// be a part of an interleave set.
 56936  	RegionInfo []NvdimmRegionInfo `xml:"regionInfo,omitempty" json:"regionInfo,omitempty"`
 56937  	// NVDIMM Representation string which is a sequence of
 56938  	// numbers to uniquely identify the DIMM.
 56939  	RepresentationString string `xml:"representationString" json:"representationString"`
 56940  }
 56941  
 56942  func init() {
 56943  	t["NvdimmDimmInfo"] = reflect.TypeOf((*NvdimmDimmInfo)(nil)).Elem()
 56944  }
 56945  
 56946  // A unique identifier used for namespaces
 56947  type NvdimmGuid struct {
 56948  	DynamicData
 56949  
 56950  	// Universally unique identifier in string format
 56951  	Uuid string `xml:"uuid" json:"uuid"`
 56952  }
 56953  
 56954  func init() {
 56955  	t["NvdimmGuid"] = reflect.TypeOf((*NvdimmGuid)(nil)).Elem()
 56956  }
 56957  
 56958  // \\brief NVDIMM health information
 56959  type NvdimmHealthInfo struct {
 56960  	DynamicData
 56961  
 56962  	// Device health status.
 56963  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 56964  	// Health status description.
 56965  	HealthInformation string `xml:"healthInformation" json:"healthInformation"`
 56966  	// State flag information.
 56967  	//
 56968  	// This information is the cumulation of state flags of all the
 56969  	// NVDIMM region state flags. It must be one or more of
 56970  	// `NvdimmNvdimmHealthInfoState_enum`
 56971  	StateFlagInfo []string `xml:"stateFlagInfo,omitempty" json:"stateFlagInfo,omitempty"`
 56972  	// Current Nvdimm temperature in degree Celsius.
 56973  	DimmTemperature int32 `xml:"dimmTemperature" json:"dimmTemperature"`
 56974  	// Nvdimm temperature threshold.
 56975  	//
 56976  	// Default value is 0, indicating threshold has not reached,
 56977  	// if set to 1, reached threshold limit.
 56978  	DimmTemperatureThreshold int32 `xml:"dimmTemperatureThreshold" json:"dimmTemperatureThreshold"`
 56979  	// Percentage of spare capavity as a percentage of
 56980  	// factory configured space (valid range 0 to 100)
 56981  	SpareBlocksPercentage int32 `xml:"spareBlocksPercentage" json:"spareBlocksPercentage"`
 56982  	// Spare block threshold.
 56983  	//
 56984  	// Default value is 0, indicating threshold has not reached,
 56985  	// if set to 1, reached threshold limit.
 56986  	SpareBlockThreshold int32 `xml:"spareBlockThreshold" json:"spareBlockThreshold"`
 56987  	// Lifespan of Nvdimm as percentage.
 56988  	//
 56989  	// 100% = Warranted life span has reached.
 56990  	DimmLifespanPercentage int32 `xml:"dimmLifespanPercentage" json:"dimmLifespanPercentage"`
 56991  	// Energy source current temperature in degree Celsius.
 56992  	//
 56993  	// Default value is 0, indicating there is no
 56994  	// energy source for these nvdimms.
 56995  	EsTemperature int32 `xml:"esTemperature,omitempty" json:"esTemperature,omitempty"`
 56996  	// Energy source temperature threshold.
 56997  	//
 56998  	// Default value is 0, indicating threshold has not reached,
 56999  	// if set to 1, reached threshold limit.
 57000  	EsTemperatureThreshold int32 `xml:"esTemperatureThreshold,omitempty" json:"esTemperatureThreshold,omitempty"`
 57001  	// Lifespan of Energy source as percentage.
 57002  	//
 57003  	// 100% = Warranted life span has reached.
 57004  	// Default value is 0, indicating there is no energy
 57005  	// source.
 57006  	EsLifespanPercentage int32 `xml:"esLifespanPercentage,omitempty" json:"esLifespanPercentage,omitempty"`
 57007  }
 57008  
 57009  func init() {
 57010  	t["NvdimmHealthInfo"] = reflect.TypeOf((*NvdimmHealthInfo)(nil)).Elem()
 57011  }
 57012  
 57013  // Characteristics of an interleave set of a NVDIMM
 57014  type NvdimmInterleaveSetInfo struct {
 57015  	DynamicData
 57016  
 57017  	// Unique set ID
 57018  	SetId int32 `xml:"setId" json:"setId"`
 57019  	// Volatile or persistent interleave set.
 57020  	//
 57021  	// Must be one of the values of
 57022  	// `NvdimmRangeType_enum`
 57023  	RangeType string `xml:"rangeType" json:"rangeType"`
 57024  	// Start address of range
 57025  	BaseAddress int64 `xml:"baseAddress" json:"baseAddress"`
 57026  	// Length of range in bytes
 57027  	Size int64 `xml:"size" json:"size"`
 57028  	// Capacity currently not allocated to namespace in bytes
 57029  	AvailableSize int64 `xml:"availableSize" json:"availableSize"`
 57030  	// List of nvdimms contributing to this interleave set
 57031  	DeviceList []int32 `xml:"deviceList,omitempty" json:"deviceList,omitempty"`
 57032  	// State of interleave set.
 57033  	//
 57034  	// Must be one of the values in
 57035  	// `NvdimmInterleaveSetState_enum`
 57036  	State string `xml:"state" json:"state"`
 57037  }
 57038  
 57039  func init() {
 57040  	t["NvdimmInterleaveSetInfo"] = reflect.TypeOf((*NvdimmInterleaveSetInfo)(nil)).Elem()
 57041  }
 57042  
 57043  // Deprecated as of vSphere 6.7u1, use PMemNamespaceCreateReq.
 57044  //
 57045  // Arguments for creating a namespace.
 57046  type NvdimmNamespaceCreateSpec struct {
 57047  	DynamicData
 57048  
 57049  	// Friendly name of the namespace to be created.
 57050  	//
 57051  	// A friendly name can be provided by user to assosiate a name to
 57052  	// the created namespace, but such a name is not mandatory and is
 57053  	// empty string by default.
 57054  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 57055  	// Size of block in the namespace.
 57056  	//
 57057  	// For persistent region type, block size is one.
 57058  	// For block region, block size represents one of the logical block sizes
 57059  	// of 512, 4096 etc.
 57060  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 57061  	// Number of blocks in the namespace.
 57062  	//
 57063  	// For persistent region type, blockCount is the size of persistent
 57064  	// region in bytes.
 57065  	// For block region type, block count represent number of bytes per
 57066  	// block size.
 57067  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 57068  	// Type of the namespace to be created - block or persistent.
 57069  	//
 57070  	// Must be one of the values in
 57071  	// `NvdimmNamespaceType_enum`
 57072  	Type string `xml:"type" json:"type"`
 57073  	// This identifier is the interleave set ID if the namespace
 57074  	// is being used in persistent mode.
 57075  	//
 57076  	// If in block mode, this
 57077  	// is a device handle.
 57078  	LocationID int32 `xml:"locationID" json:"locationID"`
 57079  }
 57080  
 57081  func init() {
 57082  	t["NvdimmNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmNamespaceCreateSpec)(nil)).Elem()
 57083  }
 57084  
 57085  // Arguments for deleting a namespace
 57086  type NvdimmNamespaceDeleteSpec struct {
 57087  	DynamicData
 57088  
 57089  	// Universally unique identifier of the namespace to be deleted
 57090  	Uuid string `xml:"uuid" json:"uuid"`
 57091  }
 57092  
 57093  func init() {
 57094  	t["NvdimmNamespaceDeleteSpec"] = reflect.TypeOf((*NvdimmNamespaceDeleteSpec)(nil)).Elem()
 57095  }
 57096  
 57097  // Detailed information about a particular namespace.
 57098  type NvdimmNamespaceDetails struct {
 57099  	DynamicData
 57100  
 57101  	// Universally unique identifier assigned to namespace
 57102  	// in string format
 57103  	Uuid string `xml:"uuid" json:"uuid"`
 57104  	// Human readable name of namespace
 57105  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 57106  	// Size of namespace in bytes.
 57107  	Size int64 `xml:"size" json:"size"`
 57108  	// Type of the namespace to be created - block or persistent.
 57109  	//
 57110  	// Must be one of the values in
 57111  	// `NvdimmNamespaceType_enum`
 57112  	Type string `xml:"type" json:"type"`
 57113  	// Health status of DIMM(s) part of the namespace.
 57114  	//
 57115  	// Must be one of the values of
 57116  	// `NvdimmNamespaceDetailsHealthStatus_enum`
 57117  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 57118  	// The interleave set ID of the namespace.
 57119  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 57120  	// State of namespace.
 57121  	//
 57122  	// Must be one of
 57123  	// `NvdimmNamespaceDetailsState_enum`
 57124  	State string `xml:"state" json:"state"`
 57125  }
 57126  
 57127  func init() {
 57128  	t["NvdimmNamespaceDetails"] = reflect.TypeOf((*NvdimmNamespaceDetails)(nil)).Elem()
 57129  }
 57130  
 57131  // Deprecated as of vSphere 6.7u1, use NamespaceDetails.
 57132  //
 57133  // Detailed information about a particular namespace.
 57134  type NvdimmNamespaceInfo struct {
 57135  	DynamicData
 57136  
 57137  	// Universally unique identifier assigned to namespace
 57138  	// in string format
 57139  	Uuid string `xml:"uuid" json:"uuid"`
 57140  	// Friendly name of namespace
 57141  	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
 57142  	// Size of logical block size.
 57143  	//
 57144  	// For persistent region type, block size is one.
 57145  	// For block region, block size represents one of the logical block sizes
 57146  	// of 512, 4096 etc.
 57147  	BlockSize int64 `xml:"blockSize" json:"blockSize"`
 57148  	// Number of blocks in the namespace.
 57149  	//
 57150  	// For persistent region type, blockCount is the size of persistent
 57151  	// region in bytes.
 57152  	// For block region type, block count represent number of bytes per
 57153  	// block size.
 57154  	BlockCount int64 `xml:"blockCount" json:"blockCount"`
 57155  	// Type of the namespace to be created - block or persistent.
 57156  	//
 57157  	// Must be one of the values in
 57158  	// `NvdimmNamespaceType_enum`
 57159  	Type string `xml:"type" json:"type"`
 57160  	// Health status of DIMM(s) part of the namespace.
 57161  	//
 57162  	// Must be one of the values of
 57163  	// `NvdimmNamespaceHealthStatus_enum`
 57164  	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
 57165  	// This identifier is the interleave set ID if this namespace
 57166  	// is being used in persistent mode.
 57167  	//
 57168  	// If in block mode, this
 57169  	// is a nvdimm device handle.
 57170  	LocationID int32 `xml:"locationID" json:"locationID"`
 57171  	// State of namespace.
 57172  	//
 57173  	// Must be one of
 57174  	// `NvdimmNamespaceState_enum`
 57175  	State string `xml:"state" json:"state"`
 57176  }
 57177  
 57178  func init() {
 57179  	t["NvdimmNamespaceInfo"] = reflect.TypeOf((*NvdimmNamespaceInfo)(nil)).Elem()
 57180  }
 57181  
 57182  // Arguments for creating a persistent memory mode namespace
 57183  type NvdimmPMemNamespaceCreateSpec struct {
 57184  	DynamicData
 57185  
 57186  	// Friendly name of the namespace to be created.
 57187  	//
 57188  	// A friendly name can be provided by user to associate a name to
 57189  	// the created namespace, but such a name is not mandatory and is
 57190  	// empty string by default.
 57191  	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
 57192  	// Size of the namespace in bytes.
 57193  	Size int64 `xml:"size" json:"size"`
 57194  	// The interleave set ID of the namespace.
 57195  	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
 57196  }
 57197  
 57198  func init() {
 57199  	t["NvdimmPMemNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmPMemNamespaceCreateSpec)(nil)).Elem()
 57200  }
 57201  
 57202  // \\brief NVDIMM region information.
 57203  //
 57204  // This represents a region which is a part of NVDIMM.
 57205  type NvdimmRegionInfo struct {
 57206  	DynamicData
 57207  
 57208  	// NVDIMM region ID
 57209  	RegionId int32 `xml:"regionId" json:"regionId"`
 57210  	// Interleave set ID.
 57211  	//
 57212  	// Interleave set to which this region belongs. A value
 57213  	// of 0 indicates that this region is not a part of any
 57214  	// interleave set.
 57215  	SetId int32 `xml:"setId" json:"setId"`
 57216  	// Type of region.
 57217  	//
 57218  	// Must be one of the values of
 57219  	// `NvdimmRangeType_enum`
 57220  	RangeType string `xml:"rangeType" json:"rangeType"`
 57221  	// Region start address.
 57222  	//
 57223  	// This represents the address within the NVDIMM to which this
 57224  	// NVDIMM region belongs (Dimm physical address).
 57225  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57226  	StartAddr int64 `xml:"startAddr" json:"startAddr"`
 57227  	// Size of region in bytes.
 57228  	//
 57229  	// If this region is part of interleave set (represented by non zero
 57230  	// `NvdimmRegionInfo.setId`) and the region is interleaved across
 57231  	// multiple dimms (represented by more that one element in
 57232  	// `NvdimmInterleaveSetInfo.deviceList` for assosiated set id
 57233  	// `NvdimmRegionInfo.setId`), this size represents part of the
 57234  	// interleave set size - (total interleave set size / number
 57235  	// of dimms in `NvdimmInterleaveSetInfo.deviceList`).
 57236  	// Example: If Interleave set with set id 5, has a size of 2TB
 57237  	// and has 2 NVDIMMs contributing to it (size of
 57238  	// `NvdimmInterleaveSetInfo.deviceList` is 2), then this size
 57239  	// parameter is 2TB/2 = 1TB.
 57240  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57241  	Size int64 `xml:"size" json:"size"`
 57242  	// Offset of nvdimm within interleave set.
 57243  	//
 57244  	// This represents offset with respect to base address
 57245  	// in `NvdimmInterleaveSetInfo.baseAddress`.
 57246  	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
 57247  	Offset int64 `xml:"offset" json:"offset"`
 57248  }
 57249  
 57250  func init() {
 57251  	t["NvdimmRegionInfo"] = reflect.TypeOf((*NvdimmRegionInfo)(nil)).Elem()
 57252  }
 57253  
 57254  // \\brief Get summary of nvdimm
 57255  type NvdimmSummary struct {
 57256  	DynamicData
 57257  
 57258  	// Number of NVDIMMs in the system
 57259  	NumDimms int32 `xml:"numDimms" json:"numDimms"`
 57260  	// Summary of health status of all NVDIMMs in the system.
 57261  	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
 57262  	// Total capacity of all NVDIMMs in bytes
 57263  	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
 57264  	// Persistent region capacity in bytes
 57265  	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
 57266  	// Block region capacity in bytes
 57267  	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
 57268  	// Capacity not covered by namespace in bytes
 57269  	AvailableCapacity int64 `xml:"availableCapacity" json:"availableCapacity"`
 57270  	// Total number of interleave sets in the system
 57271  	NumInterleavesets int32 `xml:"numInterleavesets" json:"numInterleavesets"`
 57272  	// Total number of namespaces in the system
 57273  	NumNamespaces int32 `xml:"numNamespaces" json:"numNamespaces"`
 57274  }
 57275  
 57276  func init() {
 57277  	t["NvdimmSummary"] = reflect.TypeOf((*NvdimmSummary)(nil)).Elem()
 57278  }
 57279  
 57280  // This data object represents Non-Volatile DIMMs host
 57281  // configuration.
 57282  type NvdimmSystemInfo struct {
 57283  	DynamicData
 57284  
 57285  	// Host NVDIMM system summary.
 57286  	//
 57287  	// Summary is unset if the system does not support PMem feature.
 57288  	Summary *NvdimmSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 57289  	// List of NVDIMMs on the host.
 57290  	//
 57291  	// NVDIMM list unset if the system does not support PMem feature.
 57292  	Dimms []int32 `xml:"dimms,omitempty" json:"dimms,omitempty"`
 57293  	// List of DIMM information of all NVDIMMs on the host.
 57294  	//
 57295  	// Dimm information is unset if the system does not support PMem feature.
 57296  	DimmInfo []NvdimmDimmInfo `xml:"dimmInfo,omitempty" json:"dimmInfo,omitempty"`
 57297  	// List of NVDIMM Interleave sets on the host.
 57298  	//
 57299  	// Interleave set is unset if the system does not support PMem feature.
 57300  	InterleaveSet []int32 `xml:"interleaveSet,omitempty" json:"interleaveSet,omitempty"`
 57301  	// List of information of all NVDIMM interleave sets on the host.
 57302  	//
 57303  	// Interleave set information is unset if the system does not
 57304  	// support PMem feature.
 57305  	ISetInfo []NvdimmInterleaveSetInfo `xml:"iSetInfo,omitempty" json:"iSetInfo,omitempty"`
 57306  	// List of NVDIMM namespaces on the host.
 57307  	//
 57308  	// Namespace is unset if the system does not support PMem feature.
 57309  	Namespace []NvdimmGuid `xml:"namespace,omitempty" json:"namespace,omitempty"`
 57310  	// Deprecated as of vSphere 6.7u1, use nsDetails.
 57311  	//
 57312  	// List of information of all NVDIMM namespaces on the host.
 57313  	//
 57314  	// Namespace information is unset if the system does not support
 57315  	// PMem feature.
 57316  	NsInfo []NvdimmNamespaceInfo `xml:"nsInfo,omitempty" json:"nsInfo,omitempty"`
 57317  	// List of details of all NVDIMM namespaces on the host.
 57318  	//
 57319  	// Namespace details is unset if the system does not support
 57320  	// PMem feature.
 57321  	NsDetails []NvdimmNamespaceDetails `xml:"nsDetails,omitempty" json:"nsDetails,omitempty"`
 57322  }
 57323  
 57324  func init() {
 57325  	t["NvdimmSystemInfo"] = reflect.TypeOf((*NvdimmSystemInfo)(nil)).Elem()
 57326  }
 57327  
 57328  // The `ObjectContent` data object type contains the
 57329  // contents retrieved for a single managed object.
 57330  type ObjectContent struct {
 57331  	DynamicData
 57332  
 57333  	// Reference to the managed object that contains properties of interest.
 57334  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57335  	// Set of name-value pairs for the properties of the managed object.
 57336  	PropSet []DynamicProperty `xml:"propSet,omitempty" json:"propSet,omitempty"`
 57337  	// Properties for which values could not be retrieved and the associated
 57338  	// fault.
 57339  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 57340  }
 57341  
 57342  func init() {
 57343  	t["ObjectContent"] = reflect.TypeOf((*ObjectContent)(nil)).Elem()
 57344  }
 57345  
 57346  // Within a `PropertyFilterSpec`, the `ObjectSpec` data object type specifies the managed
 57347  // object at which the filter begins to collect the managed object
 57348  // references and properties specified by the associated `PropertySpec` set.
 57349  //
 57350  // If the "skip" property is present
 57351  // and set to true, then the filter does not check to see if the starting
 57352  // object's type matches any of the types listed in the associated sets of
 57353  // `PropertySpec` data objects.
 57354  //
 57355  // If the `ObjectSpec.selectSet` property is
 57356  // present, then this specifies additional objects to filter. These objects
 57357  // are defined by one or more `SelectionSpec`
 57358  // objects.
 57359  type ObjectSpec struct {
 57360  	DynamicData
 57361  
 57362  	// Starting object.
 57363  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57364  	// Flag to specify whether or not to report this managed object's
 57365  	// properties.
 57366  	//
 57367  	// If the flag is true, the filter will not report this
 57368  	// managed object's properties.
 57369  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 57370  	// Set of selections to specify additional objects to filter.
 57371  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 57372  }
 57373  
 57374  func init() {
 57375  	t["ObjectSpec"] = reflect.TypeOf((*ObjectSpec)(nil)).Elem()
 57376  }
 57377  
 57378  // The `ObjectUpdate` data object type contains
 57379  // information about changes to a particular managed object.
 57380  //
 57381  // We distinguish
 57382  // updates when an object is created, destroyed, or modified, as well as
 57383  // when the object enters or leaves the set of objects dynamically
 57384  // associated with a filter.
 57385  type ObjectUpdate struct {
 57386  	DynamicData
 57387  
 57388  	// Kind of update that caused the filter to report a change.
 57389  	Kind ObjectUpdateKind `xml:"kind" json:"kind"`
 57390  	// Reference to the managed object to which this update applies.
 57391  	Obj ManagedObjectReference `xml:"obj" json:"obj"`
 57392  	// Optional set of changes to the object.
 57393  	//
 57394  	// Present only if the "kind" is
 57395  	// either "modify" or "enter".
 57396  	ChangeSet []PropertyChange `xml:"changeSet,omitempty" json:"changeSet,omitempty"`
 57397  	// Properties whose value could not be retrieved and their associated
 57398  	// faults.
 57399  	//
 57400  	// Present only if the "kind" is either "modify" or "enter".
 57401  	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 57402  }
 57403  
 57404  func init() {
 57405  	t["ObjectUpdate"] = reflect.TypeOf((*ObjectUpdate)(nil)).Elem()
 57406  }
 57407  
 57408  // The `OnceTaskScheduler` data object establishes the time for running
 57409  // a scheduled task only once.
 57410  type OnceTaskScheduler struct {
 57411  	TaskScheduler
 57412  
 57413  	// The time a task will run.
 57414  	//
 57415  	// If you do not set the time, it executes immediately.
 57416  	RunAt *time.Time `xml:"runAt" json:"runAt,omitempty"`
 57417  }
 57418  
 57419  func init() {
 57420  	t["OnceTaskScheduler"] = reflect.TypeOf((*OnceTaskScheduler)(nil)).Elem()
 57421  }
 57422  
 57423  // The data object representing the capabilities supported by the Opaque
 57424  // Network.
 57425  type OpaqueNetworkCapability struct {
 57426  	DynamicData
 57427  
 57428  	// Indicates whether network I/O control is supported for a network
 57429  	// adapter that connects to the opaque network.
 57430  	NetworkReservationSupported bool `xml:"networkReservationSupported" json:"networkReservationSupported"`
 57431  }
 57432  
 57433  func init() {
 57434  	t["OpaqueNetworkCapability"] = reflect.TypeOf((*OpaqueNetworkCapability)(nil)).Elem()
 57435  }
 57436  
 57437  // The summary of a opaque network.
 57438  //
 57439  // An object of this class is returned by the `Network.summary` property.
 57440  type OpaqueNetworkSummary struct {
 57441  	NetworkSummary
 57442  
 57443  	// The opaque network ID
 57444  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 57445  	// The opaque network type
 57446  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 57447  }
 57448  
 57449  func init() {
 57450  	t["OpaqueNetworkSummary"] = reflect.TypeOf((*OpaqueNetworkSummary)(nil)).Elem()
 57451  }
 57452  
 57453  // This class describes an opaque network that a device backing
 57454  // can attached to.
 57455  type OpaqueNetworkTargetInfo struct {
 57456  	VirtualMachineTargetInfo
 57457  
 57458  	// Information about the opaque network
 57459  	Network OpaqueNetworkSummary `xml:"network" json:"network"`
 57460  	// Indicates whether network bandwidth reservation is supported on
 57461  	// the opaque network
 57462  	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty"`
 57463  }
 57464  
 57465  func init() {
 57466  	t["OpaqueNetworkTargetInfo"] = reflect.TypeOf((*OpaqueNetworkTargetInfo)(nil)).Elem()
 57467  }
 57468  
 57469  // The `OpaqueSwitchProfile` data object represents opaque switch
 57470  // configuration for the host.
 57471  //
 57472  // If a profile plug-in defines policies or subprofiles, use the
 57473  // `ApplyProfile.policy` or `ApplyProfile.property`
 57474  // list to access the additional configuration data.
 57475  type OpaqueSwitchProfile struct {
 57476  	ApplyProfile
 57477  }
 57478  
 57479  func init() {
 57480  	t["OpaqueSwitchProfile"] = reflect.TypeOf((*OpaqueSwitchProfile)(nil)).Elem()
 57481  }
 57482  
 57483  type OpenInventoryViewFolder OpenInventoryViewFolderRequestType
 57484  
 57485  func init() {
 57486  	t["OpenInventoryViewFolder"] = reflect.TypeOf((*OpenInventoryViewFolder)(nil)).Elem()
 57487  }
 57488  
 57489  // The parameters of `InventoryView.OpenInventoryViewFolder`.
 57490  type OpenInventoryViewFolderRequestType struct {
 57491  	This ManagedObjectReference `xml:"_this" json:"-"`
 57492  	// An array of managed object references. Each array entry is a reference
 57493  	// to an entity to expand. Expands each entity in the
 57494  	// order given. If an entity is not in the current view,
 57495  	// expands the view as needed.
 57496  	//
 57497  	// Required privileges: System.View
 57498  	//
 57499  	// Refers instances of `ManagedEntity`.
 57500  	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
 57501  }
 57502  
 57503  func init() {
 57504  	t["OpenInventoryViewFolderRequestType"] = reflect.TypeOf((*OpenInventoryViewFolderRequestType)(nil)).Elem()
 57505  }
 57506  
 57507  type OpenInventoryViewFolderResponse struct {
 57508  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 57509  }
 57510  
 57511  // An OperationDisabledByGuest exception is thrown when an
 57512  // operation fails because the guest operations agent has been configured to
 57513  // disable the operation.
 57514  type OperationDisabledByGuest struct {
 57515  	GuestOperationsFault
 57516  }
 57517  
 57518  func init() {
 57519  	t["OperationDisabledByGuest"] = reflect.TypeOf((*OperationDisabledByGuest)(nil)).Elem()
 57520  }
 57521  
 57522  type OperationDisabledByGuestFault OperationDisabledByGuest
 57523  
 57524  func init() {
 57525  	t["OperationDisabledByGuestFault"] = reflect.TypeOf((*OperationDisabledByGuestFault)(nil)).Elem()
 57526  }
 57527  
 57528  // An OperationDisallowedOnHost is thrown if an operation is diasllowed
 57529  // on host when a direct connection is used.
 57530  //
 57531  // Examples for such operations include VM powering on / memory hot-plug
 57532  // which could potentially violate hard-enforcement licenses if allowed
 57533  // on host.
 57534  // The functionality these operations provide is still available, but only
 57535  // through calls to an external entity.
 57536  type OperationDisallowedOnHost struct {
 57537  	RuntimeFault
 57538  }
 57539  
 57540  func init() {
 57541  	t["OperationDisallowedOnHost"] = reflect.TypeOf((*OperationDisallowedOnHost)(nil)).Elem()
 57542  }
 57543  
 57544  type OperationDisallowedOnHostFault OperationDisallowedOnHost
 57545  
 57546  func init() {
 57547  	t["OperationDisallowedOnHostFault"] = reflect.TypeOf((*OperationDisallowedOnHostFault)(nil)).Elem()
 57548  }
 57549  
 57550  // An OperationNotSupportedByGuest exception is thrown when an
 57551  // operation fails because the guest OS does not support
 57552  // the operation (e.g., Registry manipulation in Linux guests.).
 57553  type OperationNotSupportedByGuest struct {
 57554  	GuestOperationsFault
 57555  }
 57556  
 57557  func init() {
 57558  	t["OperationNotSupportedByGuest"] = reflect.TypeOf((*OperationNotSupportedByGuest)(nil)).Elem()
 57559  }
 57560  
 57561  type OperationNotSupportedByGuestFault OperationNotSupportedByGuest
 57562  
 57563  func init() {
 57564  	t["OperationNotSupportedByGuestFault"] = reflect.TypeOf((*OperationNotSupportedByGuestFault)(nil)).Elem()
 57565  }
 57566  
 57567  // Describes a user-defined option.
 57568  //
 57569  // The name of each option is identified by the
 57570  // "key" property, inherited from the `ElementDescription`
 57571  // data object type.
 57572  // You can indicate the property's position in a hierarchy by using a dot-separated
 57573  // notation. The string preceding the first dot is the top of the hierarchy. The
 57574  // hierarchy descends to a new sublevel with each dot.
 57575  // For example, "Ethernet.NetworkConnection.Bridged".
 57576  type OptionDef struct {
 57577  	ElementDescription
 57578  
 57579  	// The option type which defines allowed values.
 57580  	OptionType BaseOptionType `xml:"optionType,typeattr" json:"optionType"`
 57581  }
 57582  
 57583  func init() {
 57584  	t["OptionDef"] = reflect.TypeOf((*OptionDef)(nil)).Elem()
 57585  }
 57586  
 57587  // The `OptionProfile` data object encapsulates one advanced configuration.
 57588  //
 57589  // Use the `ApplyProfile.policy` list for access to configuration data
 57590  // for the option profile. Use the `ApplyProfile.property` list for access
 57591  // to subprofile configuration data, if any.
 57592  type OptionProfile struct {
 57593  	ApplyProfile
 57594  
 57595  	// Linkable identifier.
 57596  	Key string `xml:"key" json:"key"`
 57597  }
 57598  
 57599  func init() {
 57600  	t["OptionProfile"] = reflect.TypeOf((*OptionProfile)(nil)).Elem()
 57601  }
 57602  
 57603  // The base data object type for all options.
 57604  type OptionType struct {
 57605  	DynamicData
 57606  
 57607  	// The flag to indicate whether or not a user
 57608  	// can modify a value belonging to this option type.
 57609  	//
 57610  	// If
 57611  	// the flag is not set, the value can be modified.
 57612  	ValueIsReadonly *bool `xml:"valueIsReadonly" json:"valueIsReadonly,omitempty"`
 57613  }
 57614  
 57615  func init() {
 57616  	t["OptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem()
 57617  }
 57618  
 57619  // Describes the key/value pair of a configured option.
 57620  type OptionValue struct {
 57621  	DynamicData
 57622  
 57623  	// The name of the option using dot notation to reflect the
 57624  	// option's position in a hierarchy.
 57625  	//
 57626  	// For example, you might
 57627  	// have an option called "Ethernet" and another option that is
 57628  	// a child of that called "Connection". In this case, the key
 57629  	// for the latter could be defined as "Ethernet.Connection"
 57630  	Key string `xml:"key" json:"key"`
 57631  	// The value of the option.
 57632  	//
 57633  	// The Any data object type enables you to
 57634  	// define any value for the option. Typically, however, the value
 57635  	// of an option is of type String or Integer.
 57636  	Value AnyType `xml:"value,typeattr" json:"value"`
 57637  }
 57638  
 57639  func init() {
 57640  	t["OptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem()
 57641  }
 57642  
 57643  // A data object type that links multiple alarm expressions with OR operators.
 57644  type OrAlarmExpression struct {
 57645  	AlarmExpression
 57646  
 57647  	// List of alarm expressions that define the overall status of the alarm.
 57648  	//   - The state of the alarm expression is gray if all subexpressions are gray.
 57649  	//     Otherwise, gray subexpressions are ignored.
 57650  	//   - The state is red if any subexpression is red.
 57651  	//   - Otherwise, the state is yellow if any subexpression is yellow.
 57652  	//   - Otherwise, the state of the alarm expression is green.
 57653  	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
 57654  }
 57655  
 57656  func init() {
 57657  	t["OrAlarmExpression"] = reflect.TypeOf((*OrAlarmExpression)(nil)).Elem()
 57658  }
 57659  
 57660  // Thrown if a parameter exceeds the acceptable range of values.
 57661  type OutOfBounds struct {
 57662  	VimFault
 57663  
 57664  	// This should be the name of the field that holds the allowed maximum
 57665  	// (for example, Host.capability.maxSupportedVMs).
 57666  	ArgumentName string `xml:"argumentName" json:"argumentName"`
 57667  }
 57668  
 57669  func init() {
 57670  	t["OutOfBounds"] = reflect.TypeOf((*OutOfBounds)(nil)).Elem()
 57671  }
 57672  
 57673  type OutOfBoundsFault OutOfBounds
 57674  
 57675  func init() {
 57676  	t["OutOfBoundsFault"] = reflect.TypeOf((*OutOfBoundsFault)(nil)).Elem()
 57677  }
 57678  
 57679  // The list of hosts that have the DVS configuration on the host
 57680  // diverged from that of the Virtual Center Server.
 57681  type OutOfSyncDvsHost struct {
 57682  	DvsEvent
 57683  
 57684  	// The host that went out of sync.
 57685  	HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
 57686  }
 57687  
 57688  func init() {
 57689  	t["OutOfSyncDvsHost"] = reflect.TypeOf((*OutOfSyncDvsHost)(nil)).Elem()
 57690  }
 57691  
 57692  type OverwriteCustomizationSpec OverwriteCustomizationSpecRequestType
 57693  
 57694  func init() {
 57695  	t["OverwriteCustomizationSpec"] = reflect.TypeOf((*OverwriteCustomizationSpec)(nil)).Elem()
 57696  }
 57697  
 57698  // The parameters of `CustomizationSpecManager.OverwriteCustomizationSpec`.
 57699  type OverwriteCustomizationSpecRequestType struct {
 57700  	This ManagedObjectReference `xml:"_this" json:"-"`
 57701  	Item CustomizationSpecItem  `xml:"item" json:"item"`
 57702  }
 57703  
 57704  func init() {
 57705  	t["OverwriteCustomizationSpecRequestType"] = reflect.TypeOf((*OverwriteCustomizationSpecRequestType)(nil)).Elem()
 57706  }
 57707  
 57708  type OverwriteCustomizationSpecResponse struct {
 57709  }
 57710  
 57711  // An OVF descriptor Attribute base class.
 57712  type OvfAttribute struct {
 57713  	OvfInvalidPackage
 57714  
 57715  	// Element name where the attribute is defined
 57716  	ElementName string `xml:"elementName" json:"elementName"`
 57717  	// Attribute name
 57718  	AttributeName string `xml:"attributeName" json:"attributeName"`
 57719  }
 57720  
 57721  func init() {
 57722  	t["OvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem()
 57723  }
 57724  
 57725  type OvfAttributeFault BaseOvfAttribute
 57726  
 57727  func init() {
 57728  	t["OvfAttributeFault"] = reflect.TypeOf((*OvfAttributeFault)(nil)).Elem()
 57729  }
 57730  
 57731  type OvfConnectedDevice struct {
 57732  	OvfHardwareExport
 57733  }
 57734  
 57735  func init() {
 57736  	t["OvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem()
 57737  }
 57738  
 57739  type OvfConnectedDeviceFault BaseOvfConnectedDevice
 57740  
 57741  func init() {
 57742  	t["OvfConnectedDeviceFault"] = reflect.TypeOf((*OvfConnectedDeviceFault)(nil)).Elem()
 57743  }
 57744  
 57745  type OvfConnectedDeviceFloppy struct {
 57746  	OvfConnectedDevice
 57747  
 57748  	// The filename of the floppy image
 57749  	Filename string `xml:"filename" json:"filename"`
 57750  }
 57751  
 57752  func init() {
 57753  	t["OvfConnectedDeviceFloppy"] = reflect.TypeOf((*OvfConnectedDeviceFloppy)(nil)).Elem()
 57754  }
 57755  
 57756  type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy
 57757  
 57758  func init() {
 57759  	t["OvfConnectedDeviceFloppyFault"] = reflect.TypeOf((*OvfConnectedDeviceFloppyFault)(nil)).Elem()
 57760  }
 57761  
 57762  type OvfConnectedDeviceIso struct {
 57763  	OvfConnectedDevice
 57764  
 57765  	// The filename of the ISO
 57766  	Filename string `xml:"filename" json:"filename"`
 57767  }
 57768  
 57769  func init() {
 57770  	t["OvfConnectedDeviceIso"] = reflect.TypeOf((*OvfConnectedDeviceIso)(nil)).Elem()
 57771  }
 57772  
 57773  type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso
 57774  
 57775  func init() {
 57776  	t["OvfConnectedDeviceIsoFault"] = reflect.TypeOf((*OvfConnectedDeviceIsoFault)(nil)).Elem()
 57777  }
 57778  
 57779  // A base fault for Ovf descriptor constraints
 57780  type OvfConstraint struct {
 57781  	OvfInvalidPackage
 57782  
 57783  	// The name of the element
 57784  	Name string `xml:"name" json:"name"`
 57785  }
 57786  
 57787  func init() {
 57788  	t["OvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem()
 57789  }
 57790  
 57791  type OvfConstraintFault BaseOvfConstraint
 57792  
 57793  func init() {
 57794  	t["OvfConstraintFault"] = reflect.TypeOf((*OvfConstraintFault)(nil)).Elem()
 57795  }
 57796  
 57797  // Superclass for all faults that can be thrown during the callback to an OVF
 57798  // consumer.
 57799  //
 57800  // The `MethodFault.faultCause` gives details about what went
 57801  // wrong.
 57802  type OvfConsumerCallbackFault struct {
 57803  	OvfFault
 57804  
 57805  	// The OVF consumer's extension key.
 57806  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 57807  	// The OVF consumer's extension name.
 57808  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 57809  }
 57810  
 57811  func init() {
 57812  	t["OvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem()
 57813  }
 57814  
 57815  type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault
 57816  
 57817  func init() {
 57818  	t["OvfConsumerCallbackFaultFault"] = reflect.TypeOf((*OvfConsumerCallbackFaultFault)(nil)).Elem()
 57819  }
 57820  
 57821  // A fault type indicating that network communication with an OVF consumer failed.
 57822  type OvfConsumerCommunicationError struct {
 57823  	OvfConsumerCallbackFault
 57824  
 57825  	// The network library error message.
 57826  	Description string `xml:"description" json:"description"`
 57827  }
 57828  
 57829  func init() {
 57830  	t["OvfConsumerCommunicationError"] = reflect.TypeOf((*OvfConsumerCommunicationError)(nil)).Elem()
 57831  }
 57832  
 57833  type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError
 57834  
 57835  func init() {
 57836  	t["OvfConsumerCommunicationErrorFault"] = reflect.TypeOf((*OvfConsumerCommunicationErrorFault)(nil)).Elem()
 57837  }
 57838  
 57839  // Localized fault that may be thrown by an OVF consumer.
 57840  type OvfConsumerFault struct {
 57841  	OvfConsumerCallbackFault
 57842  
 57843  	// An error code that uniquely describes the fault within this extension.
 57844  	ErrorKey string `xml:"errorKey" json:"errorKey"`
 57845  	// The error message, localized by the OVF consumer
 57846  	Message string `xml:"message" json:"message"`
 57847  	// Additional parameters for this fault
 57848  	Params []KeyValue `xml:"params,omitempty" json:"params,omitempty"`
 57849  }
 57850  
 57851  func init() {
 57852  	t["OvfConsumerFault"] = reflect.TypeOf((*OvfConsumerFault)(nil)).Elem()
 57853  }
 57854  
 57855  type OvfConsumerFaultFault OvfConsumerFault
 57856  
 57857  func init() {
 57858  	t["OvfConsumerFaultFault"] = reflect.TypeOf((*OvfConsumerFaultFault)(nil)).Elem()
 57859  }
 57860  
 57861  // A fault type indicating that the XML of a section appended by an OVF consumer was
 57862  // invalid.
 57863  type OvfConsumerInvalidSection struct {
 57864  	OvfConsumerCallbackFault
 57865  
 57866  	// The line number in the section on which the error was found.
 57867  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 57868  	// The XML parser error message.
 57869  	Description string `xml:"description" json:"description"`
 57870  }
 57871  
 57872  func init() {
 57873  	t["OvfConsumerInvalidSection"] = reflect.TypeOf((*OvfConsumerInvalidSection)(nil)).Elem()
 57874  }
 57875  
 57876  type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection
 57877  
 57878  func init() {
 57879  	t["OvfConsumerInvalidSectionFault"] = reflect.TypeOf((*OvfConsumerInvalidSectionFault)(nil)).Elem()
 57880  }
 57881  
 57882  // A node in the OVF section tree.
 57883  //
 57884  // This class represents a node on which OVF sections can be defined. The possible
 57885  // node types are OstNodeType.envelope, OstNodeType.virtualSystem or
 57886  // OstNodeType.virtualSystemCollection, corresponding to the identically named OVF
 57887  // element types.
 57888  //
 57889  // Since the node contains a list of children, it can also be regarded as a tree. This
 57890  // tree mirrors the structure of the OVF descriptor. It is provided to OVF consumers
 57891  // as a more convenient way to navigate and modify the OVF than by working directly on
 57892  // the XML.
 57893  type OvfConsumerOstNode struct {
 57894  	DynamicData
 57895  
 57896  	// The OVF id of the Content (VirtualSystem or VirtualSystemCollection)
 57897  	// element.
 57898  	//
 57899  	// Empty on the envelope node.
 57900  	Id string `xml:"id" json:"id"`
 57901  	// The type of the node.
 57902  	//
 57903  	// Possible values are defined in the OstNodeType enum.
 57904  	//
 57905  	// Since the OstNode tree structure mirrors the structure of the OVF descriptor,
 57906  	// only one Envelope node is defined, and it is always the root of the tree.
 57907  	Type string `xml:"type" json:"type"`
 57908  	// The list of sections on this node.
 57909  	Section []OvfConsumerOvfSection `xml:"section,omitempty" json:"section,omitempty"`
 57910  	// The list of child nodes.
 57911  	//
 57912  	// As dictated by OVF, this list is subject to the
 57913  	// following rules:
 57914  	//   - The Envelope node must have exactly one child.
 57915  	//   - VirtualSystemCollection nodes may have zero or more children.
 57916  	//   - VirtualSystem nodes must have no children.
 57917  	Child []OvfConsumerOstNode `xml:"child,omitempty" json:"child,omitempty"`
 57918  	// The VM or vApp corresponding to this node.
 57919  	//
 57920  	// This field is set when this OstNode represents an existing managed entity.
 57921  	//
 57922  	// The entity is unset on nodes of type OstNodeType.envelope.
 57923  	//
 57924  	// Refers instance of `ManagedEntity`.
 57925  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 57926  }
 57927  
 57928  func init() {
 57929  	t["OvfConsumerOstNode"] = reflect.TypeOf((*OvfConsumerOstNode)(nil)).Elem()
 57930  }
 57931  
 57932  // A self-contained OVF section
 57933  type OvfConsumerOvfSection struct {
 57934  	DynamicData
 57935  
 57936  	// The line number in the OVF descriptor on which this section starts.
 57937  	//
 57938  	// The line number is only present on sections that were imported as part of an OVF
 57939  	// descriptor (as opposed to sections that are about to be exported to OVF).
 57940  	//
 57941  	// The value is zero if the section did not originate from an OVF descriptor.
 57942  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 57943  	// The XML fragment for the section.
 57944  	//
 57945  	// The XML fragment must explicitly define all namespaces and namespace prefixes
 57946  	// that are used in the fragment, including the default namespace.
 57947  	Xml string `xml:"xml" json:"xml"`
 57948  }
 57949  
 57950  func init() {
 57951  	t["OvfConsumerOvfSection"] = reflect.TypeOf((*OvfConsumerOvfSection)(nil)).Elem()
 57952  }
 57953  
 57954  // A fault type indicating that the power on operation failed.
 57955  type OvfConsumerPowerOnFault struct {
 57956  	InvalidState
 57957  
 57958  	// The OVF consumer's extension key.
 57959  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 57960  	// The OVF consumer's extension name.
 57961  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 57962  	// A localized, human-readable description of the error.
 57963  	Description string `xml:"description" json:"description"`
 57964  }
 57965  
 57966  func init() {
 57967  	t["OvfConsumerPowerOnFault"] = reflect.TypeOf((*OvfConsumerPowerOnFault)(nil)).Elem()
 57968  }
 57969  
 57970  type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault
 57971  
 57972  func init() {
 57973  	t["OvfConsumerPowerOnFaultFault"] = reflect.TypeOf((*OvfConsumerPowerOnFaultFault)(nil)).Elem()
 57974  }
 57975  
 57976  // A fault type indicating that an OVF consumer appended an undeclared section to an OST.
 57977  //
 57978  // An undeclared section means a section with a qualified type that the OVF consumer was
 57979  // not registered as a handler of.
 57980  type OvfConsumerUndeclaredSection struct {
 57981  	OvfConsumerCallbackFault
 57982  
 57983  	// The undeclared qualified section type appended by the OVF consumer.
 57984  	QualifiedSectionType string `xml:"qualifiedSectionType" json:"qualifiedSectionType"`
 57985  }
 57986  
 57987  func init() {
 57988  	t["OvfConsumerUndeclaredSection"] = reflect.TypeOf((*OvfConsumerUndeclaredSection)(nil)).Elem()
 57989  }
 57990  
 57991  type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection
 57992  
 57993  func init() {
 57994  	t["OvfConsumerUndeclaredSectionFault"] = reflect.TypeOf((*OvfConsumerUndeclaredSectionFault)(nil)).Elem()
 57995  }
 57996  
 57997  // A fault type indicating that an OVF consumer added a section with an unbound prefix.
 57998  type OvfConsumerUndefinedPrefix struct {
 57999  	OvfConsumerCallbackFault
 58000  
 58001  	// The prefix for which no namespace definition was found.
 58002  	Prefix string `xml:"prefix" json:"prefix"`
 58003  }
 58004  
 58005  func init() {
 58006  	t["OvfConsumerUndefinedPrefix"] = reflect.TypeOf((*OvfConsumerUndefinedPrefix)(nil)).Elem()
 58007  }
 58008  
 58009  type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix
 58010  
 58011  func init() {
 58012  	t["OvfConsumerUndefinedPrefixFault"] = reflect.TypeOf((*OvfConsumerUndefinedPrefixFault)(nil)).Elem()
 58013  }
 58014  
 58015  // Thrown by an OVF consumer if an error occurred while validating an instantiation OST.
 58016  type OvfConsumerValidationFault struct {
 58017  	VmConfigFault
 58018  
 58019  	// The OVF consumer's extension key.
 58020  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 58021  	// The OVF consumer's extension name.
 58022  	ExtensionName string `xml:"extensionName" json:"extensionName"`
 58023  	// The error message, localized by the OVF consumer
 58024  	Message string `xml:"message" json:"message"`
 58025  }
 58026  
 58027  func init() {
 58028  	t["OvfConsumerValidationFault"] = reflect.TypeOf((*OvfConsumerValidationFault)(nil)).Elem()
 58029  }
 58030  
 58031  type OvfConsumerValidationFaultFault OvfConsumerValidationFault
 58032  
 58033  func init() {
 58034  	t["OvfConsumerValidationFaultFault"] = reflect.TypeOf((*OvfConsumerValidationFaultFault)(nil)).Elem()
 58035  }
 58036  
 58037  type OvfCpuCompatibility struct {
 58038  	OvfImport
 58039  
 58040  	// Possible register names are eax, ebx, ecx, or edx.
 58041  	RegisterName string `xml:"registerName" json:"registerName"`
 58042  	// The CpuId level where a problem was detected.
 58043  	//
 58044  	// Other levels may
 58045  	// also have problems
 58046  	Level int32 `xml:"level" json:"level"`
 58047  	// The register value where the problem was detected
 58048  	RegisterValue string `xml:"registerValue" json:"registerValue"`
 58049  	// The desired register value return from the host
 58050  	DesiredRegisterValue string `xml:"desiredRegisterValue" json:"desiredRegisterValue"`
 58051  }
 58052  
 58053  func init() {
 58054  	t["OvfCpuCompatibility"] = reflect.TypeOf((*OvfCpuCompatibility)(nil)).Elem()
 58055  }
 58056  
 58057  type OvfCpuCompatibilityCheckNotSupported struct {
 58058  	OvfImport
 58059  }
 58060  
 58061  func init() {
 58062  	t["OvfCpuCompatibilityCheckNotSupported"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupported)(nil)).Elem()
 58063  }
 58064  
 58065  type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported
 58066  
 58067  func init() {
 58068  	t["OvfCpuCompatibilityCheckNotSupportedFault"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupportedFault)(nil)).Elem()
 58069  }
 58070  
 58071  type OvfCpuCompatibilityFault OvfCpuCompatibility
 58072  
 58073  func init() {
 58074  	t["OvfCpuCompatibilityFault"] = reflect.TypeOf((*OvfCpuCompatibilityFault)(nil)).Elem()
 58075  }
 58076  
 58077  // Collection of parameters for createDescriptor
 58078  type OvfCreateDescriptorParams struct {
 58079  	DynamicData
 58080  
 58081  	// Contains information about the files of the entity, if they have already been
 58082  	// downloaded.
 58083  	//
 58084  	// Needed to construct the References section of the descriptor.
 58085  	//
 58086  	// OvfFile is a positive list of files to include in the export. An Empty list
 58087  	// will do no filtering.
 58088  	OvfFiles []OvfFile `xml:"ovfFiles,omitempty" json:"ovfFiles,omitempty"`
 58089  	// The ovf:id to use for the top-level OVF Entity.
 58090  	//
 58091  	// If unset, the entity's
 58092  	// product name is used if available. Otherwise, the VI entity name is used.
 58093  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 58094  	// The contents of the Annontation section of the top-level OVF Entity.
 58095  	//
 58096  	// If unset,
 58097  	// any existing annotation on the entity is left unchanged.
 58098  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 58099  	// Controls whether attached image files should be included in the descriptor.
 58100  	//
 58101  	// This applies to image files attached to VirtualCdrom and VirtualFloppy.
 58102  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty"`
 58103  	// An optional argument for modifying the export process.
 58104  	//
 58105  	// The option is used to control what extra information that will be included in the
 58106  	// OVF descriptor.
 58107  	//
 58108  	// To get a list of supported keywords see `OvfManager.ovfExportOption`. Unknown
 58109  	// options will be ignored by the server.
 58110  	ExportOption []string `xml:"exportOption,omitempty" json:"exportOption,omitempty"`
 58111  	// Snapshot reference from which the OVF descriptor should be based.
 58112  	//
 58113  	// If this parameter is set, the OVF descriptor is based off the
 58114  	// snapshot point. This means that the OVF descriptor will have the
 58115  	// same configuration as the virtual machine at the time the snapshot
 58116  	// was taken.
 58117  	//
 58118  	// The snapshot must be belong to the specified ManagedEntity in the
 58119  	// createDescriptor call.
 58120  	//
 58121  	// Refers instance of `VirtualMachineSnapshot`.
 58122  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 58123  }
 58124  
 58125  func init() {
 58126  	t["OvfCreateDescriptorParams"] = reflect.TypeOf((*OvfCreateDescriptorParams)(nil)).Elem()
 58127  }
 58128  
 58129  // The result of creating the OVF descriptor for the entity.
 58130  type OvfCreateDescriptorResult struct {
 58131  	DynamicData
 58132  
 58133  	// The OVF descriptor for the entity.
 58134  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 58135  	// Errors that happened during processing.
 58136  	//
 58137  	// For example, unknown or unsupported devices could be found (in which case
 58138  	// this array will contain one or more instances of Unsupported-/UnknownDevice).
 58139  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 58140  	// Non-fatal warnings from the processing.
 58141  	//
 58142  	// The result will be valid, but the user may choose to reject it based on these
 58143  	// warnings.
 58144  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 58145  	// Returns true if there are ISO or Floppy images attached to one or more VMs.
 58146  	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty"`
 58147  }
 58148  
 58149  func init() {
 58150  	t["OvfCreateDescriptorResult"] = reflect.TypeOf((*OvfCreateDescriptorResult)(nil)).Elem()
 58151  }
 58152  
 58153  // Parameters for deploying an OVF.
 58154  type OvfCreateImportSpecParams struct {
 58155  	OvfManagerCommonParams
 58156  
 58157  	// The name to set on the entity (more precisely, on the top-level vApp or
 58158  	// VM of the entity) as it appears in VI.
 58159  	//
 58160  	// If empty, the product name is obtained
 58161  	// from the ProductSection of the descriptor. If that name is not specified, the
 58162  	// ovf:id of the top-level entity is used.
 58163  	EntityName string `xml:"entityName" json:"entityName"`
 58164  	// The host to validate the OVF descriptor against, if it cannot be deduced from
 58165  	// the resource pool.
 58166  	//
 58167  	// The privilege System.Read is required on the host.
 58168  	//
 58169  	// Refers instance of `HostSystem`.
 58170  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 58171  	// The mapping of network identifiers from the descriptor to networks in the VI
 58172  	// infrastructure.
 58173  	//
 58174  	// The privilege Network.Assign is required on all networks in the list.
 58175  	NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 58176  	// The IP allocation policy chosen by the caller.
 58177  	//
 58178  	// See `VAppIPAssignmentInfo`.
 58179  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 58180  	// The IP protocol chosen by the caller.
 58181  	//
 58182  	// See `VAppIPAssignmentInfo`.
 58183  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 58184  	// The assignment of values to the properties found in the descriptor.
 58185  	//
 58186  	// If no value
 58187  	// is specified for an option, the default value from the descriptor is used.
 58188  	PropertyMapping []KeyValue `xml:"propertyMapping,omitempty" json:"propertyMapping,omitempty"`
 58189  	// Deprecated as of vSphere API 5.1.
 58190  	//
 58191  	// The resource configuration for the created vApp.
 58192  	//
 58193  	// This can be used to distribute
 58194  	// a vApp across multiple resource pools (and create linked children).
 58195  	ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty"`
 58196  	// An optional disk provisioning.
 58197  	//
 58198  	// If set, all the disks in the deployed OVF will
 58199  	// have get the same specified disk type (e.g., thin provisioned).
 58200  	// The valide values for disk provisioning are:
 58201  	//   - `monolithicSparse`
 58202  	//   - `monolithicFlat`
 58203  	//   - `twoGbMaxExtentSparse`
 58204  	//   - `twoGbMaxExtentFlat`
 58205  	//   - `thin`
 58206  	//   - `thick`
 58207  	//   - `sparse`
 58208  	//   - `flat`
 58209  	//   - `seSparse`
 58210  	//
 58211  	// See also `VirtualDiskMode_enum`.
 58212  	DiskProvisioning string `xml:"diskProvisioning,omitempty" json:"diskProvisioning,omitempty"`
 58213  	// The instantiation OST to configure OVF consumers.
 58214  	//
 58215  	// This is created by the client
 58216  	// from the annotated OST. See `OvfConsumer` for details.
 58217  	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty"`
 58218  }
 58219  
 58220  func init() {
 58221  	t["OvfCreateImportSpecParams"] = reflect.TypeOf((*OvfCreateImportSpecParams)(nil)).Elem()
 58222  }
 58223  
 58224  // The CreateImportSpecResult contains all information regarding the import that can
 58225  // be extracted from the OVF descriptor.
 58226  //
 58227  // For example, this includes the list of items that the caller must upload in order
 58228  // to complete the import, but not the list of URLs to which the files must be
 58229  // uploaded. These paths are not known until the VMs have been created, ie. until
 58230  // `ResourcePool.importVApp` has been
 58231  // called.
 58232  type OvfCreateImportSpecResult struct {
 58233  	DynamicData
 58234  
 58235  	// The ImportSpec contains information about which `VirtualMachine`s
 58236  	// and `VirtualApp`s are present in the entity and
 58237  	// how they relate to each other.
 58238  	ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr" json:"importSpec,omitempty"`
 58239  	// The files that must be uploaded by the caller as part of importing the entity.
 58240  	//
 58241  	// The files must be uploaded in order, because some of them may be delta files
 58242  	// that patch already-uploaded files.
 58243  	FileItem []OvfFileItem `xml:"fileItem,omitempty" json:"fileItem,omitempty"`
 58244  	// Non-fatal warnings from the processing.
 58245  	//
 58246  	// The ImportSpec will be valid, but the
 58247  	// user may choose to reject it based on these warnings.
 58248  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 58249  	// Errors that happened during processing.
 58250  	//
 58251  	// Something will be wrong with the
 58252  	// ImportSpec, or it is not present.
 58253  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 58254  }
 58255  
 58256  func init() {
 58257  	t["OvfCreateImportSpecResult"] = reflect.TypeOf((*OvfCreateImportSpecResult)(nil)).Elem()
 58258  }
 58259  
 58260  // A deployment option as defined in the OVF specfication.
 58261  //
 58262  // This corresponds to the Configuration element of the DeploymentOptionSection in the
 58263  // specification.
 58264  type OvfDeploymentOption struct {
 58265  	DynamicData
 58266  
 58267  	// The key of the deployment option, corresponding to the ovf:id attribute in the
 58268  	// OVF descriptor
 58269  	Key string `xml:"key" json:"key"`
 58270  	// A localized label for the deployment option
 58271  	Label string `xml:"label" json:"label"`
 58272  	// A localizable description for the deployment option.
 58273  	Description string `xml:"description" json:"description"`
 58274  }
 58275  
 58276  func init() {
 58277  	t["OvfDeploymentOption"] = reflect.TypeOf((*OvfDeploymentOption)(nil)).Elem()
 58278  }
 58279  
 58280  type OvfDiskMappingNotFound struct {
 58281  	OvfSystemFault
 58282  
 58283  	// The disk name that is not found
 58284  	DiskName string `xml:"diskName" json:"diskName"`
 58285  	// The VM Name
 58286  	VmName string `xml:"vmName" json:"vmName"`
 58287  }
 58288  
 58289  func init() {
 58290  	t["OvfDiskMappingNotFound"] = reflect.TypeOf((*OvfDiskMappingNotFound)(nil)).Elem()
 58291  }
 58292  
 58293  type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound
 58294  
 58295  func init() {
 58296  	t["OvfDiskMappingNotFoundFault"] = reflect.TypeOf((*OvfDiskMappingNotFoundFault)(nil)).Elem()
 58297  }
 58298  
 58299  // Class used to indicate that the Disks in a DiskSection was not defined
 58300  // in the same order as in the Reference section
 58301  type OvfDiskOrderConstraint struct {
 58302  	OvfConstraint
 58303  }
 58304  
 58305  func init() {
 58306  	t["OvfDiskOrderConstraint"] = reflect.TypeOf((*OvfDiskOrderConstraint)(nil)).Elem()
 58307  }
 58308  
 58309  type OvfDiskOrderConstraintFault OvfDiskOrderConstraint
 58310  
 58311  func init() {
 58312  	t["OvfDiskOrderConstraintFault"] = reflect.TypeOf((*OvfDiskOrderConstraintFault)(nil)).Elem()
 58313  }
 58314  
 58315  // OvfDuplicateElement is thrown if Ovf descriptor contains an invalid duplicate element.
 58316  type OvfDuplicateElement struct {
 58317  	OvfElement
 58318  }
 58319  
 58320  func init() {
 58321  	t["OvfDuplicateElement"] = reflect.TypeOf((*OvfDuplicateElement)(nil)).Elem()
 58322  }
 58323  
 58324  type OvfDuplicateElementFault OvfDuplicateElement
 58325  
 58326  func init() {
 58327  	t["OvfDuplicateElementFault"] = reflect.TypeOf((*OvfDuplicateElementFault)(nil)).Elem()
 58328  }
 58329  
 58330  // If the Ovf descriptor element have duplicated element bound.
 58331  type OvfDuplicatedElementBoundary struct {
 58332  	OvfElement
 58333  
 58334  	// Name of duplicated boundary
 58335  	Boundary string `xml:"boundary" json:"boundary"`
 58336  }
 58337  
 58338  func init() {
 58339  	t["OvfDuplicatedElementBoundary"] = reflect.TypeOf((*OvfDuplicatedElementBoundary)(nil)).Elem()
 58340  }
 58341  
 58342  type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary
 58343  
 58344  func init() {
 58345  	t["OvfDuplicatedElementBoundaryFault"] = reflect.TypeOf((*OvfDuplicatedElementBoundaryFault)(nil)).Elem()
 58346  }
 58347  
 58348  // Two or more user-configurable properties are
 58349  // found with the same fully-qualified property
 58350  // name.
 58351  type OvfDuplicatedPropertyIdExport struct {
 58352  	OvfExport
 58353  
 58354  	// The fully qualified property id.
 58355  	Fqid string `xml:"fqid" json:"fqid"`
 58356  }
 58357  
 58358  func init() {
 58359  	t["OvfDuplicatedPropertyIdExport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExport)(nil)).Elem()
 58360  }
 58361  
 58362  type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport
 58363  
 58364  func init() {
 58365  	t["OvfDuplicatedPropertyIdExportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExportFault)(nil)).Elem()
 58366  }
 58367  
 58368  // Two or more user-configurable properties are
 58369  // found with the same fully-qualified property
 58370  // name.
 58371  type OvfDuplicatedPropertyIdImport struct {
 58372  	OvfExport
 58373  }
 58374  
 58375  func init() {
 58376  	t["OvfDuplicatedPropertyIdImport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImport)(nil)).Elem()
 58377  }
 58378  
 58379  type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport
 58380  
 58381  func init() {
 58382  	t["OvfDuplicatedPropertyIdImportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImportFault)(nil)).Elem()
 58383  }
 58384  
 58385  // A base fault for element exceptions in the Ovf XML descriptor.
 58386  type OvfElement struct {
 58387  	OvfInvalidPackage
 58388  
 58389  	// The name of the element
 58390  	Name string `xml:"name" json:"name"`
 58391  }
 58392  
 58393  func init() {
 58394  	t["OvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem()
 58395  }
 58396  
 58397  type OvfElementFault BaseOvfElement
 58398  
 58399  func init() {
 58400  	t["OvfElementFault"] = reflect.TypeOf((*OvfElementFault)(nil)).Elem()
 58401  }
 58402  
 58403  // A class used if a element node is found to have an invalid value.
 58404  //
 58405  // Base class for OvfProperty errors.
 58406  type OvfElementInvalidValue struct {
 58407  	OvfElement
 58408  
 58409  	// The value of the element
 58410  	Value string `xml:"value" json:"value"`
 58411  }
 58412  
 58413  func init() {
 58414  	t["OvfElementInvalidValue"] = reflect.TypeOf((*OvfElementInvalidValue)(nil)).Elem()
 58415  }
 58416  
 58417  type OvfElementInvalidValueFault OvfElementInvalidValue
 58418  
 58419  func init() {
 58420  	t["OvfElementInvalidValueFault"] = reflect.TypeOf((*OvfElementInvalidValueFault)(nil)).Elem()
 58421  }
 58422  
 58423  // A common base class to host all the Ovf Lib Export Exceptions.
 58424  type OvfExport struct {
 58425  	OvfFault
 58426  }
 58427  
 58428  func init() {
 58429  	t["OvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem()
 58430  }
 58431  
 58432  // This fault is used if we fail to export an OVF package.
 58433  type OvfExportFailed struct {
 58434  	OvfExport
 58435  }
 58436  
 58437  func init() {
 58438  	t["OvfExportFailed"] = reflect.TypeOf((*OvfExportFailed)(nil)).Elem()
 58439  }
 58440  
 58441  type OvfExportFailedFault OvfExportFailed
 58442  
 58443  func init() {
 58444  	t["OvfExportFailedFault"] = reflect.TypeOf((*OvfExportFailedFault)(nil)).Elem()
 58445  }
 58446  
 58447  type OvfExportFault BaseOvfExport
 58448  
 58449  func init() {
 58450  	t["OvfExportFault"] = reflect.TypeOf((*OvfExportFault)(nil)).Elem()
 58451  }
 58452  
 58453  // A common base type fault for all Ovf related faults.
 58454  //
 58455  // The structure of OvfFault is as listed.
 58456  //   - OvfFault
 58457  //   - OvfInvalidPackage
 58458  //   - OvfXmlFormat
 58459  //   - OvfWrongNamespace
 58460  //   - OvfElement
 58461  //   - OvfElementInvalidValue
 58462  //   - OvfUnexpectedElement
 58463  //   - OvfDuplicateElement
 58464  //   - OvfMissingElement
 58465  //   - OvfMissingElementNormalBoundary
 58466  //   - OvfDuplicatedElementBoundary
 58467  //   - OvfAttribute
 58468  //   - OvfMissingAttribute
 58469  //   - OvfInvalidValue
 58470  //   - OvfInvalidValueFormatMalformed
 58471  //   - OvfInvalidValueConfiguration
 58472  //   - OvfInvalidValueReference
 58473  //   - OvfInvalidValueEmpty
 58474  //   - OvfProperty
 58475  //   - OvfPropertyType
 58476  //   - OvfPropertyValue
 58477  //   - OvfPropertyNetwork
 58478  //   - OvfPropertyQualifier
 58479  //   - OvfPropertyQualifierWarning
 58480  //   - OvfConstraint
 58481  //   - OvfDiskOrderConstraint
 58482  //   - OvfHostResourceConstraint
 58483  //   - OvfUnsupportedPackage
 58484  //   - OvfNoHostNic
 58485  //   - OvfInvalidVmName
 58486  //   - OvfUnsupportedAttribute
 58487  //   - OvfUnsupportedAttributeValue
 58488  //   - OvfUnsupportedElement
 58489  //   - OvfUnsupportedElementValue
 58490  //   - OvfUnsupportedSection
 58491  //   - OvfNoSpaceOnController
 58492  //   - OvfUnsupportedType
 58493  //   - OvfUnsupportedSubType
 58494  //   - OvfHardwareCheck
 58495  //   - OvfNoSupportedHardwareFamily
 58496  //   - OvfExport
 58497  //   - OvfExportFailed
 58498  //   - OvfHardwareExport
 58499  //   - OvfUnsupportedDeviceExport
 58500  //   - OvfUnknownDeviceBacking
 58501  //   - OvfConnectedDevice
 58502  //   - OvfConnectedDeviceISO
 58503  //   - OvfUnableToExportDisk
 58504  //   - OvfPropertyExport
 58505  //   - OvfPropertyNetworkExport
 58506  //   - OvfDuplicatedPropertyIdExport
 58507  //   - OvfImport (these are typically returned as warnings)
 58508  //   - OvfImportFailed
 58509  //   - OvfHardwareCheck
 58510  //   - OvfMissingHardware
 58511  //   - OvfCpuCompatibility
 58512  //   - OvfCpuCompatibilityCheckNotSupported
 58513  //   - OvfUnsupportedDiskProvisioning
 58514  //   - OvfDuplicatedPropertyIdImport
 58515  //   - OvfNetworkMappingNotSupported
 58516  //   - OvfSystemFault
 58517  //   - OvfDiskMappingNotFound
 58518  //   - OvfHostValueNotParsed
 58519  //   - OvfInternalError
 58520  //   - OvfUnsupportedDeviceBackingOption
 58521  //   - OvfUnsupportedDeviceBackingInfo
 58522  //   - OvfToXmlUnsupportedElement
 58523  //   - OvfUnknownDevice
 58524  //   - OvfUnknownEntity
 58525  //   - OvfConsumerCallbackFault
 58526  //   - OvfConsumerFault
 58527  //   - OvfConsumerCommunicationError
 58528  //   - OvfConsumerInvalidSection
 58529  //   - OvfConsumerUndeclaredSection
 58530  //   - OvfConsumerUndefinedPrefix
 58531  //
 58532  // All messages go into the vimlocale
 58533  type OvfFault struct {
 58534  	VimFault
 58535  }
 58536  
 58537  func init() {
 58538  	t["OvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem()
 58539  }
 58540  
 58541  type OvfFaultFault BaseOvfFault
 58542  
 58543  func init() {
 58544  	t["OvfFaultFault"] = reflect.TypeOf((*OvfFaultFault)(nil)).Elem()
 58545  }
 58546  
 58547  // Represents a file that the caller has downloaded and stored somewhere appropriate.
 58548  //
 58549  // An instance of this class is used to tell OvfManager about the choices the caller
 58550  // made about a file. This information is needed when the OVF descriptor is generated
 58551  // with createDescriptor.
 58552  type OvfFile struct {
 58553  	DynamicData
 58554  
 58555  	// The ID of the device backed by this file.
 58556  	//
 58557  	// This ID uniquely identifies the
 58558  	// device within the entity hierarchy.
 58559  	//
 58560  	// The caller will have received this along with the URL needed to download the
 58561  	// file (this is handled by another service interface).
 58562  	DeviceId string `xml:"deviceId" json:"deviceId"`
 58563  	// The path chosen by the caller for this file.
 58564  	//
 58565  	// This path becomes the value of the
 58566  	// "href" attribute of the corresponding "File" element in the OVF descriptor.
 58567  	//
 58568  	// This path must be relative to the path chosen for the OVF descriptor. This
 58569  	// implies that the caller must decide in advance on the path to which it will
 58570  	// write the OVF descriptor, once it is returned.
 58571  	//
 58572  	// The folder separator must be "/" (forward slash).
 58573  	//
 58574  	// The path must not begin with a slash - ie. it must not be an absolute path.
 58575  	Path string `xml:"path" json:"path"`
 58576  	// The compression method the caller chose to employ for this file.
 58577  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 58578  	// The chunksize chosen by the caller.
 58579  	//
 58580  	// When using chunking, the caller must adhere to the method described in the OVF
 58581  	// specification.
 58582  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 58583  	// The file size, as observed by the caller during download.
 58584  	Size int64 `xml:"size" json:"size"`
 58585  	// The capacity of the disk backed by this file.
 58586  	//
 58587  	// This should only be set if the
 58588  	// device backed by this file is a disk. This value will be written in the
 58589  	// "capacity" attribute of the corresponding "Disk" element in the OVF descriptor.
 58590  	//
 58591  	// Note that the "capacity" attribute is normally set to the capacity of the
 58592  	// corresponding `VirtualDisk`. Setting this variable
 58593  	// overrides the capacity from the VirtualDisk.
 58594  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 58595  	// The populated size of the disk backed by this file.
 58596  	//
 58597  	// This should only be set if
 58598  	// the device backed by this file is a disk. This value will be written in the
 58599  	// "populatedSize" attribute of the corresponding "Disk" element in the OVF
 58600  	// descriptor.
 58601  	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
 58602  }
 58603  
 58604  func init() {
 58605  	t["OvfFile"] = reflect.TypeOf((*OvfFile)(nil)).Elem()
 58606  }
 58607  
 58608  // An FileItem represents a file that must be uploaded by the caller when the
 58609  // inventory objects has been created in VI.
 58610  //
 58611  // These objects are created by `ResourcePool.importVApp`.
 58612  //
 58613  // Files can either be new files, in which case the "create" flag will be true, or
 58614  // updates to existing files in VI. The latter is used to support the OVF parentRef
 58615  // mechanism for Disks.
 58616  type OvfFileItem struct {
 58617  	DynamicData
 58618  
 58619  	// Uniquely identifies the device (disk, CD-ROM etc.) within the entity hierarchy.
 58620  	//
 58621  	// When `ResourcePool.importVApp` is
 58622  	// called to create the `VirtualMachine`s and `VirtualApp`s, it returns a map,
 58623  	// device ID -&gt; URL, of where to upload the backing files.
 58624  	DeviceId string `xml:"deviceId" json:"deviceId"`
 58625  	// The path of the item to upload, relative to the path of the OVF descriptor.
 58626  	Path string `xml:"path" json:"path"`
 58627  	// The compression method as specified by the OVF
 58628  	// specification (for example "gzip" or "bzip2").
 58629  	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
 58630  	// The chunksize as specified by the OVF specification.
 58631  	//
 58632  	// If this attribute is set, the "path" attribute is a prefix to
 58633  	// each chunk of the complete file.
 58634  	// For example, if chunksize is 2000000000 bytes, the actual files
 58635  	// might be:
 58636  	// myfile.000000000 (2000000000 bytes)
 58637  	// myfile.000000001 (2000000000 bytes)
 58638  	// myfile.000000002 (1500000000 bytes)
 58639  	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
 58640  	// The complete size of the file, if it is specified in the
 58641  	// OVF descriptor.
 58642  	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
 58643  	// The CIM type of the device for which this file provides
 58644  	// backing.
 58645  	//
 58646  	// For example, the value 17 means "Disk drive".
 58647  	CimType int32 `xml:"cimType" json:"cimType"`
 58648  	// True if the item is not expected to exist in the infrastructure
 58649  	// and should therefore be created by the caller (for example using HTTP PUT).
 58650  	Create bool `xml:"create" json:"create"`
 58651  }
 58652  
 58653  func init() {
 58654  	t["OvfFileItem"] = reflect.TypeOf((*OvfFileItem)(nil)).Elem()
 58655  }
 58656  
 58657  type OvfHardwareCheck struct {
 58658  	OvfImport
 58659  }
 58660  
 58661  func init() {
 58662  	t["OvfHardwareCheck"] = reflect.TypeOf((*OvfHardwareCheck)(nil)).Elem()
 58663  }
 58664  
 58665  type OvfHardwareCheckFault OvfHardwareCheck
 58666  
 58667  func init() {
 58668  	t["OvfHardwareCheckFault"] = reflect.TypeOf((*OvfHardwareCheckFault)(nil)).Elem()
 58669  }
 58670  
 58671  // A common base class to host all the OvfLib Export Exceptions for hardware.
 58672  type OvfHardwareExport struct {
 58673  	OvfExport
 58674  
 58675  	// The virtual device we are exporting to OVF
 58676  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 58677  	// The path to the VM containing the device.
 58678  	//
 58679  	// This path shows the location of the VM in the vApp hierarchy, on the form:
 58680  	//
 58681  	// /ParentVApp/ChildVApp/VMName
 58682  	VmPath string `xml:"vmPath" json:"vmPath"`
 58683  }
 58684  
 58685  func init() {
 58686  	t["OvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem()
 58687  }
 58688  
 58689  type OvfHardwareExportFault BaseOvfHardwareExport
 58690  
 58691  func init() {
 58692  	t["OvfHardwareExportFault"] = reflect.TypeOf((*OvfHardwareExportFault)(nil)).Elem()
 58693  }
 58694  
 58695  // Class used to indicate that the value in HostResoruce did not map to
 58696  // a valid reference element.
 58697  type OvfHostResourceConstraint struct {
 58698  	OvfConstraint
 58699  
 58700  	// Value of the element
 58701  	Value string `xml:"value" json:"value"`
 58702  }
 58703  
 58704  func init() {
 58705  	t["OvfHostResourceConstraint"] = reflect.TypeOf((*OvfHostResourceConstraint)(nil)).Elem()
 58706  }
 58707  
 58708  type OvfHostResourceConstraintFault OvfHostResourceConstraint
 58709  
 58710  func init() {
 58711  	t["OvfHostResourceConstraintFault"] = reflect.TypeOf((*OvfHostResourceConstraintFault)(nil)).Elem()
 58712  }
 58713  
 58714  type OvfHostValueNotParsed struct {
 58715  	OvfSystemFault
 58716  
 58717  	// The host property field that could not be parsed.
 58718  	Property string `xml:"property" json:"property"`
 58719  	// Value of the field that could not be parsed.
 58720  	Value string `xml:"value" json:"value"`
 58721  }
 58722  
 58723  func init() {
 58724  	t["OvfHostValueNotParsed"] = reflect.TypeOf((*OvfHostValueNotParsed)(nil)).Elem()
 58725  }
 58726  
 58727  type OvfHostValueNotParsedFault OvfHostValueNotParsed
 58728  
 58729  func init() {
 58730  	t["OvfHostValueNotParsedFault"] = reflect.TypeOf((*OvfHostValueNotParsedFault)(nil)).Elem()
 58731  }
 58732  
 58733  // A common base class for errors that can happen during Import and
 58734  // that is not due to an invalid package (OvfInvalidPackage).
 58735  //
 58736  // These
 58737  // are typically issued as warnings.
 58738  type OvfImport struct {
 58739  	OvfFault
 58740  }
 58741  
 58742  func init() {
 58743  	t["OvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem()
 58744  }
 58745  
 58746  // This fault is used if we fail to deploy an OVF package.
 58747  type OvfImportFailed struct {
 58748  	OvfImport
 58749  }
 58750  
 58751  func init() {
 58752  	t["OvfImportFailed"] = reflect.TypeOf((*OvfImportFailed)(nil)).Elem()
 58753  }
 58754  
 58755  type OvfImportFailedFault OvfImportFailed
 58756  
 58757  func init() {
 58758  	t["OvfImportFailedFault"] = reflect.TypeOf((*OvfImportFailedFault)(nil)).Elem()
 58759  }
 58760  
 58761  type OvfImportFault BaseOvfImport
 58762  
 58763  func init() {
 58764  	t["OvfImportFault"] = reflect.TypeOf((*OvfImportFault)(nil)).Elem()
 58765  }
 58766  
 58767  // Disk mode not supported
 58768  type OvfInternalError struct {
 58769  	OvfSystemFault
 58770  }
 58771  
 58772  func init() {
 58773  	t["OvfInternalError"] = reflect.TypeOf((*OvfInternalError)(nil)).Elem()
 58774  }
 58775  
 58776  type OvfInternalErrorFault OvfInternalError
 58777  
 58778  func init() {
 58779  	t["OvfInternalErrorFault"] = reflect.TypeOf((*OvfInternalErrorFault)(nil)).Elem()
 58780  }
 58781  
 58782  // Base fault class for all Invalid OVF package faults.
 58783  type OvfInvalidPackage struct {
 58784  	OvfFault
 58785  
 58786  	// XML OVF descriptor line numbers
 58787  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 58788  }
 58789  
 58790  func init() {
 58791  	t["OvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem()
 58792  }
 58793  
 58794  type OvfInvalidPackageFault BaseOvfInvalidPackage
 58795  
 58796  func init() {
 58797  	t["OvfInvalidPackageFault"] = reflect.TypeOf((*OvfInvalidPackageFault)(nil)).Elem()
 58798  }
 58799  
 58800  // If an invalid value is found in the Ovf descriptor we throw an OvfInvalidValue exception.
 58801  type OvfInvalidValue struct {
 58802  	OvfAttribute
 58803  
 58804  	// Attribute value
 58805  	Value string `xml:"value" json:"value"`
 58806  }
 58807  
 58808  func init() {
 58809  	t["OvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem()
 58810  }
 58811  
 58812  // If an malformed ovf:configuration attribute value is found in the
 58813  // Ovf descriptor we throw an OvfInvalidValueConfiguration exception.
 58814  type OvfInvalidValueConfiguration struct {
 58815  	OvfInvalidValue
 58816  }
 58817  
 58818  func init() {
 58819  	t["OvfInvalidValueConfiguration"] = reflect.TypeOf((*OvfInvalidValueConfiguration)(nil)).Elem()
 58820  }
 58821  
 58822  type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration
 58823  
 58824  func init() {
 58825  	t["OvfInvalidValueConfigurationFault"] = reflect.TypeOf((*OvfInvalidValueConfigurationFault)(nil)).Elem()
 58826  }
 58827  
 58828  // If an attribute is found with an empty value where it is not allowed.
 58829  type OvfInvalidValueEmpty struct {
 58830  	OvfInvalidValue
 58831  }
 58832  
 58833  func init() {
 58834  	t["OvfInvalidValueEmpty"] = reflect.TypeOf((*OvfInvalidValueEmpty)(nil)).Elem()
 58835  }
 58836  
 58837  type OvfInvalidValueEmptyFault OvfInvalidValueEmpty
 58838  
 58839  func init() {
 58840  	t["OvfInvalidValueEmptyFault"] = reflect.TypeOf((*OvfInvalidValueEmptyFault)(nil)).Elem()
 58841  }
 58842  
 58843  type OvfInvalidValueFault BaseOvfInvalidValue
 58844  
 58845  func init() {
 58846  	t["OvfInvalidValueFault"] = reflect.TypeOf((*OvfInvalidValueFault)(nil)).Elem()
 58847  }
 58848  
 58849  // If an malformed value is found in the Ovf descriptor we throw an OvfInvalidValueFormatMalformed
 58850  // exception.
 58851  type OvfInvalidValueFormatMalformed struct {
 58852  	OvfInvalidValue
 58853  }
 58854  
 58855  func init() {
 58856  	t["OvfInvalidValueFormatMalformed"] = reflect.TypeOf((*OvfInvalidValueFormatMalformed)(nil)).Elem()
 58857  }
 58858  
 58859  type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed
 58860  
 58861  func init() {
 58862  	t["OvfInvalidValueFormatMalformedFault"] = reflect.TypeOf((*OvfInvalidValueFormatMalformedFault)(nil)).Elem()
 58863  }
 58864  
 58865  // If a value refer to something that is not found is found in the Ovf descriptor
 58866  // we throw an OvfInvalidValueReference exception.
 58867  type OvfInvalidValueReference struct {
 58868  	OvfInvalidValue
 58869  }
 58870  
 58871  func init() {
 58872  	t["OvfInvalidValueReference"] = reflect.TypeOf((*OvfInvalidValueReference)(nil)).Elem()
 58873  }
 58874  
 58875  type OvfInvalidValueReferenceFault OvfInvalidValueReference
 58876  
 58877  func init() {
 58878  	t["OvfInvalidValueReferenceFault"] = reflect.TypeOf((*OvfInvalidValueReferenceFault)(nil)).Elem()
 58879  }
 58880  
 58881  // This fault is used if we can not normalize the vm name
 58882  type OvfInvalidVmName struct {
 58883  	OvfUnsupportedPackage
 58884  
 58885  	// The name of the invalid Virtual Machine
 58886  	Name string `xml:"name" json:"name"`
 58887  }
 58888  
 58889  func init() {
 58890  	t["OvfInvalidVmName"] = reflect.TypeOf((*OvfInvalidVmName)(nil)).Elem()
 58891  }
 58892  
 58893  type OvfInvalidVmNameFault OvfInvalidVmName
 58894  
 58895  func init() {
 58896  	t["OvfInvalidVmNameFault"] = reflect.TypeOf((*OvfInvalidVmNameFault)(nil)).Elem()
 58897  }
 58898  
 58899  // A common super-class for basic OVF descriptor parameters
 58900  type OvfManagerCommonParams struct {
 58901  	DynamicData
 58902  
 58903  	// The locale-identifier to choose from the descriptor.
 58904  	//
 58905  	// If empty, the
 58906  	// default locale on the server is used.
 58907  	Locale string `xml:"locale" json:"locale"`
 58908  	// The key of the chosen deployment option.
 58909  	//
 58910  	// If empty, the default option is
 58911  	// chosen. The list of possible deployment options is returned in the result of
 58912  	// parseDescriptor.
 58913  	DeploymentOption string `xml:"deploymentOption" json:"deploymentOption"`
 58914  	// An optional set of localization strings to be used.
 58915  	//
 58916  	// The server will use
 58917  	// these message strings to localize information in the result and in
 58918  	// error and warning messages.
 58919  	//
 58920  	// This argument allows a client to pass messages from external
 58921  	// string bundles. The client is responsible for selecting the right string
 58922  	// bundle (based on locale) and parsing the external string bundle. The
 58923  	// passed in key/value pairs are looked up before any messages
 58924  	// included in the OVF descriptor itself.
 58925  	MsgBundle []KeyValue `xml:"msgBundle,omitempty" json:"msgBundle,omitempty"`
 58926  	// An optional argument for modifing the OVF parsing.
 58927  	//
 58928  	// When the server parses an OVF
 58929  	// descriptor a set of options can be used to modify the parsing. The argument is a list
 58930  	// of keywords.
 58931  	//
 58932  	// To get a list of supported keywords see `OvfManager.ovfImportOption`. Unknown
 58933  	// options will be ignored by the server.
 58934  	ImportOption []string `xml:"importOption,omitempty" json:"importOption,omitempty"`
 58935  }
 58936  
 58937  func init() {
 58938  	t["OvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem()
 58939  }
 58940  
 58941  type OvfMappedOsId struct {
 58942  	OvfImport
 58943  
 58944  	// The operating system id specified in the OVF descriptor.
 58945  	OvfId int32 `xml:"ovfId" json:"ovfId"`
 58946  	// The OS description specified in the OVF descriptor.
 58947  	OvfDescription string `xml:"ovfDescription" json:"ovfDescription"`
 58948  	// The display name of the target OS
 58949  	TargetDescription string `xml:"targetDescription" json:"targetDescription"`
 58950  }
 58951  
 58952  func init() {
 58953  	t["OvfMappedOsId"] = reflect.TypeOf((*OvfMappedOsId)(nil)).Elem()
 58954  }
 58955  
 58956  type OvfMappedOsIdFault OvfMappedOsId
 58957  
 58958  func init() {
 58959  	t["OvfMappedOsIdFault"] = reflect.TypeOf((*OvfMappedOsIdFault)(nil)).Elem()
 58960  }
 58961  
 58962  // If the Ovf descriptor is missing an attribute this exception is thrown.
 58963  type OvfMissingAttribute struct {
 58964  	OvfAttribute
 58965  }
 58966  
 58967  func init() {
 58968  	t["OvfMissingAttribute"] = reflect.TypeOf((*OvfMissingAttribute)(nil)).Elem()
 58969  }
 58970  
 58971  type OvfMissingAttributeFault OvfMissingAttribute
 58972  
 58973  func init() {
 58974  	t["OvfMissingAttributeFault"] = reflect.TypeOf((*OvfMissingAttributeFault)(nil)).Elem()
 58975  }
 58976  
 58977  // If the Ovf descriptor is missing an Element this exception is thrown.
 58978  type OvfMissingElement struct {
 58979  	OvfElement
 58980  }
 58981  
 58982  func init() {
 58983  	t["OvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem()
 58984  }
 58985  
 58986  type OvfMissingElementFault BaseOvfMissingElement
 58987  
 58988  func init() {
 58989  	t["OvfMissingElementFault"] = reflect.TypeOf((*OvfMissingElementFault)(nil)).Elem()
 58990  }
 58991  
 58992  // If the Ovf descriptor element normal boundary is not met this exception is thrown.
 58993  type OvfMissingElementNormalBoundary struct {
 58994  	OvfMissingElement
 58995  
 58996  	// The missing bound
 58997  	Boundary string `xml:"boundary" json:"boundary"`
 58998  }
 58999  
 59000  func init() {
 59001  	t["OvfMissingElementNormalBoundary"] = reflect.TypeOf((*OvfMissingElementNormalBoundary)(nil)).Elem()
 59002  }
 59003  
 59004  type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary
 59005  
 59006  func init() {
 59007  	t["OvfMissingElementNormalBoundaryFault"] = reflect.TypeOf((*OvfMissingElementNormalBoundaryFault)(nil)).Elem()
 59008  }
 59009  
 59010  // The OVF descriptor does not have a description of
 59011  // a required hardware element e.g CPU, Memory
 59012  type OvfMissingHardware struct {
 59013  	OvfImport
 59014  
 59015  	// Name of the missing hardware.
 59016  	Name string `xml:"name" json:"name"`
 59017  	// OVF rasd resource type of the missing hardware.
 59018  	ResourceType int32 `xml:"resourceType" json:"resourceType"`
 59019  }
 59020  
 59021  func init() {
 59022  	t["OvfMissingHardware"] = reflect.TypeOf((*OvfMissingHardware)(nil)).Elem()
 59023  }
 59024  
 59025  type OvfMissingHardwareFault OvfMissingHardware
 59026  
 59027  func init() {
 59028  	t["OvfMissingHardwareFault"] = reflect.TypeOf((*OvfMissingHardwareFault)(nil)).Elem()
 59029  }
 59030  
 59031  // The name and description of a network as specified by the OVF descriptor.
 59032  type OvfNetworkInfo struct {
 59033  	DynamicData
 59034  
 59035  	Name        string `xml:"name" json:"name"`
 59036  	Description string `xml:"description" json:"description"`
 59037  }
 59038  
 59039  func init() {
 59040  	t["OvfNetworkInfo"] = reflect.TypeOf((*OvfNetworkInfo)(nil)).Elem()
 59041  }
 59042  
 59043  // A NetworkMapping is a choice made by the caller about which VI network to use for a
 59044  // specific network in the OVF descriptor.
 59045  type OvfNetworkMapping struct {
 59046  	DynamicData
 59047  
 59048  	Name string `xml:"name" json:"name"`
 59049  	// Refers instance of `Network`.
 59050  	Network ManagedObjectReference `xml:"network" json:"network"`
 59051  }
 59052  
 59053  func init() {
 59054  	t["OvfNetworkMapping"] = reflect.TypeOf((*OvfNetworkMapping)(nil)).Elem()
 59055  }
 59056  
 59057  // The network mapping provided for OVF Import
 59058  // is not supported by any hosts
 59059  type OvfNetworkMappingNotSupported struct {
 59060  	OvfImport
 59061  }
 59062  
 59063  func init() {
 59064  	t["OvfNetworkMappingNotSupported"] = reflect.TypeOf((*OvfNetworkMappingNotSupported)(nil)).Elem()
 59065  }
 59066  
 59067  type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported
 59068  
 59069  func init() {
 59070  	t["OvfNetworkMappingNotSupportedFault"] = reflect.TypeOf((*OvfNetworkMappingNotSupportedFault)(nil)).Elem()
 59071  }
 59072  
 59073  // This fault is used if there is no network defined on host
 59074  type OvfNoHostNic struct {
 59075  	OvfUnsupportedPackage
 59076  }
 59077  
 59078  func init() {
 59079  	t["OvfNoHostNic"] = reflect.TypeOf((*OvfNoHostNic)(nil)).Elem()
 59080  }
 59081  
 59082  type OvfNoHostNicFault OvfNoHostNic
 59083  
 59084  func init() {
 59085  	t["OvfNoHostNicFault"] = reflect.TypeOf((*OvfNoHostNicFault)(nil)).Elem()
 59086  }
 59087  
 59088  // If the hardware element (RASD) point to a parent controller where there is no
 59089  // space left.
 59090  type OvfNoSpaceOnController struct {
 59091  	OvfUnsupportedElement
 59092  
 59093  	// The parent reference
 59094  	Parent string `xml:"parent" json:"parent"`
 59095  }
 59096  
 59097  func init() {
 59098  	t["OvfNoSpaceOnController"] = reflect.TypeOf((*OvfNoSpaceOnController)(nil)).Elem()
 59099  }
 59100  
 59101  type OvfNoSpaceOnControllerFault OvfNoSpaceOnController
 59102  
 59103  func init() {
 59104  	t["OvfNoSpaceOnControllerFault"] = reflect.TypeOf((*OvfNoSpaceOnControllerFault)(nil)).Elem()
 59105  }
 59106  
 59107  type OvfNoSupportedHardwareFamily struct {
 59108  	OvfUnsupportedPackage
 59109  
 59110  	// Version found that was not supported
 59111  	Version string `xml:"version" json:"version"`
 59112  }
 59113  
 59114  func init() {
 59115  	t["OvfNoSupportedHardwareFamily"] = reflect.TypeOf((*OvfNoSupportedHardwareFamily)(nil)).Elem()
 59116  }
 59117  
 59118  type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily
 59119  
 59120  func init() {
 59121  	t["OvfNoSupportedHardwareFamilyFault"] = reflect.TypeOf((*OvfNoSupportedHardwareFamilyFault)(nil)).Elem()
 59122  }
 59123  
 59124  // Represents the OVF options the server support for import and export of
 59125  // OVFs
 59126  type OvfOptionInfo struct {
 59127  	DynamicData
 59128  
 59129  	// The name of the OVF option that is supported by the server
 59130  	Option string `xml:"option" json:"option"`
 59131  	// A description of the OVF option
 59132  	Description LocalizableMessage `xml:"description" json:"description"`
 59133  }
 59134  
 59135  func init() {
 59136  	t["OvfOptionInfo"] = reflect.TypeOf((*OvfOptionInfo)(nil)).Elem()
 59137  }
 59138  
 59139  type OvfParseDescriptorParams struct {
 59140  	OvfManagerCommonParams
 59141  }
 59142  
 59143  func init() {
 59144  	t["OvfParseDescriptorParams"] = reflect.TypeOf((*OvfParseDescriptorParams)(nil)).Elem()
 59145  }
 59146  
 59147  type OvfParseDescriptorResult struct {
 59148  	DynamicData
 59149  
 59150  	// The list of all EULAs contained in the OVF
 59151  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 59152  	// The list of networks required by the OVF
 59153  	Network []OvfNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
 59154  	// The kind of IP allocation supported by the guest.
 59155  	//
 59156  	// See `VAppIPAssignmentInfo`.
 59157  	IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty" json:"ipAllocationScheme,omitempty"`
 59158  	// The IP protocols supported by the guest.
 59159  	//
 59160  	// See `VAppIPAssignmentInfo`.
 59161  	IpProtocols []string `xml:"ipProtocols,omitempty" json:"ipProtocols,omitempty"`
 59162  	// Metadata about the properties contained in the OVF
 59163  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 59164  	// The product info contained in the OVF
 59165  	ProductInfo *VAppProductInfo `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
 59166  	// The annotation info contained in the OVF
 59167  	Annotation string `xml:"annotation" json:"annotation"`
 59168  	// The OVF Manager's best guess as to the total amount
 59169  	// of data that must be transferred to download the entity.
 59170  	//
 59171  	// This may be inaccurate due to disk compression etc.
 59172  	ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty" json:"approximateDownloadSize,omitempty"`
 59173  	// The OVF Manager's best guess as to the total amount of space required to deploy
 59174  	// the entity if using flat disks.
 59175  	ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty" json:"approximateFlatDeploymentSize,omitempty"`
 59176  	// The OVF Manager's best guess as to the total amount of space required to deploy
 59177  	// the entity using sparse disks.
 59178  	ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty" json:"approximateSparseDeploymentSize,omitempty"`
 59179  	// The default name to use for the entity, if a product name is not
 59180  	// specified.
 59181  	//
 59182  	// This is the ID of the OVF top-level entity, or taken from a
 59183  	// ProductSection.
 59184  	DefaultEntityName string `xml:"defaultEntityName" json:"defaultEntityName"`
 59185  	// True if the OVF contains a vApp (containing one or more vApps
 59186  	// and/or virtual machines), as opposed to a single virtual machine.
 59187  	VirtualApp bool `xml:"virtualApp" json:"virtualApp"`
 59188  	// The list of possible deployment options.
 59189  	DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty" json:"deploymentOption,omitempty"`
 59190  	// The key of the default deployment option.
 59191  	//
 59192  	// Empty only if there are no
 59193  	// deployment options.
 59194  	DefaultDeploymentOption string `xml:"defaultDeploymentOption" json:"defaultDeploymentOption"`
 59195  	// A list of the child entities contained in this package
 59196  	// and their location in the vApp hierarchy.
 59197  	//
 59198  	// Each entry is a
 59199  	// (key,value) pair, where the key is the display name, and
 59200  	// the value is a unique path identifier for the entity in
 59201  	// the vApp. The path is constructed by appending the id
 59202  	// of each entity of the path down to the entity, separated
 59203  	// by slashes. For example, the path for a child of the root
 59204  	// entity with id = "vm1", would simply be "vm1". If the vm is
 59205  	// the child of a VirtualSystemCollection called "webTier", then
 59206  	// the path would be "webTier/vm".
 59207  	EntityName []KeyValue `xml:"entityName,omitempty" json:"entityName,omitempty"`
 59208  	// The annotated OST for the OVF descriptor, generated by OVF
 59209  	// consumers.
 59210  	//
 59211  	// See `OvfConsumer` for details.
 59212  	AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty" json:"annotatedOst,omitempty"`
 59213  	// Errors that happened during processing.
 59214  	//
 59215  	// Something
 59216  	// will be wrong with the result.
 59217  	//
 59218  	// For example, during export, devices could be
 59219  	// missing (in which case this array will contain one
 59220  	// or more instances of Unsupported-/UnknownDevice).
 59221  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 59222  	// Non-fatal warnings from the processing.
 59223  	//
 59224  	// The result will be valid, but the
 59225  	// user may choose to reject it based on these
 59226  	// warnings.
 59227  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 59228  }
 59229  
 59230  func init() {
 59231  	t["OvfParseDescriptorResult"] = reflect.TypeOf((*OvfParseDescriptorResult)(nil)).Elem()
 59232  }
 59233  
 59234  // A base fault for property faults in the property section of the Ovf XML descriptor.
 59235  type OvfProperty struct {
 59236  	OvfInvalidPackage
 59237  
 59238  	// The type of the property
 59239  	Type string `xml:"type" json:"type"`
 59240  	// The value of the property
 59241  	Value string `xml:"value" json:"value"`
 59242  }
 59243  
 59244  func init() {
 59245  	t["OvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem()
 59246  }
 59247  
 59248  // VIM property type that can not be converted to OVF
 59249  type OvfPropertyExport struct {
 59250  	OvfExport
 59251  
 59252  	// VIM type
 59253  	Type string `xml:"type" json:"type"`
 59254  	// VIM value
 59255  	Value string `xml:"value" json:"value"`
 59256  }
 59257  
 59258  func init() {
 59259  	t["OvfPropertyExport"] = reflect.TypeOf((*OvfPropertyExport)(nil)).Elem()
 59260  }
 59261  
 59262  type OvfPropertyExportFault OvfPropertyExport
 59263  
 59264  func init() {
 59265  	t["OvfPropertyExportFault"] = reflect.TypeOf((*OvfPropertyExportFault)(nil)).Elem()
 59266  }
 59267  
 59268  type OvfPropertyFault BaseOvfProperty
 59269  
 59270  func init() {
 59271  	t["OvfPropertyFault"] = reflect.TypeOf((*OvfPropertyFault)(nil)).Elem()
 59272  }
 59273  
 59274  // A class used indicate there was a property network error
 59275  type OvfPropertyNetwork struct {
 59276  	OvfProperty
 59277  }
 59278  
 59279  func init() {
 59280  	t["OvfPropertyNetwork"] = reflect.TypeOf((*OvfPropertyNetwork)(nil)).Elem()
 59281  }
 59282  
 59283  // VIM property type that refers to a network that
 59284  // does not exist in the package since no virtual machines
 59285  // are hooked up to it.
 59286  type OvfPropertyNetworkExport struct {
 59287  	OvfExport
 59288  
 59289  	// name of network
 59290  	Network string `xml:"network" json:"network"`
 59291  }
 59292  
 59293  func init() {
 59294  	t["OvfPropertyNetworkExport"] = reflect.TypeOf((*OvfPropertyNetworkExport)(nil)).Elem()
 59295  }
 59296  
 59297  type OvfPropertyNetworkExportFault OvfPropertyNetworkExport
 59298  
 59299  func init() {
 59300  	t["OvfPropertyNetworkExportFault"] = reflect.TypeOf((*OvfPropertyNetworkExportFault)(nil)).Elem()
 59301  }
 59302  
 59303  type OvfPropertyNetworkFault OvfPropertyNetwork
 59304  
 59305  func init() {
 59306  	t["OvfPropertyNetworkFault"] = reflect.TypeOf((*OvfPropertyNetworkFault)(nil)).Elem()
 59307  }
 59308  
 59309  // A class used to indicate there was a property qualifier error
 59310  type OvfPropertyQualifier struct {
 59311  	OvfProperty
 59312  
 59313  	// qualifiers
 59314  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59315  }
 59316  
 59317  func init() {
 59318  	t["OvfPropertyQualifier"] = reflect.TypeOf((*OvfPropertyQualifier)(nil)).Elem()
 59319  }
 59320  
 59321  // Indicate that a property qualifier was duplicated.
 59322  type OvfPropertyQualifierDuplicate struct {
 59323  	OvfProperty
 59324  
 59325  	// qualifiers
 59326  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59327  }
 59328  
 59329  func init() {
 59330  	t["OvfPropertyQualifierDuplicate"] = reflect.TypeOf((*OvfPropertyQualifierDuplicate)(nil)).Elem()
 59331  }
 59332  
 59333  type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate
 59334  
 59335  func init() {
 59336  	t["OvfPropertyQualifierDuplicateFault"] = reflect.TypeOf((*OvfPropertyQualifierDuplicateFault)(nil)).Elem()
 59337  }
 59338  
 59339  type OvfPropertyQualifierFault OvfPropertyQualifier
 59340  
 59341  func init() {
 59342  	t["OvfPropertyQualifierFault"] = reflect.TypeOf((*OvfPropertyQualifierFault)(nil)).Elem()
 59343  }
 59344  
 59345  // Indicate that the was qualifier was ignored
 59346  type OvfPropertyQualifierIgnored struct {
 59347  	OvfProperty
 59348  
 59349  	// qualifiers
 59350  	Qualifier string `xml:"qualifier" json:"qualifier"`
 59351  }
 59352  
 59353  func init() {
 59354  	t["OvfPropertyQualifierIgnored"] = reflect.TypeOf((*OvfPropertyQualifierIgnored)(nil)).Elem()
 59355  }
 59356  
 59357  type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored
 59358  
 59359  func init() {
 59360  	t["OvfPropertyQualifierIgnoredFault"] = reflect.TypeOf((*OvfPropertyQualifierIgnoredFault)(nil)).Elem()
 59361  }
 59362  
 59363  // A class used to indicate there was a property type error
 59364  type OvfPropertyType struct {
 59365  	OvfProperty
 59366  }
 59367  
 59368  func init() {
 59369  	t["OvfPropertyType"] = reflect.TypeOf((*OvfPropertyType)(nil)).Elem()
 59370  }
 59371  
 59372  type OvfPropertyTypeFault OvfPropertyType
 59373  
 59374  func init() {
 59375  	t["OvfPropertyTypeFault"] = reflect.TypeOf((*OvfPropertyTypeFault)(nil)).Elem()
 59376  }
 59377  
 59378  // A class used indicate there was a property value error
 59379  type OvfPropertyValue struct {
 59380  	OvfProperty
 59381  }
 59382  
 59383  func init() {
 59384  	t["OvfPropertyValue"] = reflect.TypeOf((*OvfPropertyValue)(nil)).Elem()
 59385  }
 59386  
 59387  type OvfPropertyValueFault OvfPropertyValue
 59388  
 59389  func init() {
 59390  	t["OvfPropertyValueFault"] = reflect.TypeOf((*OvfPropertyValueFault)(nil)).Elem()
 59391  }
 59392  
 59393  // Deprecated as of vSphere API 5.1.
 59394  //
 59395  // Maps source child entities to destination resource pools
 59396  // and resource settings.
 59397  //
 59398  // If a mapping is not specified,
 59399  // a child is copied as a direct child of the parent.
 59400  type OvfResourceMap struct {
 59401  	DynamicData
 59402  
 59403  	// Identifies a source VirtualSystem or VirtualSystemCollection in an OVF
 59404  	// descriptor.
 59405  	//
 59406  	// The source cannot be the root VirtualSystem or
 59407  	// VirtualSystemCollection of the OVF.
 59408  	// This is a path created by concatenating the OVF ids for each entity, e.g., "vm1",
 59409  	// "WebTier/vm2", etc.
 59410  	Source string `xml:"source" json:"source"`
 59411  	// The parent resource pool to use for the entity.
 59412  	//
 59413  	// This must specify a
 59414  	// resource pool that is not part of the vApp. If this is specified, a linked
 59415  	// child (as opposed to a direct child) is created for the vApp.
 59416  	//
 59417  	// Refers instance of `ResourcePool`.
 59418  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 59419  	// An optional resource configuration for the created entity.
 59420  	//
 59421  	// If
 59422  	// not specified, the resource configuration given in the OVF descriptor
 59423  	// is used.
 59424  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 59425  	// A client can optionally specify a datastore location in the resource map to
 59426  	// override the default datastore passed into `OvfManager.CreateImportSpec` field.
 59427  	//
 59428  	// This enables importing to different compute resources that do not have shared
 59429  	// datastores.
 59430  	//
 59431  	// Refers instance of `Datastore`.
 59432  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 59433  }
 59434  
 59435  func init() {
 59436  	t["OvfResourceMap"] = reflect.TypeOf((*OvfResourceMap)(nil)).Elem()
 59437  }
 59438  
 59439  // A common base class to host all the OVF subsystems's system faults.
 59440  //
 59441  // This is a class of fault that can be thrown because of
 59442  // some api changes, new hardware that are not supported by
 59443  // the host.
 59444  type OvfSystemFault struct {
 59445  	OvfFault
 59446  }
 59447  
 59448  func init() {
 59449  	t["OvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem()
 59450  }
 59451  
 59452  type OvfSystemFaultFault BaseOvfSystemFault
 59453  
 59454  func init() {
 59455  	t["OvfSystemFaultFault"] = reflect.TypeOf((*OvfSystemFaultFault)(nil)).Elem()
 59456  }
 59457  
 59458  // Unsupported element to export to XML
 59459  type OvfToXmlUnsupportedElement struct {
 59460  	OvfSystemFault
 59461  
 59462  	// The name of the xml element we could not write to the xml descriptor
 59463  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 59464  }
 59465  
 59466  func init() {
 59467  	t["OvfToXmlUnsupportedElement"] = reflect.TypeOf((*OvfToXmlUnsupportedElement)(nil)).Elem()
 59468  }
 59469  
 59470  type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement
 59471  
 59472  func init() {
 59473  	t["OvfToXmlUnsupportedElementFault"] = reflect.TypeOf((*OvfToXmlUnsupportedElementFault)(nil)).Elem()
 59474  }
 59475  
 59476  type OvfUnableToExportDisk struct {
 59477  	OvfHardwareExport
 59478  
 59479  	// disk name
 59480  	DiskName string `xml:"diskName" json:"diskName"`
 59481  }
 59482  
 59483  func init() {
 59484  	t["OvfUnableToExportDisk"] = reflect.TypeOf((*OvfUnableToExportDisk)(nil)).Elem()
 59485  }
 59486  
 59487  type OvfUnableToExportDiskFault OvfUnableToExportDisk
 59488  
 59489  func init() {
 59490  	t["OvfUnableToExportDiskFault"] = reflect.TypeOf((*OvfUnableToExportDiskFault)(nil)).Elem()
 59491  }
 59492  
 59493  // Class used to indicate an unexpected element in the Ovf descriptor
 59494  type OvfUnexpectedElement struct {
 59495  	OvfElement
 59496  }
 59497  
 59498  func init() {
 59499  	t["OvfUnexpectedElement"] = reflect.TypeOf((*OvfUnexpectedElement)(nil)).Elem()
 59500  }
 59501  
 59502  type OvfUnexpectedElementFault OvfUnexpectedElement
 59503  
 59504  func init() {
 59505  	t["OvfUnexpectedElementFault"] = reflect.TypeOf((*OvfUnexpectedElementFault)(nil)).Elem()
 59506  }
 59507  
 59508  type OvfUnknownDevice struct {
 59509  	OvfSystemFault
 59510  
 59511  	// The unknown device
 59512  	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 59513  	// The name of the Virtual Machine containing the unkown device
 59514  	VmName string `xml:"vmName" json:"vmName"`
 59515  }
 59516  
 59517  func init() {
 59518  	t["OvfUnknownDevice"] = reflect.TypeOf((*OvfUnknownDevice)(nil)).Elem()
 59519  }
 59520  
 59521  type OvfUnknownDeviceBacking struct {
 59522  	OvfHardwareExport
 59523  
 59524  	// The VirtualDevice BackingInfo that is not supported by OVF export.
 59525  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr" json:"backing"`
 59526  }
 59527  
 59528  func init() {
 59529  	t["OvfUnknownDeviceBacking"] = reflect.TypeOf((*OvfUnknownDeviceBacking)(nil)).Elem()
 59530  }
 59531  
 59532  type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking
 59533  
 59534  func init() {
 59535  	t["OvfUnknownDeviceBackingFault"] = reflect.TypeOf((*OvfUnknownDeviceBackingFault)(nil)).Elem()
 59536  }
 59537  
 59538  type OvfUnknownDeviceFault OvfUnknownDevice
 59539  
 59540  func init() {
 59541  	t["OvfUnknownDeviceFault"] = reflect.TypeOf((*OvfUnknownDeviceFault)(nil)).Elem()
 59542  }
 59543  
 59544  type OvfUnknownEntity struct {
 59545  	OvfSystemFault
 59546  
 59547  	// line number where the unknown entity was found
 59548  	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
 59549  }
 59550  
 59551  func init() {
 59552  	t["OvfUnknownEntity"] = reflect.TypeOf((*OvfUnknownEntity)(nil)).Elem()
 59553  }
 59554  
 59555  type OvfUnknownEntityFault OvfUnknownEntity
 59556  
 59557  func init() {
 59558  	t["OvfUnknownEntityFault"] = reflect.TypeOf((*OvfUnknownEntityFault)(nil)).Elem()
 59559  }
 59560  
 59561  // If the Ovf descriptor have an unsupported attribute.
 59562  type OvfUnsupportedAttribute struct {
 59563  	OvfUnsupportedPackage
 59564  
 59565  	// The name of the element with the unsupported attribute
 59566  	ElementName string `xml:"elementName" json:"elementName"`
 59567  	// The name of the unsupported attribute
 59568  	AttributeName string `xml:"attributeName" json:"attributeName"`
 59569  }
 59570  
 59571  func init() {
 59572  	t["OvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem()
 59573  }
 59574  
 59575  type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute
 59576  
 59577  func init() {
 59578  	t["OvfUnsupportedAttributeFault"] = reflect.TypeOf((*OvfUnsupportedAttributeFault)(nil)).Elem()
 59579  }
 59580  
 59581  // Used when an OVF descriptor attribute has an unsupported value.
 59582  type OvfUnsupportedAttributeValue struct {
 59583  	OvfUnsupportedAttribute
 59584  
 59585  	// Unsupported attribute value
 59586  	Value string `xml:"value" json:"value"`
 59587  }
 59588  
 59589  func init() {
 59590  	t["OvfUnsupportedAttributeValue"] = reflect.TypeOf((*OvfUnsupportedAttributeValue)(nil)).Elem()
 59591  }
 59592  
 59593  type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue
 59594  
 59595  func init() {
 59596  	t["OvfUnsupportedAttributeValueFault"] = reflect.TypeOf((*OvfUnsupportedAttributeValueFault)(nil)).Elem()
 59597  }
 59598  
 59599  type OvfUnsupportedDeviceBackingInfo struct {
 59600  	OvfSystemFault
 59601  
 59602  	// The element name
 59603  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 59604  	// The InstanceId on the hardware description
 59605  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 59606  	// The device name
 59607  	DeviceName string `xml:"deviceName" json:"deviceName"`
 59608  	// The name of the VirtualDevice Backing Info not supported on the device.
 59609  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 59610  }
 59611  
 59612  func init() {
 59613  	t["OvfUnsupportedDeviceBackingInfo"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfo)(nil)).Elem()
 59614  }
 59615  
 59616  type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo
 59617  
 59618  func init() {
 59619  	t["OvfUnsupportedDeviceBackingInfoFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfoFault)(nil)).Elem()
 59620  }
 59621  
 59622  type OvfUnsupportedDeviceBackingOption struct {
 59623  	OvfSystemFault
 59624  
 59625  	// The element name
 59626  	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
 59627  	// The InstanceId for the hardware element
 59628  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 59629  	// The device name
 59630  	DeviceName string `xml:"deviceName" json:"deviceName"`
 59631  	// The name of the VirtualDevice Backing Option not supported on the device.
 59632  	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
 59633  }
 59634  
 59635  func init() {
 59636  	t["OvfUnsupportedDeviceBackingOption"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOption)(nil)).Elem()
 59637  }
 59638  
 59639  type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption
 59640  
 59641  func init() {
 59642  	t["OvfUnsupportedDeviceBackingOptionFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOptionFault)(nil)).Elem()
 59643  }
 59644  
 59645  type OvfUnsupportedDeviceExport struct {
 59646  	OvfHardwareExport
 59647  }
 59648  
 59649  func init() {
 59650  	t["OvfUnsupportedDeviceExport"] = reflect.TypeOf((*OvfUnsupportedDeviceExport)(nil)).Elem()
 59651  }
 59652  
 59653  type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport
 59654  
 59655  func init() {
 59656  	t["OvfUnsupportedDeviceExportFault"] = reflect.TypeOf((*OvfUnsupportedDeviceExportFault)(nil)).Elem()
 59657  }
 59658  
 59659  // Disk provisioning not supported
 59660  type OvfUnsupportedDiskProvisioning struct {
 59661  	OvfImport
 59662  
 59663  	// The disk provisioning that was not supported.
 59664  	DiskProvisioning string `xml:"diskProvisioning" json:"diskProvisioning"`
 59665  	// Disk modes supported by the host.
 59666  	SupportedDiskProvisioning string `xml:"supportedDiskProvisioning" json:"supportedDiskProvisioning"`
 59667  }
 59668  
 59669  func init() {
 59670  	t["OvfUnsupportedDiskProvisioning"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioning)(nil)).Elem()
 59671  }
 59672  
 59673  type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning
 59674  
 59675  func init() {
 59676  	t["OvfUnsupportedDiskProvisioningFault"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioningFault)(nil)).Elem()
 59677  }
 59678  
 59679  // If the Ovf descriptor has an unsupported element where it is not allowed.
 59680  type OvfUnsupportedElement struct {
 59681  	OvfUnsupportedPackage
 59682  
 59683  	// The name of the unsupported element
 59684  	Name string `xml:"name" json:"name"`
 59685  }
 59686  
 59687  func init() {
 59688  	t["OvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem()
 59689  }
 59690  
 59691  type OvfUnsupportedElementFault BaseOvfUnsupportedElement
 59692  
 59693  func init() {
 59694  	t["OvfUnsupportedElementFault"] = reflect.TypeOf((*OvfUnsupportedElementFault)(nil)).Elem()
 59695  }
 59696  
 59697  // If the Ovf descriptor has an unsupported value of a element in the
 59698  // OVF descriptor.
 59699  type OvfUnsupportedElementValue struct {
 59700  	OvfUnsupportedElement
 59701  
 59702  	// The unsupported element value
 59703  	Value string `xml:"value" json:"value"`
 59704  }
 59705  
 59706  func init() {
 59707  	t["OvfUnsupportedElementValue"] = reflect.TypeOf((*OvfUnsupportedElementValue)(nil)).Elem()
 59708  }
 59709  
 59710  type OvfUnsupportedElementValueFault OvfUnsupportedElementValue
 59711  
 59712  func init() {
 59713  	t["OvfUnsupportedElementValueFault"] = reflect.TypeOf((*OvfUnsupportedElementValueFault)(nil)).Elem()
 59714  }
 59715  
 59716  // A common base class to host all the Ovf Lib Unsupported Package faults
 59717  type OvfUnsupportedPackage struct {
 59718  	OvfFault
 59719  
 59720  	// OVF descriptor linenumber
 59721  	LineNumber int32 `xml:"lineNumber,omitempty" json:"lineNumber,omitempty"`
 59722  }
 59723  
 59724  func init() {
 59725  	t["OvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem()
 59726  }
 59727  
 59728  type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage
 59729  
 59730  func init() {
 59731  	t["OvfUnsupportedPackageFault"] = reflect.TypeOf((*OvfUnsupportedPackageFault)(nil)).Elem()
 59732  }
 59733  
 59734  // If the Ovf descriptor has an unsupported required section.
 59735  type OvfUnsupportedSection struct {
 59736  	OvfUnsupportedElement
 59737  
 59738  	// The info of the unsupported section
 59739  	Info string `xml:"info" json:"info"`
 59740  }
 59741  
 59742  func init() {
 59743  	t["OvfUnsupportedSection"] = reflect.TypeOf((*OvfUnsupportedSection)(nil)).Elem()
 59744  }
 59745  
 59746  type OvfUnsupportedSectionFault OvfUnsupportedSection
 59747  
 59748  func init() {
 59749  	t["OvfUnsupportedSectionFault"] = reflect.TypeOf((*OvfUnsupportedSectionFault)(nil)).Elem()
 59750  }
 59751  
 59752  type OvfUnsupportedSubType struct {
 59753  	OvfUnsupportedPackage
 59754  
 59755  	// The name of the element with the unsupported type
 59756  	ElementName string `xml:"elementName" json:"elementName"`
 59757  	// The OVF RASD InstanceId for the hardware description
 59758  	InstanceId string `xml:"instanceId" json:"instanceId"`
 59759  	// The device type
 59760  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 59761  	// The device subtype that is unsupported
 59762  	DeviceSubType string `xml:"deviceSubType" json:"deviceSubType"`
 59763  }
 59764  
 59765  func init() {
 59766  	t["OvfUnsupportedSubType"] = reflect.TypeOf((*OvfUnsupportedSubType)(nil)).Elem()
 59767  }
 59768  
 59769  type OvfUnsupportedSubTypeFault OvfUnsupportedSubType
 59770  
 59771  func init() {
 59772  	t["OvfUnsupportedSubTypeFault"] = reflect.TypeOf((*OvfUnsupportedSubTypeFault)(nil)).Elem()
 59773  }
 59774  
 59775  type OvfUnsupportedType struct {
 59776  	OvfUnsupportedPackage
 59777  
 59778  	// The name of the element with the unsupported type
 59779  	Name string `xml:"name" json:"name"`
 59780  	// The OVF RASD InstanceId for the hardware description
 59781  	InstanceId string `xml:"instanceId" json:"instanceId"`
 59782  	// The device type that is unsupported
 59783  	DeviceType int32 `xml:"deviceType" json:"deviceType"`
 59784  }
 59785  
 59786  func init() {
 59787  	t["OvfUnsupportedType"] = reflect.TypeOf((*OvfUnsupportedType)(nil)).Elem()
 59788  }
 59789  
 59790  type OvfUnsupportedTypeFault OvfUnsupportedType
 59791  
 59792  func init() {
 59793  	t["OvfUnsupportedTypeFault"] = reflect.TypeOf((*OvfUnsupportedTypeFault)(nil)).Elem()
 59794  }
 59795  
 59796  type OvfValidateHostParams struct {
 59797  	OvfManagerCommonParams
 59798  }
 59799  
 59800  func init() {
 59801  	t["OvfValidateHostParams"] = reflect.TypeOf((*OvfValidateHostParams)(nil)).Elem()
 59802  }
 59803  
 59804  type OvfValidateHostResult struct {
 59805  	DynamicData
 59806  
 59807  	// The total amount of data that must be transferred to download the entity.
 59808  	//
 59809  	// This may be inaccurate due to disk compression etc.
 59810  	DownloadSize int64 `xml:"downloadSize,omitempty" json:"downloadSize,omitempty"`
 59811  	// The total amount of space required to deploy the entity if using flat disks.
 59812  	FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty" json:"flatDeploymentSize,omitempty"`
 59813  	// The total amount of space required to deploy the entity using sparse disks,
 59814  	// if known.
 59815  	SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty" json:"sparseDeploymentSize,omitempty"`
 59816  	// Errors that happened during validation.
 59817  	//
 59818  	// The presence of faults in this list
 59819  	// indicates that the validation failed.
 59820  	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 59821  	// Non-fatal warnings from the validation.
 59822  	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
 59823  	// An array of the disk provisioning type supported by the target host system.
 59824  	SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty" json:"supportedDiskProvisioning,omitempty"`
 59825  }
 59826  
 59827  func init() {
 59828  	t["OvfValidateHostResult"] = reflect.TypeOf((*OvfValidateHostResult)(nil)).Elem()
 59829  }
 59830  
 59831  // If the Ovf descriptor has an element that is not accepted, this exception is thrown.
 59832  type OvfWrongElement struct {
 59833  	OvfElement
 59834  }
 59835  
 59836  func init() {
 59837  	t["OvfWrongElement"] = reflect.TypeOf((*OvfWrongElement)(nil)).Elem()
 59838  }
 59839  
 59840  type OvfWrongElementFault OvfWrongElement
 59841  
 59842  func init() {
 59843  	t["OvfWrongElementFault"] = reflect.TypeOf((*OvfWrongElementFault)(nil)).Elem()
 59844  }
 59845  
 59846  // A OvfWrongNamespace exception is throw if the ovf descriptor has a
 59847  // Namespace error as defined in the Ovf spec
 59848  type OvfWrongNamespace struct {
 59849  	OvfInvalidPackage
 59850  
 59851  	// The name of the invalid namespace
 59852  	NamespaceName string `xml:"namespaceName" json:"namespaceName"`
 59853  }
 59854  
 59855  func init() {
 59856  	t["OvfWrongNamespace"] = reflect.TypeOf((*OvfWrongNamespace)(nil)).Elem()
 59857  }
 59858  
 59859  type OvfWrongNamespaceFault OvfWrongNamespace
 59860  
 59861  func init() {
 59862  	t["OvfWrongNamespaceFault"] = reflect.TypeOf((*OvfWrongNamespaceFault)(nil)).Elem()
 59863  }
 59864  
 59865  // Class used to specify if the Ovf XML descriptor could not be parsed
 59866  type OvfXmlFormat struct {
 59867  	OvfInvalidPackage
 59868  
 59869  	// Description of the XML parser error
 59870  	//
 59871  	// High level error description
 59872  	Description string `xml:"description" json:"description"`
 59873  }
 59874  
 59875  func init() {
 59876  	t["OvfXmlFormat"] = reflect.TypeOf((*OvfXmlFormat)(nil)).Elem()
 59877  }
 59878  
 59879  type OvfXmlFormatFault OvfXmlFormat
 59880  
 59881  func init() {
 59882  	t["OvfXmlFormatFault"] = reflect.TypeOf((*OvfXmlFormatFault)(nil)).Elem()
 59883  }
 59884  
 59885  type PMemDatastoreInfo struct {
 59886  	DatastoreInfo
 59887  
 59888  	Pmem HostPMemVolume `xml:"pmem" json:"pmem"`
 59889  }
 59890  
 59891  func init() {
 59892  	t["PMemDatastoreInfo"] = reflect.TypeOf((*PMemDatastoreInfo)(nil)).Elem()
 59893  }
 59894  
 59895  // ParaVirtualSCSIController is the data object that represents
 59896  // a paravirtualized SCSI controller.
 59897  type ParaVirtualSCSIController struct {
 59898  	VirtualSCSIController
 59899  }
 59900  
 59901  func init() {
 59902  	t["ParaVirtualSCSIController"] = reflect.TypeOf((*ParaVirtualSCSIController)(nil)).Elem()
 59903  }
 59904  
 59905  // ParaVirtualSCSIControllerOption is the data object that contains
 59906  // the options for a a paravirtualized SCSI controller.
 59907  type ParaVirtualSCSIControllerOption struct {
 59908  	VirtualSCSIControllerOption
 59909  }
 59910  
 59911  func init() {
 59912  	t["ParaVirtualSCSIControllerOption"] = reflect.TypeOf((*ParaVirtualSCSIControllerOption)(nil)).Elem()
 59913  }
 59914  
 59915  type ParseDescriptor ParseDescriptorRequestType
 59916  
 59917  func init() {
 59918  	t["ParseDescriptor"] = reflect.TypeOf((*ParseDescriptor)(nil)).Elem()
 59919  }
 59920  
 59921  // The parameters of `OvfManager.ParseDescriptor`.
 59922  type ParseDescriptorRequestType struct {
 59923  	This ManagedObjectReference `xml:"_this" json:"-"`
 59924  	// The OVF descriptor to examine.
 59925  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 59926  	// Additional parameters for parseDescriptor, wrapped in an instance of
 59927  	// ParseDescriptorParams.
 59928  	Pdp OvfParseDescriptorParams `xml:"pdp" json:"pdp"`
 59929  }
 59930  
 59931  func init() {
 59932  	t["ParseDescriptorRequestType"] = reflect.TypeOf((*ParseDescriptorRequestType)(nil)).Elem()
 59933  }
 59934  
 59935  type ParseDescriptorResponse struct {
 59936  	Returnval OvfParseDescriptorResult `xml:"returnval" json:"returnval"`
 59937  }
 59938  
 59939  // The PassiveNodeDeploymentSpec class defines VCHA Cluster configuration
 59940  // of the Passive node VM in the VCHA Cluster.
 59941  type PassiveNodeDeploymentSpec struct {
 59942  	NodeDeploymentSpec
 59943  
 59944  	// Failover IP address that this node must assume after the failover
 59945  	// to serve client requests.
 59946  	//
 59947  	// If not specified, it will assume the public
 59948  	// IP address of the Active vCenter Server.
 59949  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 59950  }
 59951  
 59952  func init() {
 59953  	t["PassiveNodeDeploymentSpec"] = reflect.TypeOf((*PassiveNodeDeploymentSpec)(nil)).Elem()
 59954  }
 59955  
 59956  // The PassiveNodeNetworkSpec class defines VCHA Failover and Cluster
 59957  // network configuration of the Passive node VM in the VCHA Cluster.
 59958  type PassiveNodeNetworkSpec struct {
 59959  	NodeNetworkSpec
 59960  
 59961  	// Failover IP address that this node must assume after the failover
 59962  	// to serve client requests.
 59963  	//
 59964  	// If not specified, it will assume the public
 59965  	// IP address of the Active vCenter Server.
 59966  	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
 59967  }
 59968  
 59969  func init() {
 59970  	t["PassiveNodeNetworkSpec"] = reflect.TypeOf((*PassiveNodeNetworkSpec)(nil)).Elem()
 59971  }
 59972  
 59973  // Thrown when a server login fails due to expired user password.
 59974  type PasswordExpired struct {
 59975  	InvalidLogin
 59976  }
 59977  
 59978  func init() {
 59979  	t["PasswordExpired"] = reflect.TypeOf((*PasswordExpired)(nil)).Elem()
 59980  }
 59981  
 59982  type PasswordExpiredFault PasswordExpired
 59983  
 59984  func init() {
 59985  	t["PasswordExpiredFault"] = reflect.TypeOf((*PasswordExpiredFault)(nil)).Elem()
 59986  }
 59987  
 59988  // DataObject which represents a Password field.
 59989  //
 59990  // Password is functionally equivalent to String.
 59991  type PasswordField struct {
 59992  	DynamicData
 59993  
 59994  	Value string `xml:"value" json:"value"`
 59995  }
 59996  
 59997  func init() {
 59998  	t["PasswordField"] = reflect.TypeOf((*PasswordField)(nil)).Elem()
 59999  }
 60000  
 60001  // This fault is thrown if a patch install fails because the patch
 60002  // is already installed on the host.
 60003  type PatchAlreadyInstalled struct {
 60004  	PatchNotApplicable
 60005  }
 60006  
 60007  func init() {
 60008  	t["PatchAlreadyInstalled"] = reflect.TypeOf((*PatchAlreadyInstalled)(nil)).Elem()
 60009  }
 60010  
 60011  type PatchAlreadyInstalledFault PatchAlreadyInstalled
 60012  
 60013  func init() {
 60014  	t["PatchAlreadyInstalledFault"] = reflect.TypeOf((*PatchAlreadyInstalledFault)(nil)).Elem()
 60015  }
 60016  
 60017  // This fault is thrown if a patch install fails
 60018  // because the binaries associated with the patch are not found.
 60019  type PatchBinariesNotFound struct {
 60020  	VimFault
 60021  
 60022  	// The patch whose associated binaries are not found.
 60023  	PatchID string `xml:"patchID" json:"patchID"`
 60024  	// The binaries that are not found.
 60025  	Binary []string `xml:"binary,omitempty" json:"binary,omitempty"`
 60026  }
 60027  
 60028  func init() {
 60029  	t["PatchBinariesNotFound"] = reflect.TypeOf((*PatchBinariesNotFound)(nil)).Elem()
 60030  }
 60031  
 60032  type PatchBinariesNotFoundFault PatchBinariesNotFound
 60033  
 60034  func init() {
 60035  	t["PatchBinariesNotFoundFault"] = reflect.TypeOf((*PatchBinariesNotFoundFault)(nil)).Elem()
 60036  }
 60037  
 60038  // This is a general-purpose fault indicating that some error has
 60039  // occurred regarding a patch install.
 60040  //
 60041  // Data about the fault is
 60042  // available and is presented as a platform specific string.
 60043  type PatchInstallFailed struct {
 60044  	PlatformConfigFault
 60045  
 60046  	// Whether or not the patch install has been rolled back.
 60047  	//
 60048  	// If not,
 60049  	// a manual rollback is required.
 60050  	RolledBack bool `xml:"rolledBack" json:"rolledBack"`
 60051  }
 60052  
 60053  func init() {
 60054  	t["PatchInstallFailed"] = reflect.TypeOf((*PatchInstallFailed)(nil)).Elem()
 60055  }
 60056  
 60057  type PatchInstallFailedFault PatchInstallFailed
 60058  
 60059  func init() {
 60060  	t["PatchInstallFailedFault"] = reflect.TypeOf((*PatchInstallFailedFault)(nil)).Elem()
 60061  }
 60062  
 60063  // This fault is thrown if a patch operation fails because the signature of
 60064  // the patch did not check out.
 60065  type PatchIntegrityError struct {
 60066  	PlatformConfigFault
 60067  }
 60068  
 60069  func init() {
 60070  	t["PatchIntegrityError"] = reflect.TypeOf((*PatchIntegrityError)(nil)).Elem()
 60071  }
 60072  
 60073  type PatchIntegrityErrorFault PatchIntegrityError
 60074  
 60075  func init() {
 60076  	t["PatchIntegrityErrorFault"] = reflect.TypeOf((*PatchIntegrityErrorFault)(nil)).Elem()
 60077  }
 60078  
 60079  // This fault is thrown if the metadata associated with a patch is
 60080  // corrupted or unreadable when a patch query or install is attempted.
 60081  type PatchMetadataCorrupted struct {
 60082  	PatchMetadataInvalid
 60083  }
 60084  
 60085  func init() {
 60086  	t["PatchMetadataCorrupted"] = reflect.TypeOf((*PatchMetadataCorrupted)(nil)).Elem()
 60087  }
 60088  
 60089  type PatchMetadataCorruptedFault PatchMetadataCorrupted
 60090  
 60091  func init() {
 60092  	t["PatchMetadataCorruptedFault"] = reflect.TypeOf((*PatchMetadataCorruptedFault)(nil)).Elem()
 60093  }
 60094  
 60095  // This fault is thrown if a patch query or
 60096  // installation operation fails because of a problem with the metadata
 60097  // associated with the patch.
 60098  //
 60099  // Typically, a subclass of this exception is
 60100  // thrown, indicating a problem such as the metadata is not found or the
 60101  // metadata is corrupted.
 60102  type PatchMetadataInvalid struct {
 60103  	VimFault
 60104  
 60105  	// The patch ID whose associated metadata is invalid.
 60106  	PatchID string `xml:"patchID" json:"patchID"`
 60107  	// The metadata file that is not available or corrupted.
 60108  	MetaData []string `xml:"metaData,omitempty" json:"metaData,omitempty"`
 60109  }
 60110  
 60111  func init() {
 60112  	t["PatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem()
 60113  }
 60114  
 60115  type PatchMetadataInvalidFault BasePatchMetadataInvalid
 60116  
 60117  func init() {
 60118  	t["PatchMetadataInvalidFault"] = reflect.TypeOf((*PatchMetadataInvalidFault)(nil)).Elem()
 60119  }
 60120  
 60121  // This fault is thrown if the metadata associated with a patch is not
 60122  // found when a patch query or install is attempted.
 60123  type PatchMetadataNotFound struct {
 60124  	PatchMetadataInvalid
 60125  }
 60126  
 60127  func init() {
 60128  	t["PatchMetadataNotFound"] = reflect.TypeOf((*PatchMetadataNotFound)(nil)).Elem()
 60129  }
 60130  
 60131  type PatchMetadataNotFoundFault PatchMetadataNotFound
 60132  
 60133  func init() {
 60134  	t["PatchMetadataNotFoundFault"] = reflect.TypeOf((*PatchMetadataNotFoundFault)(nil)).Elem()
 60135  }
 60136  
 60137  // This fault is thrown if a patch install fails because the patch
 60138  // requires other patches or libraries that are not installed on the host.
 60139  type PatchMissingDependencies struct {
 60140  	PatchNotApplicable
 60141  
 60142  	// The ID of required patches.
 60143  	PrerequisitePatch []string `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
 60144  	// The names of required libraries or RPMs.
 60145  	PrerequisiteLib []string `xml:"prerequisiteLib,omitempty" json:"prerequisiteLib,omitempty"`
 60146  }
 60147  
 60148  func init() {
 60149  	t["PatchMissingDependencies"] = reflect.TypeOf((*PatchMissingDependencies)(nil)).Elem()
 60150  }
 60151  
 60152  type PatchMissingDependenciesFault PatchMissingDependencies
 60153  
 60154  func init() {
 60155  	t["PatchMissingDependenciesFault"] = reflect.TypeOf((*PatchMissingDependenciesFault)(nil)).Elem()
 60156  }
 60157  
 60158  // This fault is thrown if a patch install fails because the patch is not
 60159  // applicable to the host.
 60160  //
 60161  // Typically, a subclass of this exception is
 60162  // thrown, indicating a problem such as the patch is superseded, already
 60163  // installed, or has dependencies missing, and so on.
 60164  type PatchNotApplicable struct {
 60165  	VimFault
 60166  
 60167  	// The ID of the patch that is not applicable to the host.
 60168  	PatchID string `xml:"patchID" json:"patchID"`
 60169  }
 60170  
 60171  func init() {
 60172  	t["PatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem()
 60173  }
 60174  
 60175  type PatchNotApplicableFault BasePatchNotApplicable
 60176  
 60177  func init() {
 60178  	t["PatchNotApplicableFault"] = reflect.TypeOf((*PatchNotApplicableFault)(nil)).Elem()
 60179  }
 60180  
 60181  // This fault is thrown if a patch install fails because the patch is
 60182  // superseded by patches already installed.
 60183  type PatchSuperseded struct {
 60184  	PatchNotApplicable
 60185  
 60186  	// The patches that supersede this patch.
 60187  	Supersede []string `xml:"supersede,omitempty" json:"supersede,omitempty"`
 60188  }
 60189  
 60190  func init() {
 60191  	t["PatchSuperseded"] = reflect.TypeOf((*PatchSuperseded)(nil)).Elem()
 60192  }
 60193  
 60194  type PatchSupersededFault PatchSuperseded
 60195  
 60196  func init() {
 60197  	t["PatchSupersededFault"] = reflect.TypeOf((*PatchSupersededFault)(nil)).Elem()
 60198  }
 60199  
 60200  // `PerfCompositeMetric` includes an optional
 60201  // aggregated entity performance statistics and a list of composite entities
 60202  // performance statistics&#46; The aggregated entity statistics are optional
 60203  // because some entities, such as folders, do not have their own
 60204  // statistics&#46;
 60205  type PerfCompositeMetric struct {
 60206  	DynamicData
 60207  
 60208  	// The aggregated entity performance metrics.
 60209  	//
 60210  	// If it exists, the `PerfSampleInfo` list of the aggregate entity is a
 60211  	// complete list of `PerfSampleInfo` that could
 60212  	// be contained in `PerfSampleInfo` lists of
 60213  	// child entities.
 60214  	Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr" json:"entity,omitempty"`
 60215  	// A list of `metrics` of
 60216  	// performance providers that comprise the aggregated entity.
 60217  	//
 60218  	// For
 60219  	// example, Host is an aggregated entity for virtual machines and
 60220  	// virtual machine Folders. ResourcePools are aggregate entities for
 60221  	// virtual machines. Host, Folder, and Cluster are aggregate entities
 60222  	// for hosts in the cluster or folder.
 60223  	ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr" json:"childEntity,omitempty"`
 60224  }
 60225  
 60226  func init() {
 60227  	t["PerfCompositeMetric"] = reflect.TypeOf((*PerfCompositeMetric)(nil)).Elem()
 60228  }
 60229  
 60230  // This data object type contains metadata for a performance counter.
 60231  //
 60232  // See
 60233  // `PerformanceManager` for definitions of available counters.
 60234  type PerfCounterInfo struct {
 60235  	DynamicData
 60236  
 60237  	// A system-generated number that uniquely identifies the counter in the
 60238  	// context of the system.
 60239  	//
 60240  	// The performance counter ID.
 60241  	Key int32 `xml:"key" json:"key"`
 60242  	// The name of the counter with label and summary details.
 60243  	//
 60244  	// For example,
 60245  	// the counter with name "usage" for the "cpu" group of performance
 60246  	// counters.
 60247  	NameInfo BaseElementDescription `xml:"nameInfo,typeattr" json:"nameInfo"`
 60248  	// The group of the performance counter with its label and summary
 60249  	// details.
 60250  	//
 60251  	// Counter groups include "cpu," "mem," "net," "disk," "system,"
 60252  	// "rescpu," and "clusterServices," for example.
 60253  	GroupInfo BaseElementDescription `xml:"groupInfo,typeattr" json:"groupInfo"`
 60254  	// The unit for the values of the performance counter with its label and
 60255  	// summary details.
 60256  	//
 60257  	// See `PerformanceManagerUnit_enum` for a
 60258  	// description of the valid values.
 60259  	UnitInfo BaseElementDescription `xml:"unitInfo,typeattr" json:"unitInfo"`
 60260  	// The counter type.
 60261  	//
 60262  	// Valid values include average, maximum, minimum,
 60263  	// latest, summation, or none. This determines the type of statistical
 60264  	// values that are returned for the counter. None means that the counter
 60265  	// is never rolled up.
 60266  	RollupType PerfSummaryType `xml:"rollupType" json:"rollupType"`
 60267  	// Statistics type for the counter.
 60268  	//
 60269  	// Valid values include absolute, delta,
 60270  	// or rate.
 60271  	StatsType PerfStatsType `xml:"statsType" json:"statsType"`
 60272  	// Minimum level at which metrics of this type will be collected by
 60273  	// VirtualCenter Server.
 60274  	//
 60275  	// The value for this property for any performance
 60276  	// counter is a number from 1 to 4. The higher the setting, the more data
 60277  	// is collected by VirtualCenter Server. The default setting for
 60278  	// VirtualCenter Server is 1, which collects the minimal amount of
 60279  	// performance data that is typically useful to administrators and
 60280  	// developers alike. The specific level of each counter is documented in
 60281  	// the respective counter-documentation pages, by group. See `PerformanceManager` for links to the counter group pages.
 60282  	Level int32 `xml:"level,omitempty" json:"level,omitempty"`
 60283  	// Minimum level at which the per device metrics of this type will be
 60284  	// collected by vCenter Server.
 60285  	//
 60286  	// The value for this property for any
 60287  	// performance counter is a number from 1 to 4. By default all per device
 60288  	// metrics are calculated at level 3 or more. If a certain per device
 60289  	// counter is collected at a certain level, the aggregate metric is also
 60290  	// calculated at that level, i.e., perDeviceLevel is greater than or
 60291  	// equal to level.
 60292  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
 60293  	// Deprecated as of VI API 2.5, this property is not used.
 60294  	//
 60295  	// The counter IDs associated with the same performance counter name for
 60296  	// the same device type.
 60297  	//
 60298  	// For example, the rollup types for CPU Usage for
 60299  	// a host are average, minimum, and maximum&#46; Therefore, their counter
 60300  	// IDs are associated.
 60301  	AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty" json:"associatedCounterId,omitempty"`
 60302  }
 60303  
 60304  func init() {
 60305  	t["PerfCounterInfo"] = reflect.TypeOf((*PerfCounterInfo)(nil)).Elem()
 60306  }
 60307  
 60308  // This data object type stores values and metadata for metrics associated
 60309  // with a specific entity, in 'normal' format.
 60310  type PerfEntityMetric struct {
 60311  	PerfEntityMetricBase
 60312  
 60313  	// A list of objects containing information (an interval and a timestamp)
 60314  	// about the samples collected.
 60315  	SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty" json:"sampleInfo,omitempty"`
 60316  	// A list of values that corresponds to the samples collected.
 60317  	Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr" json:"value,omitempty"`
 60318  }
 60319  
 60320  func init() {
 60321  	t["PerfEntityMetric"] = reflect.TypeOf((*PerfEntityMetric)(nil)).Elem()
 60322  }
 60323  
 60324  // Base type for the various `PerfEntityMetric`
 60325  // encodings.
 60326  type PerfEntityMetricBase struct {
 60327  	DynamicData
 60328  
 60329  	// Performance provider ID.
 60330  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 60331  }
 60332  
 60333  func init() {
 60334  	t["PerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem()
 60335  }
 60336  
 60337  // This data object type stores metric values for a specific entity in CSV
 60338  // format.
 60339  type PerfEntityMetricCSV struct {
 60340  	PerfEntityMetricBase
 60341  
 60342  	// The `PerfSampleInfo` encoded in the following CSV
 60343  	// format: \[interval1\], \[date1\], \[interval2\], \[date2\], and so on.
 60344  	SampleInfoCSV string `xml:"sampleInfoCSV" json:"sampleInfoCSV"`
 60345  	// Metric values corresponding to the samples collected in this list.
 60346  	Value []PerfMetricSeriesCSV `xml:"value,omitempty" json:"value,omitempty"`
 60347  }
 60348  
 60349  func init() {
 60350  	t["PerfEntityMetricCSV"] = reflect.TypeOf((*PerfEntityMetricCSV)(nil)).Elem()
 60351  }
 60352  
 60353  // This data object type contains metadata about a performance interval.
 60354  //   - For VirtualCenter Server systems, instances of this data object are
 60355  //     referred to as &#147;historical intervals&#148; because they control
 60356  //     how data collected from the ESX systems will be aggregated and stored
 60357  //     in the database.
 60358  //   - For ESX system, this data object is typically referred to simply as the
 60359  //     &#147;interval&#148; or &#147;performance interval&#148; because ESX
 60360  //     does not aggregate statistical data.
 60361  //
 60362  // For ESX systems, a single instance of this data object exists. It cannot
 60363  // be modified. It has these properties:
 60364  // <table border="1"width="100%">
 60365  // <tr>
 60366  // <th>key</th>
 60367  // <th>samplingPeriod</th>
 60368  // <th>length</th>
 60369  // <th>name</th>
 60370  // <th>level</th>
 60371  // <th>enabled</th>
 60372  // </tr>
 60373  // <tr>
 60374  // <td>1</td>
 60375  // <td>300</td>
 60376  // <td>129600</td>
 60377  // <td>PastDay</td>
 60378  // <td>null</td>
 60379  // <td>true</td>
 60380  // </tr>
 60381  // </table>
 60382  //
 60383  // VirtualCenter Server system provides four instances of this data object
 60384  // by default, that apply globally to all system entities.
 60385  //
 60386  // **Example Collection Levels**
 60387  // VirtualCenter Server
 60388  // uses the specifications configured in its historical intervals to collect metrics
 60389  // from the ESX systems that it manages. The quantity of data collected depends on
 60390  // the level settings for the server, and the level associated with a specific counter.
 60391  // Both factors may change from one version of the products to the next. In general,
 60392  // the lower the number, the smaller the amount of data collected. For VirtualCenter
 60393  // Server 2.5, for example, the levels 1 through 4 collected data as follows:
 60394  //  1. Basic counters defined with "average" *rollup type* for CPU, Memory,
 60395  //     Disk, and Network; plus counters for System Uptime, System Heartbeat,
 60396  //     and DRS (Distributed Resource Scheduler, tracked in the
 60397  //     "clusterServices" group). Does not include counters for devices.
 60398  //  2. Counters defined with "average," "summation," and "latest" *rollup types* for CPU,
 60399  //     Memory, Disk, and Network; plus counters for System Uptime, System
 60400  //     Heartbeat, and DRS (clusterServices). Does not include counters for
 60401  //     devices.
 60402  //  3. Counters defined with "average," "summmation," and "latest" *rollup types* for CPU,
 60403  //     Memory, Disk, Network, and all devices; plus counters for System
 60404  //     Uptime, System Heartbeat, and DRS (clusterServices).
 60405  //  4. All counters defined for all entities and devices, for every *rollup type*, including
 60406  //     &#147;minimum&#148; and &#147;maximum&#46;&#148;
 60407  //
 60408  // Default properties for the four built-in historical intervals
 60409  // include:
 60410  // <table border="1"width="100%">
 60411  // <tr>
 60412  // <th>key</th>
 60413  // <th>samplingPeriod</th>
 60414  // <th>length</th>
 60415  // <th>name</th>
 60416  // <th>level</th>
 60417  // <th>enabled</th>
 60418  // </tr>
 60419  // <tr>
 60420  // <td>1</td>
 60421  // <td>300</td>
 60422  // <td>86400</td>
 60423  // <td>Past&nbsp;day</td>
 60424  // <td>1</td>
 60425  // <td>true</td>
 60426  // </tr>
 60427  // <tr>
 60428  // <td>2</td>
 60429  // <td>1800</td>
 60430  // <td>604800</td>
 60431  // <td>Past&nbsp;week</td>
 60432  // <td>1</td>
 60433  // <td>true</td>
 60434  // </tr>
 60435  // <tr>
 60436  // <td>3</td>
 60437  // <td>7200</td>
 60438  // <td>2592000</td>
 60439  // <td>Past&nbsp;month</td>
 60440  // <td>1</td>
 60441  // <td>true</td>
 60442  // </tr>
 60443  // <tr>
 60444  // <td>4</td>
 60445  // <td>86400</td>
 60446  // <td>31536000</td>
 60447  // <td>Past&nbsp;year</td>
 60448  // <td>1</td>
 60449  // <td>true</td>
 60450  // </tr>
 60451  // </table>
 60452  //
 60453  // All values are in seconds. The default setting for vCenter Server is
 60454  // level 1, which retains sampled statistical data as follows:
 60455  //   - 5-minute samples for the past day
 60456  //   - 30-minute samples for the past week
 60457  //   - 2-hour samples for the past month
 60458  //   - 1-day samples for the past year
 60459  //
 60460  // Data older than a year is purged from the vCenter Server database.
 60461  //
 60462  // Prior to version 2&#46;5 of the API, this data object could be used in
 60463  // conjunction with the `PerformanceManager.CreatePerfInterval`
 60464  // operation, to define new, custom historical intervals. That operation has
 60465  // been deprecated: Adding and deleting objects of this type is no longer
 60466  // supported. However, the default historical intervals can be enabled or
 60467  // disabled, and can be modified within certain limits (with the `PerformanceManager.UpdatePerfInterval` operation)&#46;
 60468  type PerfInterval struct {
 60469  	DynamicData
 60470  
 60471  	// A unique identifier for the interval.
 60472  	Key int32 `xml:"key" json:"key"`
 60473  	// Number of seconds that data is sampled for this interval.
 60474  	//
 60475  	// The real-time
 60476  	// samplingPeriod is 20 seconds.
 60477  	SamplingPeriod int32 `xml:"samplingPeriod" json:"samplingPeriod"`
 60478  	// The name of the historical interval.
 60479  	//
 60480  	// A localized string that provides a
 60481  	// name for the interval. Names include:
 60482  	//   - "Past Day"
 60483  	//   - "Past Week"
 60484  	//   - "Past Month"
 60485  	//   - "Past Year"
 60486  	//
 60487  	// The name is not meaningful in terms of system behavior. That is, the
 60488  	// interval named &#147;Past Week&#148; works as it does because of its
 60489  	// length, level, and so on, not because of the value of this string.
 60490  	Name string `xml:"name" json:"name"`
 60491  	// Number of seconds that the statistics corresponding to this interval are
 60492  	// kept on the system.
 60493  	Length int32 `xml:"length" json:"length"`
 60494  	// Statistics collection level for this historical interval.
 60495  	//
 60496  	// vCenter Server
 60497  	// will aggregate only those statistics that match the value of this
 60498  	// property for this historical interval. For ESX, the value of this
 60499  	// property is null. For vCenter Server, the value will be a number from 1
 60500  	// to 4.
 60501  	Level int32 `xml:"level,omitempty" json:"level,omitempty"`
 60502  	// Indicates whether the interval is enabled (true) or disabled (false).
 60503  	//
 60504  	// Disabling a historical interval prevents vCenter Server from collecting
 60505  	// metrics for that interval and all higher (longer) intervals.
 60506  	//
 60507  	// For example, disabling the "Past Month" interval disables both "Past
 60508  	// Month" and "Past Year" intervals. The system will aggregate and retain
 60509  	// performance data using the "Past Day" and "Past Week" intervals only.
 60510  	Enabled bool `xml:"enabled" json:"enabled"`
 60511  }
 60512  
 60513  func init() {
 60514  	t["PerfInterval"] = reflect.TypeOf((*PerfInterval)(nil)).Elem()
 60515  }
 60516  
 60517  // This data object type contains information that associates a performance
 60518  // counter with a performance metric.
 60519  //
 60520  // When constructing this data object for
 60521  // the `PerfQuerySpec.metricId` property of the `PerfQuerySpec` to submit to one of the `PerformanceManager` query operations, the `PerfMetricId.instance` property
 60522  // supports these special characters:
 60523  //   - An asterisk (\*) to specify all instances of the metric for the
 60524  //     specified `PerfMetricId.counterId`
 60525  //   - Double-quotes ("") to specify aggregated statistics
 60526  type PerfMetricId struct {
 60527  	DynamicData
 60528  
 60529  	// The `ID` of the counter for
 60530  	// the metric.
 60531  	CounterId int32 `xml:"counterId" json:"counterId"`
 60532  	// An identifier that is derived from configuration names for the device
 60533  	// associated with the metric.
 60534  	//
 60535  	// It identifies the instance of the metric
 60536  	// with its source. This property may be empty.
 60537  	//   - For memory and aggregated statistics, this property is empty.
 60538  	//   - For host and virtual machine devices, this property contains the
 60539  	//     name of the device, such as the name of the host-bus adapter or
 60540  	//     the name of the virtual Ethernet adapter. For example,
 60541  	//     &#147;mpx&#46;vmhba33&#58;C0&#58;T0&#58;L0&#148; or
 60542  	//     &#147;vmnic0&#58;&#148;
 60543  	//   - For a CPU, this property identifies the numeric position within
 60544  	//     the CPU core, such as 0, 1, 2, 3.
 60545  	//   - For a virtual disk, this property identifies the file type:
 60546  	//   - DISKFILE, for virtual machine base-disk files
 60547  	//   - SWAPFILE, for virtual machine swap files
 60548  	//   - DELTAFILE, for virtual machine snapshot overhead files
 60549  	//   - OTHERFILE, for all other files of a virtual machine
 60550  	Instance string `xml:"instance" json:"instance"`
 60551  }
 60552  
 60553  func init() {
 60554  	t["PerfMetricId"] = reflect.TypeOf((*PerfMetricId)(nil)).Elem()
 60555  }
 60556  
 60557  // This data object type describes integer metric values.
 60558  //
 60559  // The size of the
 60560  // array must match the size of `PerfEntityMetric.sampleInfo` property in the `PerfEntityMetric` that contains this series.
 60561  type PerfMetricIntSeries struct {
 60562  	PerfMetricSeries
 60563  
 60564  	// An array of 64-bit integer values.
 60565  	//
 60566  	// The size of the array matches the
 60567  	// size as the `PerfSampleInfo`, because the values
 60568  	// can only be interpreted in the context of the sample that generated
 60569  	// the value.
 60570  	Value []int64 `xml:"value,omitempty" json:"value,omitempty"`
 60571  }
 60572  
 60573  func init() {
 60574  	t["PerfMetricIntSeries"] = reflect.TypeOf((*PerfMetricIntSeries)(nil)).Elem()
 60575  }
 60576  
 60577  // This is a generic data object type that stores values for a specific
 60578  // performance metric.
 60579  //
 60580  // Useful data objects that store actual metric values
 60581  // extend this data object (see `PerfMetricIntSeries`).
 60582  type PerfMetricSeries struct {
 60583  	DynamicData
 60584  
 60585  	// An identifier for the performance metric.
 60586  	Id PerfMetricId `xml:"id" json:"id"`
 60587  }
 60588  
 60589  func init() {
 60590  	t["PerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem()
 60591  }
 60592  
 60593  // This data object type represents a `PerfMetricSeries` encoded in CSV format.
 60594  type PerfMetricSeriesCSV struct {
 60595  	PerfMetricSeries
 60596  
 60597  	// An array of sample values in CSV format
 60598  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 60599  }
 60600  
 60601  func init() {
 60602  	t["PerfMetricSeriesCSV"] = reflect.TypeOf((*PerfMetricSeriesCSV)(nil)).Elem()
 60603  }
 60604  
 60605  // This data object type contains information about a performance provider,
 60606  // the type of statistics it generates, and the `PerfProviderSummary.refreshRate` for
 60607  // statistics generation.
 60608  //
 60609  // A performance provider is any *managed object* that generates real-time or
 60610  // historical statistics (or both&#151;the `PerfProviderSummary.currentSupported` and
 60611  // `PerfProviderSummary.summarySupported` properties are not mutually exclusive).
 60612  type PerfProviderSummary struct {
 60613  	DynamicData
 60614  
 60615  	// Reference to the performance provider, the *managed object* that provides real-time or
 60616  	// historical metrics.
 60617  	//
 60618  	// The managed objects include but are not limited to
 60619  	// *managed entities*, such as *host systems*, *virtual machines*, and *resource pools*.
 60620  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 60621  	// True if this entity supports real-time (current) statistics; false if
 60622  	// it does not.
 60623  	//
 60624  	// If this property is true for an entity, a client application
 60625  	// can set the `PerfQuerySpec.intervalId` of the
 60626  	// `PerfQuerySpec` (passed to the
 60627  	// `PerformanceManager.QueryPerf` operation) to the `PerfProviderSummary.refreshRate` to obtain the maximum information possible for the
 60628  	// entity.
 60629  	CurrentSupported bool `xml:"currentSupported" json:"currentSupported"`
 60630  	// True if this entity supports historical (aggregated) statistics; false
 60631  	// if it does not.
 60632  	//
 60633  	// When this property is true for an entity, a client
 60634  	// application can set the `PerfQuerySpec.intervalId` of `PerformanceManager.QueryPerf` to one of the historical `intervals` to obtain historical statistics for this
 60635  	// entity.
 60636  	SummarySupported bool `xml:"summarySupported" json:"summarySupported"`
 60637  	// Number of seconds between the generation of each counter.
 60638  	//
 60639  	// This value
 60640  	// applies only to entities that support real-time (current)
 60641  	// statistics&#46;
 60642  	RefreshRate int32 `xml:"refreshRate,omitempty" json:"refreshRate,omitempty"`
 60643  }
 60644  
 60645  func init() {
 60646  	t["PerfProviderSummary"] = reflect.TypeOf((*PerfProviderSummary)(nil)).Elem()
 60647  }
 60648  
 60649  // This data object specifies the query parameters, including the managed
 60650  // object reference to the target entity for statistics retrieval.
 60651  //   - If the optional `PerfQuerySpec.intervalId` is omitted, the metrics are
 60652  //     returned in their originally sampled interval.
 60653  //   - When an `PerfQuerySpec.intervalId` is specified, the server tries to
 60654  //     summarize the information for the specified `PerfQuerySpec.intervalId`.
 60655  //     However, if that interval does not exist or has no data, the
 60656  //     server summarizes the information using the best interval
 60657  //     available.
 60658  //   - If the range between `PerfQuerySpec.startTime` and `PerfQuerySpec.endTime` crosses
 60659  //     multiple sample interval periods, the result contains data from the
 60660  //     longest interval in the period.
 60661  type PerfQuerySpec struct {
 60662  	DynamicData
 60663  
 60664  	// The managed object whose performance statistics are being queried.
 60665  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 60666  	// The server time from which to obtain counters.
 60667  	//
 60668  	// If not specified,
 60669  	// defaults to the first available counter. When a startTime is
 60670  	// specified, the returned samples do not include the sample at
 60671  	// startTime.
 60672  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 60673  	// The time up to which statistics are retrieved.
 60674  	//
 60675  	// Corresponds to server
 60676  	// time. When endTime is omitted, the returned result includes up to the
 60677  	// most recent metric value. When an endTime is specified, the returned
 60678  	// samples include the sample at endTime.
 60679  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 60680  	// Limits the number of samples returned.
 60681  	//
 60682  	// Defaults to the most recent
 60683  	// sample (or samples), unless a time range is specified. Use this
 60684  	// property only in conjunction with the `PerfQuerySpec.intervalId` to obtain
 60685  	// real-time statistics (set the `PerfQuerySpec.intervalId` to the `PerfProviderSummary.refreshRate`. This property is
 60686  	// ignored for historical statistics, and is not valid for the `PerformanceManager.QueryPerfComposite` operation.
 60687  	MaxSample int32 `xml:"maxSample,omitempty" json:"maxSample,omitempty"`
 60688  	// The performance metrics to be retrieved.
 60689  	//
 60690  	// This property is required for
 60691  	// the `PerformanceManager.QueryPerfComposite` operation.
 60692  	MetricId []PerfMetricId `xml:"metricId,omitempty" json:"metricId,omitempty"`
 60693  	// The interval (`PerfInterval.samplingPeriod`), in seconds,
 60694  	// for the performance statistics&#46; For aggregated information, use
 60695  	// one of the historical intervals for this property.
 60696  	//
 60697  	// See `PerfInterval` for more information.
 60698  	//   - To obtain the greatest detail, use the provider&#146;s `PerfProviderSummary.refreshRate` for this
 60699  	//     property.
 60700  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 60701  	// The format to be used while returning the statistics&#46;
 60702  	//
 60703  	// See also `PerfFormat_enum`.
 60704  	Format string `xml:"format,omitempty" json:"format,omitempty"`
 60705  }
 60706  
 60707  func init() {
 60708  	t["PerfQuerySpec"] = reflect.TypeOf((*PerfQuerySpec)(nil)).Elem()
 60709  }
 60710  
 60711  // This data object type describes information contained in a sample
 60712  // collection, its timestamp, and sampling interval.
 60713  type PerfSampleInfo struct {
 60714  	DynamicData
 60715  
 60716  	// The time at which the sample was collected.
 60717  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 60718  	// The interval in seconds for which performance statistics were
 60719  	// collected.
 60720  	//
 60721  	// This can be the refreshRate of the managed object for which
 60722  	// this statistics was collected or one of the intervals for historical
 60723  	// statistics configured in the system. See `PerformanceManager.UpdatePerfInterval` for more information about the intervals
 60724  	// configured in the system.
 60725  	Interval int32 `xml:"interval" json:"interval"`
 60726  }
 60727  
 60728  func init() {
 60729  	t["PerfSampleInfo"] = reflect.TypeOf((*PerfSampleInfo)(nil)).Elem()
 60730  }
 60731  
 60732  // The parameters of `DistributedVirtualSwitch.PerformDvsProductSpecOperation_Task`.
 60733  type PerformDvsProductSpecOperationRequestType struct {
 60734  	This ManagedObjectReference `xml:"_this" json:"-"`
 60735  	// The operation. See `DistributedVirtualSwitchProductSpecOperationType_enum` for
 60736  	// valid values. For
 60737  	// `VmwareDistributedVirtualSwitch`,
 60738  	// only `upgrade`
 60739  	// is valid.
 60740  	Operation string `xml:"operation" json:"operation"`
 60741  	// The product info of the implementation.
 60742  	ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty" json:"productSpec,omitempty"`
 60743  }
 60744  
 60745  func init() {
 60746  	t["PerformDvsProductSpecOperationRequestType"] = reflect.TypeOf((*PerformDvsProductSpecOperationRequestType)(nil)).Elem()
 60747  }
 60748  
 60749  type PerformDvsProductSpecOperation_Task PerformDvsProductSpecOperationRequestType
 60750  
 60751  func init() {
 60752  	t["PerformDvsProductSpecOperation_Task"] = reflect.TypeOf((*PerformDvsProductSpecOperation_Task)(nil)).Elem()
 60753  }
 60754  
 60755  type PerformDvsProductSpecOperation_TaskResponse struct {
 60756  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 60757  }
 60758  
 60759  type PerformVsanUpgradePreflightCheck PerformVsanUpgradePreflightCheckRequestType
 60760  
 60761  func init() {
 60762  	t["PerformVsanUpgradePreflightCheck"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheck)(nil)).Elem()
 60763  }
 60764  
 60765  // The parameters of `VsanUpgradeSystem.PerformVsanUpgradePreflightCheck`.
 60766  type PerformVsanUpgradePreflightCheckRequestType struct {
 60767  	This ManagedObjectReference `xml:"_this" json:"-"`
 60768  	// The cluster for which to perform the check.
 60769  	//
 60770  	// Refers instance of `ClusterComputeResource`.
 60771  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 60772  	// Intend to perform a on-disk format downgrade instead
 60773  	// of upgrade. Adds additional checks.
 60774  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 60775  }
 60776  
 60777  func init() {
 60778  	t["PerformVsanUpgradePreflightCheckRequestType"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheckRequestType)(nil)).Elem()
 60779  }
 60780  
 60781  type PerformVsanUpgradePreflightCheckResponse struct {
 60782  	Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval" json:"returnval"`
 60783  }
 60784  
 60785  // The parameters of `VsanUpgradeSystem.PerformVsanUpgrade_Task`.
 60786  type PerformVsanUpgradeRequestType struct {
 60787  	This ManagedObjectReference `xml:"_this" json:"-"`
 60788  	// The cluster to be upgraded
 60789  	//
 60790  	// Refers instance of `ClusterComputeResource`.
 60791  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 60792  	// After all disk groups have been updated, also
 60793  	// upgrade all objects. Once started, rollback
 60794  	// of the on disk format is no longer possible.
 60795  	// Object upgrade unlocks new VSAN features.
 60796  	PerformObjectUpgrade *bool `xml:"performObjectUpgrade" json:"performObjectUpgrade,omitempty"`
 60797  	// Perform a on-disk format downgrade instead of
 60798  	// upgrade. Only possible if no upgraded objects exist.
 60799  	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
 60800  	// Removes the need for one disk group worth of
 60801  	// free space, by allowing reduced redundancy
 60802  	// during disk upgrade.
 60803  	AllowReducedRedundancy *bool `xml:"allowReducedRedundancy" json:"allowReducedRedundancy,omitempty"`
 60804  	// Internal debug option meant for functional testing
 60805  	// of VSAN upgrades. Skips upgrade on certain hosts and
 60806  	// implies performObjectUpgrade being false. Should not
 60807  	// be used by customers.
 60808  	//
 60809  	// Refers instances of `HostSystem`.
 60810  	ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty" json:"excludeHosts,omitempty"`
 60811  }
 60812  
 60813  func init() {
 60814  	t["PerformVsanUpgradeRequestType"] = reflect.TypeOf((*PerformVsanUpgradeRequestType)(nil)).Elem()
 60815  }
 60816  
 60817  type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType
 60818  
 60819  func init() {
 60820  	t["PerformVsanUpgrade_Task"] = reflect.TypeOf((*PerformVsanUpgrade_Task)(nil)).Elem()
 60821  }
 60822  
 60823  type PerformVsanUpgrade_TaskResponse struct {
 60824  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 60825  }
 60826  
 60827  // Static strings for performance metrics.
 60828  type PerformanceDescription struct {
 60829  	DynamicData
 60830  
 60831  	// Identifies the `type` of
 60832  	// the counter.
 60833  	CounterType []BaseElementDescription `xml:"counterType,typeattr" json:"counterType"`
 60834  	// Identifies the `type`
 60835  	// of statistic.
 60836  	StatsType []BaseElementDescription `xml:"statsType,typeattr" json:"statsType"`
 60837  }
 60838  
 60839  func init() {
 60840  	t["PerformanceDescription"] = reflect.TypeOf((*PerformanceDescription)(nil)).Elem()
 60841  }
 60842  
 60843  // `PerformanceManagerCounterLevelMapping` class captures the counter
 60844  // and level mapping.
 60845  //
 60846  // Any counter has two aspects: aggregate value or the
 60847  // per-device value. For example, cpu.usage.average on a host is an
 60848  // aggregate counter and cpu.usage.average on pcpus in a host is a
 60849  // per-device counters. There is a need to be able to specify different
 60850  // levels for the two versions. Currently, all per-device stats are
 60851  // collected at level greater than or equal to 3.
 60852  //
 60853  // In order to be able to configure the level of collections for
 60854  // aggregate and per-device counters we have two optional level fields.
 60855  // `PerformanceManagerCounterLevelMapping` is used to update the
 60856  // levels for a counter.
 60857  type PerformanceManagerCounterLevelMapping struct {
 60858  	DynamicData
 60859  
 60860  	// The counter Id
 60861  	CounterId int32 `xml:"counterId" json:"counterId"`
 60862  	// Level for the aggregate counter.
 60863  	//
 60864  	// If not set then the value is not
 60865  	// changed when updateCounterLevelMapping is called.
 60866  	AggregateLevel int32 `xml:"aggregateLevel,omitempty" json:"aggregateLevel,omitempty"`
 60867  	// Level for the per device counter.
 60868  	//
 60869  	// If not set then the value is not
 60870  	// changed when updateCounterLevelMapping is called.
 60871  	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
 60872  }
 60873  
 60874  func init() {
 60875  	t["PerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*PerformanceManagerCounterLevelMapping)(nil)).Elem()
 60876  }
 60877  
 60878  // Data object to capture all information needed to
 60879  // describe a sample inventory.
 60880  type PerformanceStatisticsDescription struct {
 60881  	DynamicData
 60882  
 60883  	// Historic interval setting.
 60884  	//
 60885  	// Default value is the same as the historic
 60886  	// interval settings of the current instance
 60887  	// of running VC.
 60888  	Intervals []PerfInterval `xml:"intervals,omitempty" json:"intervals,omitempty"`
 60889  }
 60890  
 60891  func init() {
 60892  	t["PerformanceStatisticsDescription"] = reflect.TypeOf((*PerformanceStatisticsDescription)(nil)).Elem()
 60893  }
 60894  
 60895  // This data object type provides assignment of some role access to
 60896  // a principal on a specific entity.
 60897  //
 60898  // A ManagedEntity is limited to
 60899  // one permission per principal.
 60900  type Permission struct {
 60901  	DynamicData
 60902  
 60903  	// Managed entity the permission is defined on.
 60904  	//
 60905  	// Left unset
 60906  	// when calling setPermissions or resetPermissions, but present
 60907  	// for the results of permission queries.
 60908  	//
 60909  	// Refers instance of `ManagedEntity`.
 60910  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 60911  	// User or group receiving access in the form of
 60912  	// "login" for local or "DOMAIN\\login" for users in a Windows domain.
 60913  	Principal string `xml:"principal" json:"principal"`
 60914  	// Whether principal refers to a user or a group.
 60915  	//
 60916  	// True for
 60917  	// a group and false for a user.
 60918  	Group bool `xml:"group" json:"group"`
 60919  	// Reference to the role providing the access.
 60920  	RoleId int32 `xml:"roleId" json:"roleId"`
 60921  	// Whether or not this permission propagates down the hierarchy
 60922  	// to sub-entities.
 60923  	Propagate bool `xml:"propagate" json:"propagate"`
 60924  }
 60925  
 60926  func init() {
 60927  	t["Permission"] = reflect.TypeOf((*Permission)(nil)).Elem()
 60928  }
 60929  
 60930  // This event records the creation of a permission.
 60931  type PermissionAddedEvent struct {
 60932  	PermissionEvent
 60933  
 60934  	// The associated role.
 60935  	Role RoleEventArgument `xml:"role" json:"role"`
 60936  	// Whether or not the permission applies to sub-entities.
 60937  	Propagate bool `xml:"propagate" json:"propagate"`
 60938  }
 60939  
 60940  func init() {
 60941  	t["PermissionAddedEvent"] = reflect.TypeOf((*PermissionAddedEvent)(nil)).Elem()
 60942  }
 60943  
 60944  // This event records a permission operation.
 60945  type PermissionEvent struct {
 60946  	AuthorizationEvent
 60947  
 60948  	// The entity to which the permission applied.
 60949  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 60950  	// The user name or group to which the permission was granted.
 60951  	Principal string `xml:"principal" json:"principal"`
 60952  	// Whether or not the principal was a group.
 60953  	Group bool `xml:"group" json:"group"`
 60954  }
 60955  
 60956  func init() {
 60957  	t["PermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem()
 60958  }
 60959  
 60960  // The `PermissionProfile` data object represents the profile
 60961  // for a permission rule.
 60962  //
 60963  // Use the `ApplyProfile.policy` list for
 60964  // access to configuration data for the permission profile. Use the
 60965  // `ApplyProfile.property` list for access to subprofiles, if any.
 60966  type PermissionProfile struct {
 60967  	ApplyProfile
 60968  
 60969  	Key string `xml:"key" json:"key"`
 60970  }
 60971  
 60972  func init() {
 60973  	t["PermissionProfile"] = reflect.TypeOf((*PermissionProfile)(nil)).Elem()
 60974  }
 60975  
 60976  // This event records the removal of a permission.
 60977  type PermissionRemovedEvent struct {
 60978  	PermissionEvent
 60979  }
 60980  
 60981  func init() {
 60982  	t["PermissionRemovedEvent"] = reflect.TypeOf((*PermissionRemovedEvent)(nil)).Elem()
 60983  }
 60984  
 60985  // This event records the update of a permission.
 60986  type PermissionUpdatedEvent struct {
 60987  	PermissionEvent
 60988  
 60989  	// The associated role.
 60990  	Role RoleEventArgument `xml:"role" json:"role"`
 60991  	// Whether or not the permission applies to sub-entities.
 60992  	Propagate bool `xml:"propagate" json:"propagate"`
 60993  	// The previous associated role.
 60994  	PrevRole *RoleEventArgument `xml:"prevRole,omitempty" json:"prevRole,omitempty"`
 60995  	// Previous propogate value.
 60996  	PrevPropagate *bool `xml:"prevPropagate" json:"prevPropagate,omitempty"`
 60997  }
 60998  
 60999  func init() {
 61000  	t["PermissionUpdatedEvent"] = reflect.TypeOf((*PermissionUpdatedEvent)(nil)).Elem()
 61001  }
 61002  
 61003  // The virtual machine is configured with a Raw Disk Mapping in physical compatibility mode.
 61004  //
 61005  // This mode is not supported on the host.
 61006  type PhysCompatRDMNotSupported struct {
 61007  	RDMNotSupported
 61008  }
 61009  
 61010  func init() {
 61011  	t["PhysCompatRDMNotSupported"] = reflect.TypeOf((*PhysCompatRDMNotSupported)(nil)).Elem()
 61012  }
 61013  
 61014  type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported
 61015  
 61016  func init() {
 61017  	t["PhysCompatRDMNotSupportedFault"] = reflect.TypeOf((*PhysCompatRDMNotSupportedFault)(nil)).Elem()
 61018  }
 61019  
 61020  // This data object type describes the physical network adapter
 61021  // as seen by the primary operating system.
 61022  type PhysicalNic struct {
 61023  	DynamicData
 61024  
 61025  	// The linkable identifier.
 61026  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 61027  	// The device name of the physical network adapter.
 61028  	Device string `xml:"device" json:"device"`
 61029  	// Device hash of the PCI device corresponding to this
 61030  	// physical network adapter.
 61031  	Pci string `xml:"pci" json:"pci"`
 61032  	// The name of the driver.
 61033  	//
 61034  	// From command line: esxcli network nic get
 61035  	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
 61036  	// The version of the physical network adapter operating system driver.
 61037  	DriverVersion string `xml:"driverVersion,omitempty" json:"driverVersion,omitempty" vim:"8.0.0.1"`
 61038  	// The version of the firmware running in the network adapter.
 61039  	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty" vim:"8.0.0.1"`
 61040  	// The current link state of the physical network adapter.
 61041  	//
 61042  	// If this object is not set, then the link is down.
 61043  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 61044  	// The valid combinations of speed and duplexity for this
 61045  	// physical network adapter.
 61046  	//
 61047  	// The speed and the duplex settings usually must be configured
 61048  	// as a pair. This array lists all the valid combinations available
 61049  	// for a physical network adapter.
 61050  	//
 61051  	// Autonegotiate is not listed as one of the combinations supported.
 61052  	// If is implicitly supported by the physical network adapter
 61053  	// unless `PhysicalNic.autoNegotiateSupported` is set to false.
 61054  	ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty" json:"validLinkSpecification,omitempty"`
 61055  	// The specification of the physical network adapter.
 61056  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 61057  	// Flag indicating whether the NIC is wake-on-LAN capable
 61058  	WakeOnLanSupported bool `xml:"wakeOnLanSupported" json:"wakeOnLanSupported"`
 61059  	// The media access control (MAC) address of the physical
 61060  	// network adapter.
 61061  	Mac string `xml:"mac" json:"mac"`
 61062  	// The FCoE configuration of the physical network adapter.
 61063  	FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty" json:"fcoeConfiguration,omitempty"`
 61064  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 61065  	// there is no replacement.
 61066  	//
 61067  	// Flag indicating whether the NIC supports VMDirectPath Gen 2.
 61068  	//
 61069  	// Note that
 61070  	// this is only an indicator of the capabilities of this NIC, not of the
 61071  	// whole host.
 61072  	//
 61073  	// If the host software is not capable of VMDirectPath Gen 2,
 61074  	// this property will be unset, as the host cannot provide information on
 61075  	// the NIC capability.
 61076  	//
 61077  	// See also `HostCapability.vmDirectPathGen2Supported`.
 61078  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 61079  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 61080  	// there is no replacement.
 61081  	//
 61082  	// If `PhysicalNic.vmDirectPathGen2Supported` is true, this property advertises
 61083  	// the VMDirectPath Gen 2 mode supported by this NIC (chosen from
 61084  	// `PhysicalNicVmDirectPathGen2SupportedMode_enum`).
 61085  	//
 61086  	// A mode may require that the associated vSphere Distributed Switch have
 61087  	// a particular ProductSpec in order for network passthrough to be possible.
 61088  	VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty" json:"vmDirectPathGen2SupportedMode,omitempty"`
 61089  	// Flag indicating whether the NIC allows resource pool based scheduling
 61090  	// for network I/O control.
 61091  	ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed" json:"resourcePoolSchedulerAllowed,omitempty"`
 61092  	// If `PhysicalNic.resourcePoolSchedulerAllowed` is false, this property
 61093  	// advertises the reason for disallowing resource scheduling on
 61094  	// this NIC.
 61095  	//
 61096  	// The reasons may be one of
 61097  	// `PhysicalNicResourcePoolSchedulerDisallowedReason_enum`
 61098  	ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty" json:"resourcePoolSchedulerDisallowedReason,omitempty"`
 61099  	// If set the flag indicates if the physical network adapter supports
 61100  	// autonegotiate.
 61101  	AutoNegotiateSupported *bool `xml:"autoNegotiateSupported" json:"autoNegotiateSupported,omitempty"`
 61102  	// If set the flag indicates whether a physical nic supports Enhanced
 61103  	// Networking Stack driver
 61104  	EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported" json:"enhancedNetworkingStackSupported,omitempty"`
 61105  	// If set the flag indicates whether a physical nic supports Enhanced
 61106  	// Networking Stack interrupt mode
 61107  	EnsInterruptSupported *bool `xml:"ensInterruptSupported" json:"ensInterruptSupported,omitempty"`
 61108  	// Associated RDMA device, if any.
 61109  	RdmaDevice string `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty"`
 61110  	// The identifier of the DPU by which the physical NIC is backed.
 61111  	//
 61112  	// When physical NIC is not backed by DPU, dpuId will be unset.
 61113  	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
 61114  }
 61115  
 61116  func init() {
 61117  	t["PhysicalNic"] = reflect.TypeOf((*PhysicalNic)(nil)).Elem()
 61118  }
 61119  
 61120  // The capability of the CDP-awared device that connects to a Physical NIC.
 61121  //
 61122  // `PhysicalNicCdpInfo`
 61123  type PhysicalNicCdpDeviceCapability struct {
 61124  	DynamicData
 61125  
 61126  	// The CDP-awared device has the capability of a routing for
 61127  	// at least one network layer protocol
 61128  	Router bool `xml:"router" json:"router"`
 61129  	// The CDP-awared device has the capability of transparent
 61130  	// bridging
 61131  	TransparentBridge bool `xml:"transparentBridge" json:"transparentBridge"`
 61132  	// The CDP-awared device has the capability of source-route
 61133  	// bridging
 61134  	SourceRouteBridge bool `xml:"sourceRouteBridge" json:"sourceRouteBridge"`
 61135  	// The CDP-awared device has the capability of switching.
 61136  	//
 61137  	// The
 61138  	// difference between this capability and transparentBridge is
 61139  	// that a switch does not run the Spanning-Tree Protocol. This
 61140  	// device is assumed to be deployed in a physical loop-free topology.
 61141  	NetworkSwitch bool `xml:"networkSwitch" json:"networkSwitch"`
 61142  	// The CDP-awared device has the capability of a host, which
 61143  	// Sends and receives packets for at least one network layer protocol.
 61144  	Host bool `xml:"host" json:"host"`
 61145  	// The CDP-awared device is IGMP-enabled, which does not forward IGMP
 61146  	// Report packets on nonrouter ports.
 61147  	IgmpEnabled bool `xml:"igmpEnabled" json:"igmpEnabled"`
 61148  	// The CDP-awared device has the capability of a repeater
 61149  	Repeater bool `xml:"repeater" json:"repeater"`
 61150  }
 61151  
 61152  func init() {
 61153  	t["PhysicalNicCdpDeviceCapability"] = reflect.TypeOf((*PhysicalNicCdpDeviceCapability)(nil)).Elem()
 61154  }
 61155  
 61156  // CDP (Cisco Discovery Protocol) is a link level protocol that allows
 61157  // for discovering the CDP-awared network hardware at either end of a
 61158  // DIRECT connection.
 61159  //
 61160  // It's only good for direct connection because CDP
 61161  // doesn't get forwarded through switches.
 61162  // It's a simple advertisement protocol which beacons information about
 61163  // the switch or host along with some port information. The CDP information
 61164  // allows ESX Server admins to know which Cisco switch port is connected to
 61165  // any given virtual switch uplink (PNIC).
 61166  type PhysicalNicCdpInfo struct {
 61167  	DynamicData
 61168  
 61169  	// CDP version.
 61170  	//
 61171  	// The value is always 1.
 61172  	CdpVersion int32 `xml:"cdpVersion,omitempty" json:"cdpVersion,omitempty"`
 61173  	// This is the periodicity of advertisement, the time between two
 61174  	// successive CDP message transmissions
 61175  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 61176  	// Time-To-Live.
 61177  	//
 61178  	// the amount of time, in seconds, that a receiver should
 61179  	// retain the information contained in the CDP packet.
 61180  	Ttl int32 `xml:"ttl,omitempty" json:"ttl,omitempty"`
 61181  	// The number of CDP messages we have received from the device.
 61182  	Samples int32 `xml:"samples,omitempty" json:"samples,omitempty"`
 61183  	// Device ID which identifies the device.
 61184  	//
 61185  	// By default, the device ID is
 61186  	// either the device's fully-qualified host name (including the domain
 61187  	// name) or the device's hardware serial number in ASCII.
 61188  	DevId string `xml:"devId,omitempty" json:"devId,omitempty"`
 61189  	// The advertised IP address that is assigned to the interface of the device
 61190  	// on which the CDP message is sent.
 61191  	//
 61192  	// The device can advertise all addresses for
 61193  	// a given protocol suite and, optionally, can advertise one or more loopback
 61194  	// IP addresses. But this property only show the first address.
 61195  	Address string `xml:"address,omitempty" json:"address,omitempty"`
 61196  	// Port ID.
 61197  	//
 61198  	// An ASCII character string that identifies the port on which
 61199  	// the CDP message is sent, e.g. "FastEthernet0/8"
 61200  	PortId string `xml:"portId,omitempty" json:"portId,omitempty"`
 61201  	// Device Capability
 61202  	// `PhysicalNicCdpDeviceCapability`
 61203  	DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty" json:"deviceCapability,omitempty"`
 61204  	// Software version on the device.
 61205  	//
 61206  	// A character string that provides
 61207  	// information about the software release version that the device is
 61208  	// running. e.g. "Cisco Internetwork Operating Syscisco WS-C2940-8TT-S"
 61209  	SoftwareVersion string `xml:"softwareVersion,omitempty" json:"softwareVersion,omitempty"`
 61210  	// Hardware platform.
 61211  	//
 61212  	// An ASCII character string that describes the
 61213  	// hardware platform of the device , e.g. "cisco WS-C2940-8TT-S"
 61214  	HardwarePlatform string `xml:"hardwarePlatform,omitempty" json:"hardwarePlatform,omitempty"`
 61215  	// IP prefix.
 61216  	//
 61217  	// Each IP prefix represents one of the directly connected
 61218  	// IP network segments of the local route.
 61219  	IpPrefix string `xml:"ipPrefix,omitempty" json:"ipPrefix,omitempty"`
 61220  	// ipPrefix length.
 61221  	IpPrefixLen int32 `xml:"ipPrefixLen,omitempty" json:"ipPrefixLen,omitempty"`
 61222  	// The native VLAN of advertising port.
 61223  	//
 61224  	// The native VLAN is the VLAN to
 61225  	// which a port returns when it is not trunking. Also, the native VLAN
 61226  	// is the untagged VLAN on an 802.1Q trunk.
 61227  	Vlan int32 `xml:"vlan,omitempty" json:"vlan,omitempty"`
 61228  	// Half/full duplex setting of the advertising port.
 61229  	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
 61230  	// MTU, the maximum transmission unit for the advertising port.
 61231  	//
 61232  	// Possible
 61233  	// values are 1500 through 18190.
 61234  	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
 61235  	// The configured SNMP system name of the device.
 61236  	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
 61237  	// The configured SNMP system OID of the device.
 61238  	SystemOID string `xml:"systemOID,omitempty" json:"systemOID,omitempty"`
 61239  	// The configured IP address of the SNMP management interface for the
 61240  	// device.
 61241  	MgmtAddr string `xml:"mgmtAddr,omitempty" json:"mgmtAddr,omitempty"`
 61242  	// The configured location of the device.
 61243  	Location string `xml:"location,omitempty" json:"location,omitempty"`
 61244  }
 61245  
 61246  func init() {
 61247  	t["PhysicalNicCdpInfo"] = reflect.TypeOf((*PhysicalNicCdpInfo)(nil)).Elem()
 61248  }
 61249  
 61250  // The configuration of the physical network adapter containing
 61251  // both the configurable properties and identification information.
 61252  type PhysicalNicConfig struct {
 61253  	DynamicData
 61254  
 61255  	// PhysicalNic device to which configuration applies.
 61256  	Device string `xml:"device" json:"device"`
 61257  	// The specification of the physical network adapter.
 61258  	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
 61259  }
 61260  
 61261  func init() {
 61262  	t["PhysicalNicConfig"] = reflect.TypeOf((*PhysicalNicConfig)(nil)).Elem()
 61263  }
 61264  
 61265  // This data object type describes each network of a physical
 61266  // network adapter's network hint.
 61267  type PhysicalNicHint struct {
 61268  	DynamicData
 61269  
 61270  	// The optional VLAN Id of the network.
 61271  	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 61272  }
 61273  
 61274  func init() {
 61275  	t["PhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem()
 61276  }
 61277  
 61278  // The NetworkHint data object type is some information about
 61279  // the network to which the
 61280  // physical network adapter is attached.
 61281  type PhysicalNicHintInfo struct {
 61282  	DynamicData
 61283  
 61284  	// The physical network adapter device to which
 61285  	// this hint applies.
 61286  	Device string `xml:"device" json:"device"`
 61287  	// The list of subnets that were detected on this
 61288  	// physical network adapter.
 61289  	Subnet []PhysicalNicIpHint `xml:"subnet,omitempty" json:"subnet,omitempty"`
 61290  	// The list of network names that were detected on this
 61291  	// physical network adapter.
 61292  	Network []PhysicalNicNameHint `xml:"network,omitempty" json:"network,omitempty"`
 61293  	// If the uplink directly connects to a CDP-awared network device
 61294  	// and the device's CDP broadcast is enabled, this property will be
 61295  	// set to return the CDP information that vmkernel received on this
 61296  	// Physical NIC.
 61297  	//
 61298  	// CDP data contains the device information and port ID that
 61299  	// the Physical NIC connects to. If the uplink is not connecting to a
 61300  	// CDP-awared device or CDP is not enabled on the device, this
 61301  	// property will be unset.
 61302  	// `PhysicalNicCdpInfo`
 61303  	ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty" json:"connectedSwitchPort,omitempty"`
 61304  	// If the uplink directly connects to an LLDP-aware network device and
 61305  	// the device's LLDP broadcast is enabled, this property will be set to
 61306  	// return the LLDP information that is received on this physical network
 61307  	// adapter.
 61308  	//
 61309  	// If the uplink is not connecting to a LLDP-aware device or
 61310  	// LLDP is not enabled on the device, this property will be unset.
 61311  	LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty" json:"lldpInfo,omitempty"`
 61312  }
 61313  
 61314  func init() {
 61315  	t["PhysicalNicHintInfo"] = reflect.TypeOf((*PhysicalNicHintInfo)(nil)).Elem()
 61316  }
 61317  
 61318  // This data object type describes a network in network hint where
 61319  // the network is specified using IP addresses, for example,
 61320  // 10.27.49.1-10.27.49.254
 61321  type PhysicalNicIpHint struct {
 61322  	PhysicalNicHint
 61323  
 61324  	// The network IP addresses.
 61325  	IpSubnet string `xml:"ipSubnet" json:"ipSubnet"`
 61326  }
 61327  
 61328  func init() {
 61329  	t["PhysicalNicIpHint"] = reflect.TypeOf((*PhysicalNicIpHint)(nil)).Elem()
 61330  }
 61331  
 61332  // The `PhysicalNicLinkInfo` data object describes
 61333  // the link speed and the type of duplex communication.
 61334  //
 61335  // The link speed indicates
 61336  // the bit rate in megabits per second. The duplex boolean indicates if the link
 61337  // is capable of full-duplex or half-duplex communication.
 61338  type PhysicalNicLinkInfo struct {
 61339  	DynamicData
 61340  
 61341  	// Bit rate on the link.
 61342  	SpeedMb int32 `xml:"speedMb" json:"speedMb"`
 61343  	// Flag to indicate whether or not the link is capable of
 61344  	// full-duplex ("true") or only half-duplex ("false").
 61345  	Duplex bool `xml:"duplex" json:"duplex"`
 61346  }
 61347  
 61348  func init() {
 61349  	t["PhysicalNicLinkInfo"] = reflect.TypeOf((*PhysicalNicLinkInfo)(nil)).Elem()
 61350  }
 61351  
 61352  // This data object type describes a network in network hint where
 61353  // the network describes the color, label, or the name of the
 61354  // network.
 61355  type PhysicalNicNameHint struct {
 61356  	PhysicalNicHint
 61357  
 61358  	// The network name.
 61359  	Network string `xml:"network" json:"network"`
 61360  }
 61361  
 61362  func init() {
 61363  	t["PhysicalNicNameHint"] = reflect.TypeOf((*PhysicalNicNameHint)(nil)).Elem()
 61364  }
 61365  
 61366  // The `PhysicalNicProfile` data object represents physical NIC configuration.
 61367  //
 61368  // Use the `ApplyProfile.policy` list for access to configuration data
 61369  // for the physical NIC profile. Use the `ApplyProfile.property` list
 61370  // for access to subprofile configuration data, if any.
 61371  type PhysicalNicProfile struct {
 61372  	ApplyProfile
 61373  
 61374  	// Linkable identifier.
 61375  	Key string `xml:"key" json:"key"`
 61376  }
 61377  
 61378  func init() {
 61379  	t["PhysicalNicProfile"] = reflect.TypeOf((*PhysicalNicProfile)(nil)).Elem()
 61380  }
 61381  
 61382  // This data object type describes the physical network adapter specification
 61383  // representing the properties on a physical network adapter that
 61384  // can be configured once the object exists.
 61385  type PhysicalNicSpec struct {
 61386  	DynamicData
 61387  
 61388  	// The IP configuration on the physical network adapter (applies
 61389  	// only to a hosted network adapter).
 61390  	//
 61391  	// The data object will be NULL on an ESX Server system.
 61392  	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
 61393  	// The link speed and duplexity that this physical network
 61394  	// adapter is currently
 61395  	// configured to use.
 61396  	//
 61397  	// If this property is not set, the physical
 61398  	// network adapter autonegotiates its proper settings.
 61399  	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 61400  	// If set the flag indicates if the physical network adapter is
 61401  	// configured for Enhanced Networking Stack
 61402  	EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack" json:"enableEnhancedNetworkingStack,omitempty"`
 61403  	// If set the flag indicates if the physical network adapter is
 61404  	// configured for Enhanced Networking Stack interrupt mode
 61405  	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty"`
 61406  }
 61407  
 61408  func init() {
 61409  	t["PhysicalNicSpec"] = reflect.TypeOf((*PhysicalNicSpec)(nil)).Elem()
 61410  }
 61411  
 61412  // Specifies SSL policy to trust a pinned SSL certificate.
 61413  type PinnedCertificate struct {
 61414  	IoFilterManagerSslTrust
 61415  
 61416  	// PEM-encoded pinned SSL certificate of the server that needs to be
 61417  	// trusted.
 61418  	SslCertificate string `xml:"sslCertificate" json:"sslCertificate"`
 61419  }
 61420  
 61421  func init() {
 61422  	t["PinnedCertificate"] = reflect.TypeOf((*PinnedCertificate)(nil)).Elem()
 61423  	minAPIVersionForType["PinnedCertificate"] = "8.0.3.0"
 61424  }
 61425  
 61426  type PlaceVm PlaceVmRequestType
 61427  
 61428  func init() {
 61429  	t["PlaceVm"] = reflect.TypeOf((*PlaceVm)(nil)).Elem()
 61430  }
 61431  
 61432  // The parameters of `ClusterComputeResource.PlaceVm`.
 61433  type PlaceVmRequestType struct {
 61434  	This ManagedObjectReference `xml:"_this" json:"-"`
 61435  	// Specification for placing a virtual machine
 61436  	// and its virtual disks
 61437  	PlacementSpec PlacementSpec `xml:"placementSpec" json:"placementSpec"`
 61438  }
 61439  
 61440  func init() {
 61441  	t["PlaceVmRequestType"] = reflect.TypeOf((*PlaceVmRequestType)(nil)).Elem()
 61442  }
 61443  
 61444  type PlaceVmResponse struct {
 61445  	Returnval PlacementResult `xml:"returnval" json:"returnval"`
 61446  }
 61447  
 61448  // Describes a placement action of a single virtual machine.
 61449  //
 61450  // One or more of such actions can be included in a placement recommendation,
 61451  // and such recommendations can be generated by the
 61452  // `ClusterComputeResource.PlaceVm` method.
 61453  type PlacementAction struct {
 61454  	ClusterAction
 61455  
 61456  	// Virtual machine reference.
 61457  	//
 61458  	// Unset if the VM has not been created.
 61459  	//
 61460  	// Refers instance of `VirtualMachine`.
 61461  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 61462  	// The host where the virtual machine should be placed.
 61463  	//
 61464  	// Unset if no host recommendation is provided.
 61465  	//
 61466  	// Refers instance of `HostSystem`.
 61467  	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
 61468  	// Specification for placing the configuration files and the virtual
 61469  	// disks of the virtual machine on one or more datastores.
 61470  	//
 61471  	// Unset if no datastore recommendation is provided.
 61472  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 61473  }
 61474  
 61475  func init() {
 61476  	t["PlacementAction"] = reflect.TypeOf((*PlacementAction)(nil)).Elem()
 61477  }
 61478  
 61479  // The `PlacementAffinityRule` data object specifies
 61480  // affinity rules for placement
 61481  type PlacementAffinityRule struct {
 61482  	DynamicData
 61483  
 61484  	// Type of affinity rule.
 61485  	//
 61486  	// The set of possible values are described in
 61487  	// `PlacementAffinityRuleRuleType_enum`
 61488  	RuleType string `xml:"ruleType" json:"ruleType"`
 61489  	// Scope of the affinity rule.
 61490  	//
 61491  	// The set of possible values are described in
 61492  	// `PlacementAffinityRuleRuleScope_enum`
 61493  	RuleScope string `xml:"ruleScope" json:"ruleScope"`
 61494  	// List of virtual machines that are part of this rule.
 61495  	//
 61496  	// Refers instances of `VirtualMachine`.
 61497  	Vms []ManagedObjectReference `xml:"vms,omitempty" json:"vms,omitempty"`
 61498  	// List of PlacementSpec keys that are part of this rule representing
 61499  	// virtual machines yet to be placed.
 61500  	Keys []string `xml:"keys,omitempty" json:"keys,omitempty"`
 61501  }
 61502  
 61503  func init() {
 61504  	t["PlacementAffinityRule"] = reflect.TypeOf((*PlacementAffinityRule)(nil)).Elem()
 61505  }
 61506  
 61507  // PlacementRankResult is the class of the result returned by
 61508  // the vCenter Server for rankClustersForPlacement method
 61509  type PlacementRankResult struct {
 61510  	DynamicData
 61511  
 61512  	// Reference key for the placement request
 61513  	Key string `xml:"key" json:"key"`
 61514  	// Candidate cluster for the placement problem
 61515  	//
 61516  	// Refers instance of `ClusterComputeResource`.
 61517  	Candidate ManagedObjectReference `xml:"candidate" json:"candidate"`
 61518  	// The reserved storage space for the candidate cluster after placement
 61519  	// The unit is in Megabytes
 61520  	ReservedSpaceMB int64 `xml:"reservedSpaceMB" json:"reservedSpaceMB"`
 61521  	// The expected space usage for the candidate cluster after placement
 61522  	// The unit is in Megabytes
 61523  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 61524  	// The expected total space for the candidate cluster after placement
 61525  	// The unit is in Megabytes
 61526  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 61527  	// The expected aggregate resource utilization for the candidate cluster
 61528  	// after placement
 61529  	// The unit is a fractional value between 0 and 1.
 61530  	Utilization float64 `xml:"utilization" json:"utilization"`
 61531  	// Information about why a given cluster is not recommended for
 61532  	// placement
 61533  	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
 61534  }
 61535  
 61536  func init() {
 61537  	t["PlacementRankResult"] = reflect.TypeOf((*PlacementRankResult)(nil)).Elem()
 61538  }
 61539  
 61540  // PlacementRankSpec encapsulates all of the inputs passed to
 61541  // the `StorageResourceManager.RankForPlacement` method.
 61542  type PlacementRankSpec struct {
 61543  	DynamicData
 61544  
 61545  	// List of VM placement specifications for ranking clusters
 61546  	Specs []PlacementSpec `xml:"specs" json:"specs"`
 61547  	// List of candidate clusters for the placement request
 61548  	//
 61549  	// Refers instances of `ClusterComputeResource`.
 61550  	Clusters []ManagedObjectReference `xml:"clusters" json:"clusters"`
 61551  	// List of affinity rules for the placement request
 61552  	Rules []PlacementAffinityRule `xml:"rules,omitempty" json:"rules,omitempty"`
 61553  	// List of preferred clusters for individual VM placement requests
 61554  	PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty" json:"placementRankByVm,omitempty"`
 61555  }
 61556  
 61557  func init() {
 61558  	t["PlacementRankSpec"] = reflect.TypeOf((*PlacementRankSpec)(nil)).Elem()
 61559  }
 61560  
 61561  // `ClusterComputeResource.PlaceVm` method can invoke DRS
 61562  // for recommendations for target hosts and datastores for placing a
 61563  // virtual machine and its virtual disks using xVMotion.
 61564  //
 61565  // PlacementResult is the class of the result returned by that method.
 61566  type PlacementResult struct {
 61567  	DynamicData
 61568  
 61569  	// The list of recommendations for where to place the virtual machine
 61570  	// and its virtual disks.
 61571  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 61572  	// Information about any fault in case DRS fails to make a recommendation.
 61573  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 61574  }
 61575  
 61576  func init() {
 61577  	t["PlacementResult"] = reflect.TypeOf((*PlacementResult)(nil)).Elem()
 61578  }
 61579  
 61580  // PlacementSpec encapsulates all of the information passed to the
 61581  // `ClusterComputeResource.PlaceVm` method, which asks
 61582  // DRS for recommendations for target hosts and datastores for placing
 61583  // a virtual machine and its virtual disks in a cluster using
 61584  // unified VMotion.
 61585  type PlacementSpec struct {
 61586  	DynamicData
 61587  
 61588  	// Priority of the migration operation.
 61589  	//
 61590  	// The default value is defaultPriority.
 61591  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 61592  	// The virtual machine to be placed.
 61593  	//
 61594  	// For an intra-vCenter migration, this argument is required.
 61595  	// For a cross-vCenter migration, this argument should be unset,
 61596  	// and the caller is responsible for applying the DRS-recommended
 61597  	// placement to the correct vm.
 61598  	//
 61599  	// Refers instance of `VirtualMachine`.
 61600  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 61601  	// Configuration information for the virtual machine.
 61602  	//
 61603  	// For an intra-vCenter migration, this argument should be unset.
 61604  	// For a cross-vCenter migration, this argument is required.
 61605  	// In the latter case, the following elements of the configSpec
 61606  	// will be expected: version, cpuAllocation, memoryAllocation, numCPUs,
 61607  	// memoryMB, files, swapPlacement; in addition, the configSpec.deviceChange
 61608  	// should contain all the virtual disks of the virtual machine to be migrated.
 61609  	// If configSpec.deviceChange is empty, the vm will be treated as a
 61610  	// diskless vm.
 61611  	// If a storage profile is specified for a virtual disk or vm configuration,
 61612  	// only datastores that match this profile will be considered for that
 61613  	// virtual disk or vm configuration.
 61614  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 61615  	// Specification for relocating a virtual machine.
 61616  	//
 61617  	// Can be used to optionally specify a target host, a target datastore,
 61618  	// or a target resource pool. If a target host is specified, this host
 61619  	// becomes the recommended host; if a target datastore is specified,
 61620  	// this datastore becomes the recommended datastore; if no resource
 61621  	// pool is specified, the virtual machine will be attached to the
 61622  	// cluster root resource pool; if the target resource pool specified
 61623  	// is a VirtualApp, an InvalidArgument fault will be thrown.
 61624  	// If a storage profile is specified for a virtual disk or vm configuration,
 61625  	// only datastores that match this profile will be considered for that
 61626  	// virtual disk or vm configuration.
 61627  	// For cross-vCenter migration, the caller
 61628  	// should set the service and the folder arguments properly either in
 61629  	// the input relocateSpec or in the output relocateSpec in the placement
 61630  	// recommendation before passing the relocateSpec to the RelocateVM API.
 61631  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 61632  	// A list of compatible hosts for the virtual machine.
 61633  	//
 61634  	// This list is ignored if relocateSpec.host is set.
 61635  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 61636  	// if relocateSpec.host is unset.
 61637  	// If neither relocateSpec.host nor a list of compatible hosts are specified,
 61638  	// all hosts in the cluster will be considered, in which case, the selected
 61639  	// hosts in the PlacementResult are not guaranteed to be compatible with the
 61640  	// incoming virtual machine.
 61641  	//
 61642  	// Refers instances of `HostSystem`.
 61643  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 61644  	// A list of compatible datastores for the virtual machine.
 61645  	//
 61646  	// This list is ignored if relocateSpec.datastore is set.
 61647  	// For both intra-vCenter and cross-vCenter migrations, this list is required
 61648  	// if relocateSpec.datastore is unset.
 61649  	// If neither relocateSpec.datastore nor a list of compatible datastores are
 61650  	// specified, all datastores connected to hosts in the cluster will be
 61651  	// considered, in which case, the selected datastores in the PlacementResult
 61652  	// are not guaranteed to be compatible with the incoming virtual machine.
 61653  	//
 61654  	// Refers instances of `Datastore`.
 61655  	Datastores []ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
 61656  	// A list of compatible datastore clusters for the virtual machine.
 61657  	//
 61658  	// This list is ignored if relocateSpec.datastore is set.
 61659  	// For both intra-vCenter and cross-vCenter migrations, this list can be
 61660  	// empty, in which case, the user should set either RelocateSpec.datastore
 61661  	// or PlacementSpec.datastores as the target datastore or the list of
 61662  	// compatible datastores.
 61663  	//
 61664  	// Refers instances of `StoragePod`.
 61665  	StoragePods []ManagedObjectReference `xml:"storagePods,omitempty" json:"storagePods,omitempty"`
 61666  	// Specification for whether to disable pre-requisite vmotions or storage
 61667  	// vmotions for virtual machine placement.
 61668  	//
 61669  	// The default value is true,
 61670  	// that is, to disallow such prerequisite moves.
 61671  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
 61672  	// A list of rules to respect while placing the virtual machine on
 61673  	// target cluster.
 61674  	//
 61675  	// If the list is empty, rules will not be considered during placement,
 61676  	// in case of cross-cluster placement within a VC and cross VC
 61677  	// placement across VCs.
 61678  	Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr" json:"rules,omitempty"`
 61679  	// Client generated identifier as a reference to the placement request
 61680  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 61681  	// Type of the placement.
 61682  	//
 61683  	// The set of possible values are described in
 61684  	// `PlacementSpecPlacementType_enum`
 61685  	PlacementType string `xml:"placementType,omitempty" json:"placementType,omitempty"`
 61686  	// Specification for a virtual machine clone operation
 61687  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 61688  	// Name for the cloned virtual machine, if the operation type is a clone
 61689  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 61690  }
 61691  
 61692  func init() {
 61693  	t["PlacementSpec"] = reflect.TypeOf((*PlacementSpec)(nil)).Elem()
 61694  }
 61695  
 61696  // A PlatformConfigFault is a catch-all fault indicating that some error has
 61697  // occurred regarding the configuration of the host.
 61698  //
 61699  // Data about the fault is
 61700  // available and will be presented as a platform specific string.
 61701  //
 61702  // This information carried by this fault cannot be localized. Most likely
 61703  // this information will already have been localized to the locale of the
 61704  // server that generated this fault. Where possible, a more specific fault
 61705  // will be thrown.
 61706  type PlatformConfigFault struct {
 61707  	HostConfigFault
 61708  
 61709  	// Platform specific text string describing this error.
 61710  	Text string `xml:"text" json:"text"`
 61711  }
 61712  
 61713  func init() {
 61714  	t["PlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem()
 61715  }
 61716  
 61717  type PlatformConfigFaultFault BasePlatformConfigFault
 61718  
 61719  func init() {
 61720  	t["PlatformConfigFaultFault"] = reflect.TypeOf((*PlatformConfigFaultFault)(nil)).Elem()
 61721  }
 61722  
 61723  // The `PnicUplinkProfile` data object specifies the mapping between
 61724  // a physical NIC and an uplink port.
 61725  //
 61726  // The `ApplyProfile.policy` property contains
 61727  // the configuration data values.
 61728  type PnicUplinkProfile struct {
 61729  	ApplyProfile
 61730  
 61731  	// Linkable identifier.
 61732  	Key string `xml:"key" json:"key"`
 61733  }
 61734  
 61735  func init() {
 61736  	t["PnicUplinkProfile"] = reflect.TypeOf((*PnicUplinkProfile)(nil)).Elem()
 61737  }
 61738  
 61739  // The disk locator class.
 61740  type PodDiskLocator struct {
 61741  	DynamicData
 61742  
 61743  	// The disk ID.
 61744  	DiskId int32 `xml:"diskId" json:"diskId"`
 61745  	// The disk move type.
 61746  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 61747  	// The disk backing info.
 61748  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
 61749  	// Virtual Disk Profile requirement.
 61750  	//
 61751  	// Profiles are solution specific.
 61752  	// Profile Based Storage Management is a vSphere server extension.
 61753  	// The API users who want to provision VMs using Storage Profiles, need to
 61754  	// interact with it.
 61755  	// This is an optional parameter and if user doesn't specify profile,
 61756  	// the default behavior will apply.
 61757  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 61758  }
 61759  
 61760  func init() {
 61761  	t["PodDiskLocator"] = reflect.TypeOf((*PodDiskLocator)(nil)).Elem()
 61762  }
 61763  
 61764  // An entry containing storage DRS configuration, runtime
 61765  // results, and history for a pod `StoragePod`.
 61766  type PodStorageDrsEntry struct {
 61767  	DynamicData
 61768  
 61769  	// Storage DRS configuration.
 61770  	StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig" json:"storageDrsConfig"`
 61771  	// List of recommended actions for the Storage Pod.
 61772  	//
 61773  	// It is
 61774  	// possible that the current set of recommendations may be empty,
 61775  	// either due to not having any running dynamic recommendation
 61776  	// generation module, or since there may be no recommended actions
 61777  	// at this time.
 61778  	Recommendation []ClusterRecommendation `xml:"recommendation,omitempty" json:"recommendation,omitempty"`
 61779  	// A collection of the DRS faults generated in the last Storage DRS invocation.
 61780  	//
 61781  	// Each element of the collection is the set of faults generated in one
 61782  	// recommendation.
 61783  	DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 61784  	// The set of actions that have been performed recently.
 61785  	ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty" json:"actionHistory,omitempty"`
 61786  }
 61787  
 61788  func init() {
 61789  	t["PodStorageDrsEntry"] = reflect.TypeOf((*PodStorageDrsEntry)(nil)).Elem()
 61790  }
 61791  
 61792  // The `PolicyOption` data object represents one or more configuration
 61793  // values.
 61794  //
 61795  // A policy option is one of the configuration options from the
 61796  // `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 61797  // list.
 61798  type PolicyOption struct {
 61799  	DynamicData
 61800  
 61801  	// Identifier for the policy option.
 61802  	//
 61803  	// This value matches one of the
 61804  	// keys from the list of possible options in the policy metadata
 61805  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.id*.*ElementDescription.key`).
 61806  	Id string `xml:"id" json:"id"`
 61807  	// Parameters for the policy option.
 61808  	//
 61809  	// This list must include all parameters that are not marked as optional
 61810  	// in the policy option metadata parameter list
 61811  	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.parameter*\[\].*ProfileParameterMetadata.optional`).
 61812  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 61813  }
 61814  
 61815  func init() {
 61816  	t["PolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem()
 61817  }
 61818  
 61819  // `PortGroupProfile` is the base class for the different port group
 61820  // subprofile objects.
 61821  type PortGroupProfile struct {
 61822  	ApplyProfile
 61823  
 61824  	// Linkable identifier.
 61825  	Key string `xml:"key" json:"key"`
 61826  	// Name of the portgroup.
 61827  	Name string `xml:"name" json:"name"`
 61828  	// VLAN identifier for the port group.
 61829  	Vlan VlanProfile `xml:"vlan" json:"vlan"`
 61830  	// Virtual switch to which the port group is connected.
 61831  	Vswitch VirtualSwitchSelectionProfile `xml:"vswitch" json:"vswitch"`
 61832  	// The network policy/policies applicable on the port group.
 61833  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 61834  }
 61835  
 61836  func init() {
 61837  	t["PortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem()
 61838  }
 61839  
 61840  // Searching for users and groups on POSIX systems provides
 61841  // User ID and Group ID information, in addition to that
 61842  // defined in UserSearchResult.
 61843  type PosixUserSearchResult struct {
 61844  	UserSearchResult
 61845  
 61846  	// If the search result is for a user, then id refers to User ID.
 61847  	//
 61848  	// For a group,
 61849  	// the value of Group ID is assigned to id.
 61850  	Id int32 `xml:"id" json:"id"`
 61851  	// If the search result is for a user, shellAccess indicates whether shell
 61852  	// access has been granted or not.
 61853  	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
 61854  }
 61855  
 61856  func init() {
 61857  	t["PosixUserSearchResult"] = reflect.TypeOf((*PosixUserSearchResult)(nil)).Elem()
 61858  }
 61859  
 61860  type PostEvent PostEventRequestType
 61861  
 61862  func init() {
 61863  	t["PostEvent"] = reflect.TypeOf((*PostEvent)(nil)).Elem()
 61864  }
 61865  
 61866  // The parameters of `EventManager.PostEvent`.
 61867  type PostEventRequestType struct {
 61868  	This ManagedObjectReference `xml:"_this" json:"-"`
 61869  	// Fully-specified event to post
 61870  	EventToPost BaseEvent `xml:"eventToPost,typeattr" json:"eventToPost"`
 61871  	// optional task associated with the event
 61872  	TaskInfo *TaskInfo `xml:"taskInfo,omitempty" json:"taskInfo,omitempty"`
 61873  }
 61874  
 61875  func init() {
 61876  	t["PostEventRequestType"] = reflect.TypeOf((*PostEventRequestType)(nil)).Elem()
 61877  }
 61878  
 61879  type PostEventResponse struct {
 61880  }
 61881  
 61882  type PostHealthUpdates PostHealthUpdatesRequestType
 61883  
 61884  func init() {
 61885  	t["PostHealthUpdates"] = reflect.TypeOf((*PostHealthUpdates)(nil)).Elem()
 61886  }
 61887  
 61888  // The parameters of `HealthUpdateManager.PostHealthUpdates`.
 61889  type PostHealthUpdatesRequestType struct {
 61890  	This ManagedObjectReference `xml:"_this" json:"-"`
 61891  	// The provider id.
 61892  	ProviderId string `xml:"providerId" json:"providerId"`
 61893  	// The changes in health states.
 61894  	Updates []HealthUpdate `xml:"updates,omitempty" json:"updates,omitempty"`
 61895  }
 61896  
 61897  func init() {
 61898  	t["PostHealthUpdatesRequestType"] = reflect.TypeOf((*PostHealthUpdatesRequestType)(nil)).Elem()
 61899  }
 61900  
 61901  type PostHealthUpdatesResponse struct {
 61902  }
 61903  
 61904  // The parameters of `HostSystem.PowerDownHostToStandBy_Task`.
 61905  type PowerDownHostToStandByRequestType struct {
 61906  	This ManagedObjectReference `xml:"_this" json:"-"`
 61907  	// The task completes when the host successfully
 61908  	// enters standby mode and stops sending heartbeat signals.
 61909  	// If heartbeats are still coming after timeoutSecs seconds,
 61910  	// the host is declared timedout, and the task is assumed
 61911  	// failed.
 61912  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 61913  	// This is a parameter used only by VirtualCenter. If
 61914  	// set to true, for a DRS disabled cluster, the task will not
 61915  	// succeed unless all powered-off virtual machines have been manually
 61916  	// reregistered; for a DRS enabled cluster, VirtualCenter will
 61917  	// automatically reregister powered-off virtual machines and a
 61918  	// powered-off virtual machine may remain at the host only for two
 61919  	// reasons: (a) no compatible host found for reregistration, (b) DRS
 61920  	// is disabled for the virtual machine.
 61921  	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
 61922  }
 61923  
 61924  func init() {
 61925  	t["PowerDownHostToStandByRequestType"] = reflect.TypeOf((*PowerDownHostToStandByRequestType)(nil)).Elem()
 61926  }
 61927  
 61928  type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType
 61929  
 61930  func init() {
 61931  	t["PowerDownHostToStandBy_Task"] = reflect.TypeOf((*PowerDownHostToStandBy_Task)(nil)).Elem()
 61932  }
 61933  
 61934  type PowerDownHostToStandBy_TaskResponse struct {
 61935  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 61936  }
 61937  
 61938  // The parameters of `VirtualApp.PowerOffVApp_Task`.
 61939  type PowerOffVAppRequestType struct {
 61940  	This ManagedObjectReference `xml:"_this" json:"-"`
 61941  	// If force is false, the shutdown order in the vApp is
 61942  	// executed. If force is true, all virtual machines are powered-off
 61943  	// (regardless of shutdown order).
 61944  	Force bool `xml:"force" json:"force"`
 61945  }
 61946  
 61947  func init() {
 61948  	t["PowerOffVAppRequestType"] = reflect.TypeOf((*PowerOffVAppRequestType)(nil)).Elem()
 61949  }
 61950  
 61951  type PowerOffVApp_Task PowerOffVAppRequestType
 61952  
 61953  func init() {
 61954  	t["PowerOffVApp_Task"] = reflect.TypeOf((*PowerOffVApp_Task)(nil)).Elem()
 61955  }
 61956  
 61957  type PowerOffVApp_TaskResponse struct {
 61958  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 61959  }
 61960  
 61961  type PowerOffVMRequestType struct {
 61962  	This ManagedObjectReference `xml:"_this" json:"-"`
 61963  }
 61964  
 61965  func init() {
 61966  	t["PowerOffVMRequestType"] = reflect.TypeOf((*PowerOffVMRequestType)(nil)).Elem()
 61967  }
 61968  
 61969  type PowerOffVM_Task PowerOffVMRequestType
 61970  
 61971  func init() {
 61972  	t["PowerOffVM_Task"] = reflect.TypeOf((*PowerOffVM_Task)(nil)).Elem()
 61973  }
 61974  
 61975  type PowerOffVM_TaskResponse struct {
 61976  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 61977  }
 61978  
 61979  // The PowerOnFtSecondaryFailed fault is thrown when the system is unable to
 61980  // power on a Fault Tolerance secondary virtual machine.
 61981  //
 61982  // It includes a list
 61983  // of failures on different hosts.
 61984  type PowerOnFtSecondaryFailed struct {
 61985  	VmFaultToleranceIssue
 61986  
 61987  	// The primary virtual machine corresponding to the secondary that is to
 61988  	// be powered on
 61989  	//
 61990  	// Refers instance of `VirtualMachine`.
 61991  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 61992  	// The name of the primary virtual machine corresponding to the secondary
 61993  	// that is to be powered on.
 61994  	VmName string `xml:"vmName" json:"vmName"`
 61995  	// The host selection type
 61996  	HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy" json:"hostSelectionBy"`
 61997  	// Information on why the system can not power on a Fault Tolerance
 61998  	// secondary virtual machine on specific hosts.
 61999  	//
 62000  	// Everything in the array
 62001  	// should be FtIssuesOnHost.
 62002  	HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty" json:"hostErrors,omitempty"`
 62003  	// The reason why powering on secondary failed.
 62004  	RootCause LocalizedMethodFault `xml:"rootCause" json:"rootCause"`
 62005  }
 62006  
 62007  func init() {
 62008  	t["PowerOnFtSecondaryFailed"] = reflect.TypeOf((*PowerOnFtSecondaryFailed)(nil)).Elem()
 62009  }
 62010  
 62011  type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed
 62012  
 62013  func init() {
 62014  	t["PowerOnFtSecondaryFailedFault"] = reflect.TypeOf((*PowerOnFtSecondaryFailedFault)(nil)).Elem()
 62015  }
 62016  
 62017  // PowerOnFtSecondaryTimedout exception is thrown when Virtual Center
 62018  // fails the operation to power on a Fault Tolerance secondary virtual
 62019  // machine because it is taking longer than expected.
 62020  type PowerOnFtSecondaryTimedout struct {
 62021  	Timedout
 62022  
 62023  	// The primary virtual machine corresponding to the secondary that is to
 62024  	// be powered on
 62025  	//
 62026  	// Refers instance of `VirtualMachine`.
 62027  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 62028  	// The name of the primary virtual machine corresponding to the secondary
 62029  	// that is to be powered on.
 62030  	VmName string `xml:"vmName" json:"vmName"`
 62031  	// The time out value in seconds
 62032  	Timeout int32 `xml:"timeout" json:"timeout"`
 62033  }
 62034  
 62035  func init() {
 62036  	t["PowerOnFtSecondaryTimedout"] = reflect.TypeOf((*PowerOnFtSecondaryTimedout)(nil)).Elem()
 62037  }
 62038  
 62039  type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout
 62040  
 62041  func init() {
 62042  	t["PowerOnFtSecondaryTimedoutFault"] = reflect.TypeOf((*PowerOnFtSecondaryTimedoutFault)(nil)).Elem()
 62043  }
 62044  
 62045  // The parameters of `Datacenter.PowerOnMultiVM_Task`.
 62046  type PowerOnMultiVMRequestType struct {
 62047  	This ManagedObjectReference `xml:"_this" json:"-"`
 62048  	// The virtual machines to power on.
 62049  	//
 62050  	// Required privileges: VirtualMachine.Interact.PowerOn
 62051  	//
 62052  	// Refers instances of `VirtualMachine`.
 62053  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 62054  	// An array of `OptionValue` options
 62055  	// for this power-on session. The names and values of the
 62056  	// options are defined in
 62057  	// `ClusterPowerOnVmOption_enum`.
 62058  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 62059  }
 62060  
 62061  func init() {
 62062  	t["PowerOnMultiVMRequestType"] = reflect.TypeOf((*PowerOnMultiVMRequestType)(nil)).Elem()
 62063  }
 62064  
 62065  type PowerOnMultiVM_Task PowerOnMultiVMRequestType
 62066  
 62067  func init() {
 62068  	t["PowerOnMultiVM_Task"] = reflect.TypeOf((*PowerOnMultiVM_Task)(nil)).Elem()
 62069  }
 62070  
 62071  type PowerOnMultiVM_TaskResponse struct {
 62072  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62073  }
 62074  
 62075  type PowerOnVAppRequestType struct {
 62076  	This ManagedObjectReference `xml:"_this" json:"-"`
 62077  }
 62078  
 62079  func init() {
 62080  	t["PowerOnVAppRequestType"] = reflect.TypeOf((*PowerOnVAppRequestType)(nil)).Elem()
 62081  }
 62082  
 62083  type PowerOnVApp_Task PowerOnVAppRequestType
 62084  
 62085  func init() {
 62086  	t["PowerOnVApp_Task"] = reflect.TypeOf((*PowerOnVApp_Task)(nil)).Elem()
 62087  }
 62088  
 62089  type PowerOnVApp_TaskResponse struct {
 62090  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62091  }
 62092  
 62093  // The parameters of `VirtualMachine.PowerOnVM_Task`.
 62094  type PowerOnVMRequestType struct {
 62095  	This ManagedObjectReference `xml:"_this" json:"-"`
 62096  	// (optional) The host where the virtual machine is to be powered on.
 62097  	// If no host is specified, the current associated host is used. This field must
 62098  	// specify a host that is part of the same compute resource that the virtual machine
 62099  	// is currently associated with. If this host is not compatible, the current host
 62100  	// association is used.
 62101  	//
 62102  	// Refers instance of `HostSystem`.
 62103  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 62104  }
 62105  
 62106  func init() {
 62107  	t["PowerOnVMRequestType"] = reflect.TypeOf((*PowerOnVMRequestType)(nil)).Elem()
 62108  }
 62109  
 62110  type PowerOnVM_Task PowerOnVMRequestType
 62111  
 62112  func init() {
 62113  	t["PowerOnVM_Task"] = reflect.TypeOf((*PowerOnVM_Task)(nil)).Elem()
 62114  }
 62115  
 62116  type PowerOnVM_TaskResponse struct {
 62117  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62118  }
 62119  
 62120  // Power System Capability data object.
 62121  //
 62122  // Exposes policies available in power management system.
 62123  type PowerSystemCapability struct {
 62124  	DynamicData
 62125  
 62126  	// List of available host power policies.
 62127  	AvailablePolicy []HostPowerPolicy `xml:"availablePolicy" json:"availablePolicy"`
 62128  }
 62129  
 62130  func init() {
 62131  	t["PowerSystemCapability"] = reflect.TypeOf((*PowerSystemCapability)(nil)).Elem()
 62132  }
 62133  
 62134  // Power System Info data object.
 62135  //
 62136  // Shows current state of power management system.
 62137  type PowerSystemInfo struct {
 62138  	DynamicData
 62139  
 62140  	// Currently selected host power management policy.
 62141  	//
 62142  	// This property can have one of the values from
 62143  	// `PowerSystemCapability.availablePolicy`.
 62144  	CurrentPolicy HostPowerPolicy `xml:"currentPolicy" json:"currentPolicy"`
 62145  }
 62146  
 62147  func init() {
 62148  	t["PowerSystemInfo"] = reflect.TypeOf((*PowerSystemInfo)(nil)).Elem()
 62149  }
 62150  
 62151  // The parameters of `HostSystem.PowerUpHostFromStandBy_Task`.
 62152  type PowerUpHostFromStandByRequestType struct {
 62153  	This ManagedObjectReference `xml:"_this" json:"-"`
 62154  	// The task completes when the host successfully
 62155  	// exits standby state and sends a heartbeat signal. If nothing is
 62156  	// received from the host for timeoutSec seconds, the host is
 62157  	// declared timedout, and the task is assumed failed.
 62158  	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
 62159  }
 62160  
 62161  func init() {
 62162  	t["PowerUpHostFromStandByRequestType"] = reflect.TypeOf((*PowerUpHostFromStandByRequestType)(nil)).Elem()
 62163  }
 62164  
 62165  type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType
 62166  
 62167  func init() {
 62168  	t["PowerUpHostFromStandBy_Task"] = reflect.TypeOf((*PowerUpHostFromStandBy_Task)(nil)).Elem()
 62169  }
 62170  
 62171  type PowerUpHostFromStandBy_TaskResponse struct {
 62172  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62173  }
 62174  
 62175  type PrepareCrypto PrepareCryptoRequestType
 62176  
 62177  func init() {
 62178  	t["PrepareCrypto"] = reflect.TypeOf((*PrepareCrypto)(nil)).Elem()
 62179  }
 62180  
 62181  type PrepareCryptoRequestType struct {
 62182  	This ManagedObjectReference `xml:"_this" json:"-"`
 62183  }
 62184  
 62185  func init() {
 62186  	t["PrepareCryptoRequestType"] = reflect.TypeOf((*PrepareCryptoRequestType)(nil)).Elem()
 62187  }
 62188  
 62189  type PrepareCryptoResponse struct {
 62190  }
 62191  
 62192  // This class defines whether a specific privilege is granted.
 62193  type PrivilegeAvailability struct {
 62194  	DynamicData
 62195  
 62196  	// The privilege ID.
 62197  	PrivId string `xml:"privId" json:"privId"`
 62198  	// True if the privilege is granted.
 62199  	IsGranted bool `xml:"isGranted" json:"isGranted"`
 62200  }
 62201  
 62202  func init() {
 62203  	t["PrivilegeAvailability"] = reflect.TypeOf((*PrivilegeAvailability)(nil)).Elem()
 62204  }
 62205  
 62206  // Describes a basic privilege policy.
 62207  type PrivilegePolicyDef struct {
 62208  	DynamicData
 62209  
 62210  	// Name of privilege required for creation.
 62211  	CreatePrivilege string `xml:"createPrivilege" json:"createPrivilege"`
 62212  	// Name of privilege required for reading.
 62213  	ReadPrivilege string `xml:"readPrivilege" json:"readPrivilege"`
 62214  	// Name of privilege required for updating.
 62215  	UpdatePrivilege string `xml:"updatePrivilege" json:"updatePrivilege"`
 62216  	// Name of privilege required for deleting.
 62217  	DeletePrivilege string `xml:"deletePrivilege" json:"deletePrivilege"`
 62218  }
 62219  
 62220  func init() {
 62221  	t["PrivilegePolicyDef"] = reflect.TypeOf((*PrivilegePolicyDef)(nil)).Elem()
 62222  }
 62223  
 62224  // ProductComponentInfo data object type describes installed components.
 62225  //
 62226  // Product component is defined as a software module that is released
 62227  // and versioned independently but has dependency relationship with other products.
 62228  // If one product, for usability or any other reason, bundles other products,
 62229  // ProductComponentInfo type may be used to describe installed components.
 62230  // For example, ESX product may bundle VI Client in its releases.
 62231  type ProductComponentInfo struct {
 62232  	DynamicData
 62233  
 62234  	// Opaque identifier that is unique for this product component
 62235  	Id string `xml:"id" json:"id"`
 62236  	// Canonical name of product component
 62237  	Name string `xml:"name" json:"name"`
 62238  	// Version of product component
 62239  	Version string `xml:"version" json:"version"`
 62240  	// Release property is a number which increments with each
 62241  	// new release of product.
 62242  	//
 62243  	// Product release may not rev version
 62244  	// but release number is always incremented.
 62245  	Release int32 `xml:"release" json:"release"`
 62246  }
 62247  
 62248  func init() {
 62249  	t["ProductComponentInfo"] = reflect.TypeOf((*ProductComponentInfo)(nil)).Elem()
 62250  }
 62251  
 62252  // DataObject which represents an ApplyProfile element.
 62253  //
 62254  // An ApplyProfile element is an ApplyProfile for a set of host
 62255  // configuration settings which may be instanced.
 62256  // For example, there may be multiple virtual switch instances
 62257  // represented by individual ApplyProfileElement DataObjects.
 62258  type ProfileApplyProfileElement struct {
 62259  	ApplyProfile
 62260  
 62261  	// The linkable identifier.
 62262  	Key string `xml:"key" json:"key"`
 62263  }
 62264  
 62265  func init() {
 62266  	t["ProfileApplyProfileElement"] = reflect.TypeOf((*ProfileApplyProfileElement)(nil)).Elem()
 62267  }
 62268  
 62269  // The `ProfileApplyProfileProperty` data object defines one or more subprofiles.
 62270  type ProfileApplyProfileProperty struct {
 62271  	DynamicData
 62272  
 62273  	// Name of the property.
 62274  	PropertyName string `xml:"propertyName" json:"propertyName"`
 62275  	// Flag indicating whether this property is an array of profiles.
 62276  	Array bool `xml:"array" json:"array"`
 62277  	// Subprofiles that define policies and nested subprofiles.
 62278  	Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 62279  }
 62280  
 62281  func init() {
 62282  	t["ProfileApplyProfileProperty"] = reflect.TypeOf((*ProfileApplyProfileProperty)(nil)).Elem()
 62283  }
 62284  
 62285  // This event records that a Profile was associated with a managed entitiy.
 62286  type ProfileAssociatedEvent struct {
 62287  	ProfileEvent
 62288  }
 62289  
 62290  func init() {
 62291  	t["ProfileAssociatedEvent"] = reflect.TypeOf((*ProfileAssociatedEvent)(nil)).Elem()
 62292  }
 62293  
 62294  // This event records that the profile has beed edited
 62295  type ProfileChangedEvent struct {
 62296  	ProfileEvent
 62297  }
 62298  
 62299  func init() {
 62300  	t["ProfileChangedEvent"] = reflect.TypeOf((*ProfileChangedEvent)(nil)).Elem()
 62301  }
 62302  
 62303  // DataObject to Compose expressions.
 62304  //
 62305  // It is used to group expressions
 62306  // together. They are similar to a parentheses in an expression.
 62307  type ProfileCompositeExpression struct {
 62308  	ProfileExpression
 62309  
 62310  	// Logical operator to be applied between the expressions in
 62311  	// the composite expression.
 62312  	//
 62313  	// e.g: or, and
 62314  	Operator string `xml:"operator" json:"operator"`
 62315  	// List of expression names that will be used for this composition.
 62316  	//
 62317  	// The individual expressions will return a boolean. The return values
 62318  	// of the individual expressions will be used to compute the final
 62319  	// return value of the CompositeExpression.
 62320  	// The expressions specified in the list can themselves be
 62321  	// CompositeExpressions.
 62322  	ExpressionName []string `xml:"expressionName" json:"expressionName"`
 62323  }
 62324  
 62325  func init() {
 62326  	t["ProfileCompositeExpression"] = reflect.TypeOf((*ProfileCompositeExpression)(nil)).Elem()
 62327  }
 62328  
 62329  // The `ProfileCompositePolicyOptionMetadata` data object represents the metadata information
 62330  // for a composite `PolicyOption`.
 62331  //
 62332  // The user will retrieve metadata
 62333  // information about a composite policy and then combine policy options to produce
 62334  // the composite policy option.
 62335  type ProfileCompositePolicyOptionMetadata struct {
 62336  	ProfilePolicyOptionMetadata
 62337  
 62338  	// List of optional policy option identifiers that could be combined
 62339  	// in this composite policy option.
 62340  	//
 62341  	// The policy options should already be
 62342  	// part of the possible policy options for the policy. See the
 62343  	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
 62344  	// list.
 62345  	Option []string `xml:"option" json:"option"`
 62346  }
 62347  
 62348  func init() {
 62349  	t["ProfileCompositePolicyOptionMetadata"] = reflect.TypeOf((*ProfileCompositePolicyOptionMetadata)(nil)).Elem()
 62350  }
 62351  
 62352  type ProfileConfigInfo struct {
 62353  	DynamicData
 62354  
 62355  	// Name of the profile
 62356  	Name string `xml:"name" json:"name"`
 62357  	// User Provided description of the profile
 62358  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 62359  	// Flag indicating if the Profile is enabled
 62360  	Enabled bool `xml:"enabled" json:"enabled"`
 62361  }
 62362  
 62363  func init() {
 62364  	t["ProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem()
 62365  }
 62366  
 62367  // Specification describing the parameters during Profile creation
 62368  type ProfileCreateSpec struct {
 62369  	DynamicData
 62370  
 62371  	// Name of the profile
 62372  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 62373  	// User Provided description of the profile
 62374  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 62375  	// Flag indicating if the Profile is enabled
 62376  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 62377  }
 62378  
 62379  func init() {
 62380  	t["ProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem()
 62381  }
 62382  
 62383  // This event records that a Profile was created.
 62384  type ProfileCreatedEvent struct {
 62385  	ProfileEvent
 62386  }
 62387  
 62388  func init() {
 62389  	t["ProfileCreatedEvent"] = reflect.TypeOf((*ProfileCreatedEvent)(nil)).Elem()
 62390  }
 62391  
 62392  // The `ProfileDeferredPolicyOptionParameter` data object contains
 62393  // information about a single deferred parameter for host configuration.
 62394  //   - The Server verifies deferred parameter data when it calls the
 62395  //     `HostProfile*.*HostProfile.ExecuteHostProfile`
 62396  //     method.
 62397  //   - The client supplies deferred parameter data for host configuration when it calls the
 62398  //     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62399  //     method.
 62400  //   - The vCenter Server stores deferred parameter data in answer files
 62401  //     (`AnswerFile*.*AnswerFile.userInput`).
 62402  type ProfileDeferredPolicyOptionParameter struct {
 62403  	DynamicData
 62404  
 62405  	// Complete path to the `PolicyOption` that defines the parameters.
 62406  	InputPath ProfilePropertyPath `xml:"inputPath" json:"inputPath"`
 62407  	// List that contains values for the policy parameters.
 62408  	//
 62409  	// During parameter verification, this property is unspecified
 62410  	// if the client has not provided the values for this parameter.
 62411  	// See `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`.
 62412  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62413  }
 62414  
 62415  func init() {
 62416  	t["ProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ProfileDeferredPolicyOptionParameter)(nil)).Elem()
 62417  }
 62418  
 62419  // The `ProfileDescription` data object describes a profile.
 62420  //
 62421  // The description contains multiple sections. Each section
 62422  // describes a part of the profile.
 62423  type ProfileDescription struct {
 62424  	DynamicData
 62425  
 62426  	// Sections which make up the profile description.
 62427  	Section []ProfileDescriptionSection `xml:"section" json:"section"`
 62428  }
 62429  
 62430  func init() {
 62431  	t["ProfileDescription"] = reflect.TypeOf((*ProfileDescription)(nil)).Elem()
 62432  }
 62433  
 62434  // The `ProfileDescriptionSection` data object
 62435  // contains a profile element description and any messages that may
 62436  // be associated with the profile section.
 62437  type ProfileDescriptionSection struct {
 62438  	DynamicData
 62439  
 62440  	// Localized message data.
 62441  	Description ExtendedElementDescription `xml:"description" json:"description"`
 62442  	// List of messages that make up the section.
 62443  	Message []LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
 62444  }
 62445  
 62446  func init() {
 62447  	t["ProfileDescriptionSection"] = reflect.TypeOf((*ProfileDescriptionSection)(nil)).Elem()
 62448  }
 62449  
 62450  // This event records that a Profile was dissociated from a managed entity
 62451  type ProfileDissociatedEvent struct {
 62452  	ProfileEvent
 62453  }
 62454  
 62455  func init() {
 62456  	t["ProfileDissociatedEvent"] = reflect.TypeOf((*ProfileDissociatedEvent)(nil)).Elem()
 62457  }
 62458  
 62459  // This event records a Profile specific event.
 62460  type ProfileEvent struct {
 62461  	Event
 62462  
 62463  	// Link to the profile to which this event applies
 62464  	Profile ProfileEventArgument `xml:"profile" json:"profile"`
 62465  }
 62466  
 62467  func init() {
 62468  	t["ProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem()
 62469  }
 62470  
 62471  // The event argument is a Profile object
 62472  type ProfileEventArgument struct {
 62473  	EventArgument
 62474  
 62475  	// Refers instance of `Profile`.
 62476  	Profile ManagedObjectReference `xml:"profile" json:"profile"`
 62477  	Name    string                 `xml:"name" json:"name"`
 62478  }
 62479  
 62480  func init() {
 62481  	t["ProfileEventArgument"] = reflect.TypeOf((*ProfileEventArgument)(nil)).Elem()
 62482  }
 62483  
 62484  // The `ProfileExecuteError` data object
 62485  // describes an error encountered during host profile execution.
 62486  type ProfileExecuteError struct {
 62487  	DynamicData
 62488  
 62489  	// Path to the profile or policy with which the error is associated.
 62490  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 62491  	// Message describing the error.
 62492  	Message LocalizableMessage `xml:"message" json:"message"`
 62493  }
 62494  
 62495  func init() {
 62496  	t["ProfileExecuteError"] = reflect.TypeOf((*ProfileExecuteError)(nil)).Elem()
 62497  }
 62498  
 62499  // The `ProfileExecuteResult` data object contains the results from a
 62500  // `HostProfile*.*HostProfile.ExecuteHostProfile`
 62501  // operation.
 62502  type ProfileExecuteResult struct {
 62503  	DynamicData
 62504  
 62505  	// Status of the profile execution operation.
 62506  	//
 62507  	// The value is a string that contains
 62508  	// one of the `ProfileExecuteResultStatus_enum` enumerations.
 62509  	Status string `xml:"status" json:"status"`
 62510  	// Host configuration specification.
 62511  	//
 62512  	// This data is valid only if
 62513  	// the <code>status</code> value is <code>success</code>.
 62514  	// See `ProfileExecuteResultStatus_enum`.
 62515  	//
 62516  	// Use this data object when you apply the configuration
 62517  	// to a host. See the <code>configSpec</code> parameter to the
 62518  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62519  	// method.
 62520  	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 62521  	// List of property paths.
 62522  	//
 62523  	// Each path identifies a policy that does not apply
 62524  	// to this host. For example, if the precheck policies for a port group are not satisfied,
 62525  	// the port group will not be created when you apply the profile to the host.
 62526  	// Based on this information, the client might not display that part of the profile tree.
 62527  	InapplicablePath []string `xml:"inapplicablePath,omitempty" json:"inapplicablePath,omitempty"`
 62528  	// List that describes the required input for host configuration and identifies
 62529  	// any policy options that still require parameter data.
 62530  	//
 62531  	// Each entry in the list
 62532  	// specifies the path to a policy and a parameter list. If the call to
 62533  	// `HostProfile.ExecuteHostProfile` includes deferred parameters,
 62534  	// the <code>requireInput</code> entries
 62535  	// (<code>requireInput\[\].</code>`ProfileDeferredPolicyOptionParameter.parameter`\[\])
 62536  	// will be populated with the parameter data that was passed to the execute method.
 62537  	// For policies that still require input data, the parameter list in the corresponding
 62538  	// entry will be null.
 62539  	//
 62540  	// A vSphere client that displays a GUI can use this information to show the host-specific
 62541  	// configuration policy options. The client can highlight required input fields
 62542  	// and ask the user for data in increments instead of collecting all of the input at once.
 62543  	// For example, in the first pass, the client collects a minimum of user input and
 62544  	// sends that to the Server. The Server evaluates the profile and might decide to
 62545  	// invalidate a particular part of the subtree or enable a new
 62546  	// subtree in the profile. This would result in a new set of invalid paths
 62547  	// (`ProfileExecuteResult.inapplicablePath`\[\]) and
 62548  	// required input property paths
 62549  	// (`ProfileDeferredPolicyOptionParameter*.*ProfileDeferredPolicyOptionParameter.inputPath`).
 62550  	// The client can make a series of calls to the method until it achieves a success status.
 62551  	//
 62552  	// When `HostProfile.ExecuteHostProfile` returns a success status,
 62553  	// the <code>requireInput</code> list contains the complete list of parameters,
 62554  	// consisting of the following data:
 62555  	//   - Deferred parameter values resolved through successive calls to
 62556  	//     `HostProfile.ExecuteHostProfile`.
 62557  	//   - Default parameter values from the host configuration.
 62558  	//   - User-specified values that override the defaults.
 62559  	//
 62560  	// You can specify the returned <code>requireInput</code> list in the
 62561  	// <code>userInput</code> parameter to the
 62562  	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
 62563  	// method. The Server will use the list to update the `AnswerFile`
 62564  	// associated with the host.
 62565  	RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty" json:"requireInput,omitempty"`
 62566  	// List of errors that were encountered during execute.
 62567  	//
 62568  	// This field will be set if status is set to error.
 62569  	Error []ProfileExecuteError `xml:"error,omitempty" json:"error,omitempty"`
 62570  }
 62571  
 62572  func init() {
 62573  	t["ProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem()
 62574  }
 62575  
 62576  type ProfileExpression struct {
 62577  	DynamicData
 62578  
 62579  	// Identifier of this expression.
 62580  	//
 62581  	// The id has to be unique within a Profile.
 62582  	// The id can be used as a key while building composite expressions.
 62583  	Id string `xml:"id" json:"id"`
 62584  	// User visible display name
 62585  	DisplayName string `xml:"displayName" json:"displayName"`
 62586  	// Flag indicating if the condition of the expression should be negated.
 62587  	//
 62588  	// e.g: conditions like VSwitch0 has vmnic0 connected to it can be turned into
 62589  	// VSwitch0 doesn't have vmnic0 connected to it.
 62590  	Negated bool `xml:"negated" json:"negated"`
 62591  }
 62592  
 62593  func init() {
 62594  	t["ProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem()
 62595  }
 62596  
 62597  // DataObject to represent the metadata associated with a SimpleExpression.
 62598  type ProfileExpressionMetadata struct {
 62599  	DynamicData
 62600  
 62601  	// Id of the SimpleExpression
 62602  	ExpressionId ExtendedElementDescription `xml:"expressionId" json:"expressionId"`
 62603  	// Parameters that can be specified for this SimpleExpression
 62604  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62605  }
 62606  
 62607  func init() {
 62608  	t["ProfileExpressionMetadata"] = reflect.TypeOf((*ProfileExpressionMetadata)(nil)).Elem()
 62609  }
 62610  
 62611  // This data object represents the metadata information of a Profile.
 62612  type ProfileMetadata struct {
 62613  	DynamicData
 62614  
 62615  	// Type of the Profile
 62616  	Key string `xml:"key" json:"key"`
 62617  	// Type identifier for the ApplyProfile
 62618  	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty"`
 62619  	// Property which describes the profile
 62620  	Description *ExtendedDescription `xml:"description,omitempty" json:"description,omitempty"`
 62621  	// Property that determines a sorting order for display purposes.
 62622  	//
 62623  	// If
 62624  	// the list contains more than one sort spec, then the precedence should
 62625  	// be determined by the list order (i.e. sort first by the first spec in
 62626  	// the list, then sort by the second spec in the list, etc).
 62627  	SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty" json:"sortSpec,omitempty"`
 62628  	// Identifies the profile category that this subprofile is a part of.
 62629  	//
 62630  	// The
 62631  	// value of this string should correspond to the key value of a
 62632  	// `ProfileCategoryMetadata` object's `ElementDescription.key`
 62633  	// in its `ProfileCategoryMetadata.id` property.
 62634  	ProfileCategory string `xml:"profileCategory,omitempty" json:"profileCategory,omitempty"`
 62635  	// Property indicating that the subprofile described by this
 62636  	// <code>ProfileMetadata</code> object is declared in the
 62637  	// `ProfileComponentMetadata.profileTypeNames` of the specified
 62638  	// profile component.
 62639  	//
 62640  	// The value of this property should correspond to the key
 62641  	// value of the `ProfileComponentMetadata` object's
 62642  	// `ElementDescription.key` in its
 62643  	// `ProfileComponentMetadata.id` property.
 62644  	// This property should not be present for subprofiles that are not directly
 62645  	// declared in the `ProfileComponentMetadata.profileTypeNames`
 62646  	// property of a `ProfileComponentMetadata` object.
 62647  	ProfileComponent string `xml:"profileComponent,omitempty" json:"profileComponent,omitempty"`
 62648  	// A list of <code>ProfileOperationMessage</code> for this profile.
 62649  	OperationMessages []ProfileMetadataProfileOperationMessage `xml:"operationMessages,omitempty" json:"operationMessages,omitempty"`
 62650  }
 62651  
 62652  func init() {
 62653  	t["ProfileMetadata"] = reflect.TypeOf((*ProfileMetadata)(nil)).Elem()
 62654  }
 62655  
 62656  // Some operations on host profile documents may cause unexpected result.
 62657  //
 62658  // For example, deleting a profile instance of vswitch may break the
 62659  // network connectivity.
 62660  // This data class provides the localizable message which may be
 62661  // presented before or after an operation happens.
 62662  type ProfileMetadataProfileOperationMessage struct {
 62663  	DynamicData
 62664  
 62665  	// The operation name.
 62666  	OperationName string `xml:"operationName" json:"operationName"`
 62667  	// The localization message for the operation.
 62668  	Message LocalizableMessage `xml:"message" json:"message"`
 62669  }
 62670  
 62671  func init() {
 62672  	t["ProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ProfileMetadataProfileOperationMessage)(nil)).Elem()
 62673  }
 62674  
 62675  type ProfileMetadataProfileSortSpec struct {
 62676  	DynamicData
 62677  
 62678  	// The id of the policy used to sort instances of the profile
 62679  	PolicyId string `xml:"policyId" json:"policyId"`
 62680  	// The parameter to be used for sorting.
 62681  	//
 62682  	// Note that if the policy to be
 62683  	// used for sorting has multiple possible policy options, all possible
 62684  	// policy options defined for that policy type must have this parameter.
 62685  	Parameter string `xml:"parameter" json:"parameter"`
 62686  }
 62687  
 62688  func init() {
 62689  	t["ProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ProfileMetadataProfileSortSpec)(nil)).Elem()
 62690  }
 62691  
 62692  // The `ProfileParameterMetadata` data object represents the metadata information
 62693  // for expressions, policy options, and host-specific configuration data.
 62694  type ProfileParameterMetadata struct {
 62695  	DynamicData
 62696  
 62697  	// Identifier for the parameter.
 62698  	Id ExtendedElementDescription `xml:"id" json:"id"`
 62699  	// Type of the parameter.
 62700  	Type string `xml:"type" json:"type"`
 62701  	// Whether the parameter is optional.
 62702  	Optional bool `xml:"optional" json:"optional"`
 62703  	// Default value that can be used for the parameter.
 62704  	DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr" json:"defaultValue,omitempty"`
 62705  	// Whether the parameter will not be displayed in UI.
 62706  	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
 62707  	// Whether the parameter is security sensitive.
 62708  	SecuritySensitive *bool `xml:"securitySensitive" json:"securitySensitive,omitempty"`
 62709  	// Indicates that the parameter value is read-only.
 62710  	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
 62711  	// Relations with other profile or parameters.
 62712  	ParameterRelations []ProfileParameterMetadataParameterRelationMetadata `xml:"parameterRelations,omitempty" json:"parameterRelations,omitempty"`
 62713  }
 62714  
 62715  func init() {
 62716  	t["ProfileParameterMetadata"] = reflect.TypeOf((*ProfileParameterMetadata)(nil)).Elem()
 62717  }
 62718  
 62719  // This class to define a relation between the parameter and a profile
 62720  // or a parameter, or a constant list of values.
 62721  type ProfileParameterMetadataParameterRelationMetadata struct {
 62722  	DynamicData
 62723  
 62724  	// The types of this relation.
 62725  	RelationTypes []string `xml:"relationTypes,omitempty" json:"relationTypes,omitempty"`
 62726  	// The valid value list.
 62727  	Values []AnyType `xml:"values,omitempty,typeattr" json:"values,omitempty"`
 62728  	// The property path of the related profile/parameter.
 62729  	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
 62730  	// The minimal count of values to map to.
 62731  	MinCount int32 `xml:"minCount" json:"minCount"`
 62732  	// The maximum count of values to map to.
 62733  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 62734  }
 62735  
 62736  func init() {
 62737  	t["ProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ProfileParameterMetadataParameterRelationMetadata)(nil)).Elem()
 62738  }
 62739  
 62740  // The `ProfilePolicy` data object represents a policy.
 62741  type ProfilePolicy struct {
 62742  	DynamicData
 62743  
 62744  	// Identifier for the policy.
 62745  	Id string `xml:"id" json:"id"`
 62746  	// Configuration parameters.
 62747  	PolicyOption BasePolicyOption `xml:"policyOption,typeattr" json:"policyOption"`
 62748  }
 62749  
 62750  func init() {
 62751  	t["ProfilePolicy"] = reflect.TypeOf((*ProfilePolicy)(nil)).Elem()
 62752  }
 62753  
 62754  // The `ProfilePolicyMetadata` data object represents the metadata information
 62755  // for a `ProfilePolicy`.
 62756  type ProfilePolicyMetadata struct {
 62757  	DynamicData
 62758  
 62759  	// Identifier for the policy.
 62760  	Id ExtendedElementDescription `xml:"id" json:"id"`
 62761  	// Possible policy options that can be set for a policy of the
 62762  	// given kind.
 62763  	//
 62764  	// `HostProfile`s and subprofiles
 62765  	// will contain selected policy options from this list. See
 62766  	// `PolicyOption`.
 62767  	PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr" json:"possibleOption"`
 62768  }
 62769  
 62770  func init() {
 62771  	t["ProfilePolicyMetadata"] = reflect.TypeOf((*ProfilePolicyMetadata)(nil)).Elem()
 62772  }
 62773  
 62774  // The `ProfilePolicyOptionMetadata` data object contains the metadata information
 62775  // for a `PolicyOption`.
 62776  type ProfilePolicyOptionMetadata struct {
 62777  	DynamicData
 62778  
 62779  	// Identifier for the policy option.
 62780  	//   - The <code>id.key</code> value
 62781  	//     (`ExtendedElementDescription*.*ElementDescription.key`)
 62782  	//     identifies the policy option type.
 62783  	//   - The <code>id.label</code> property
 62784  	//     (`ExtendedElementDescription*.*Description.label`)
 62785  	//     contains a brief localizable message describing the policy option.
 62786  	//   - The <code>id.summary</code> property
 62787  	//     (`ExtendedElementDescription*.*Description.summary`)
 62788  	//     contains a localizable summary of the policy option.
 62789  	//     Summary information can contain embedded variable names which can
 62790  	//     be replaced with values from the <code>parameter</code> property.
 62791  	Id ExtendedElementDescription `xml:"id" json:"id"`
 62792  	// Metadata about the parameters for the policy option.
 62793  	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62794  }
 62795  
 62796  func init() {
 62797  	t["ProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem()
 62798  }
 62799  
 62800  type ProfileProfileStructure struct {
 62801  	DynamicData
 62802  
 62803  	// Identifier for the profile type
 62804  	ProfileTypeName string `xml:"profileTypeName" json:"profileTypeName"`
 62805  	// SubProfile properties available for this profile
 62806  	Child []ProfileProfileStructureProperty `xml:"child,omitempty" json:"child,omitempty"`
 62807  }
 62808  
 62809  func init() {
 62810  	t["ProfileProfileStructure"] = reflect.TypeOf((*ProfileProfileStructure)(nil)).Elem()
 62811  }
 62812  
 62813  type ProfileProfileStructureProperty struct {
 62814  	DynamicData
 62815  
 62816  	// Name of the property where this ProfileStructureProperty is being used
 62817  	PropertyName string `xml:"propertyName" json:"propertyName"`
 62818  	// Flag indicating if this property is an Array of profiles
 62819  	Array bool `xml:"array" json:"array"`
 62820  	// Details about the profile contained within this property
 62821  	Element ProfileProfileStructure `xml:"element" json:"element"`
 62822  }
 62823  
 62824  func init() {
 62825  	t["ProfileProfileStructureProperty"] = reflect.TypeOf((*ProfileProfileStructureProperty)(nil)).Elem()
 62826  }
 62827  
 62828  // The `ProfilePropertyPath` data object represents
 62829  // the path to a profile, policy option, or specific parameter.
 62830  //
 62831  // If <code>profilePath</code>,
 62832  // <code>policyId</code>, and <code>parameterId</code> are all specified, the
 62833  // combination of the three identifies a particular parameter. If only <code>profilePath</code>
 62834  // and <code>policyId</code> are specified, the combination identifies a
 62835  // specific profile policy option. If just the <code>profilePath</code> is
 62836  // specified, the data object identifies a profile instance.
 62837  type ProfilePropertyPath struct {
 62838  	DynamicData
 62839  
 62840  	// Complete path to the leaf profile, relative to the root of the host profile
 62841  	// document.
 62842  	ProfilePath string `xml:"profilePath" json:"profilePath"`
 62843  	// Policy identifier.
 62844  	PolicyId string `xml:"policyId,omitempty" json:"policyId,omitempty"`
 62845  	// Key for a parameter in the policy specified by <code>policyId</code>.
 62846  	//
 62847  	// See `PolicyOption*.*PolicyOption.parameter`
 62848  	// and `KeyAnyValue.key`.
 62849  	ParameterId string `xml:"parameterId,omitempty" json:"parameterId,omitempty"`
 62850  	// Policy option identifier.
 62851  	PolicyOptionId string `xml:"policyOptionId,omitempty" json:"policyOptionId,omitempty"`
 62852  }
 62853  
 62854  func init() {
 62855  	t["ProfilePropertyPath"] = reflect.TypeOf((*ProfilePropertyPath)(nil)).Elem()
 62856  }
 62857  
 62858  // This event records that the reference host associated with this profile has changed
 62859  type ProfileReferenceHostChangedEvent struct {
 62860  	ProfileEvent
 62861  
 62862  	// The newly associated reference host with this profile
 62863  	//
 62864  	// Refers instance of `HostSystem`.
 62865  	ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty" json:"referenceHost,omitempty"`
 62866  	// The newly associated reference host name
 62867  	ReferenceHostName string `xml:"referenceHostName,omitempty" json:"referenceHostName,omitempty"`
 62868  	// The previous reference host name
 62869  	PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty" json:"prevReferenceHostName,omitempty"`
 62870  }
 62871  
 62872  func init() {
 62873  	t["ProfileReferenceHostChangedEvent"] = reflect.TypeOf((*ProfileReferenceHostChangedEvent)(nil)).Elem()
 62874  }
 62875  
 62876  // This event records that a Profile was removed.
 62877  type ProfileRemovedEvent struct {
 62878  	ProfileEvent
 62879  }
 62880  
 62881  func init() {
 62882  	t["ProfileRemovedEvent"] = reflect.TypeOf((*ProfileRemovedEvent)(nil)).Elem()
 62883  }
 62884  
 62885  // The `ProfileSerializedCreateSpec` data object
 62886  // defines a string that contains a serialized representation of a host profile.
 62887  type ProfileSerializedCreateSpec struct {
 62888  	ProfileCreateSpec
 62889  
 62890  	// Representation of the profile in the string form.
 62891  	ProfileConfigString string `xml:"profileConfigString" json:"profileConfigString"`
 62892  }
 62893  
 62894  func init() {
 62895  	t["ProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem()
 62896  }
 62897  
 62898  // DataObject represents a pre-defined expression
 62899  type ProfileSimpleExpression struct {
 62900  	ProfileExpression
 62901  
 62902  	// Type of the simple expression to instantiate.
 62903  	//
 62904  	// The expressionType should be derived from the available expressions as
 62905  	// listed in the metadata.
 62906  	ExpressionType string `xml:"expressionType" json:"expressionType"`
 62907  	// The parameters for the expressionType.
 62908  	//
 62909  	// The list of parameters needed for a simple expression can
 62910  	// be obtained from the metadata.
 62911  	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
 62912  }
 62913  
 62914  func init() {
 62915  	t["ProfileSimpleExpression"] = reflect.TypeOf((*ProfileSimpleExpression)(nil)).Elem()
 62916  }
 62917  
 62918  // Errors were detected during Profile update.
 62919  type ProfileUpdateFailed struct {
 62920  	VimFault
 62921  
 62922  	// Failures encountered during update/validation
 62923  	Failure []ProfileUpdateFailedUpdateFailure `xml:"failure" json:"failure"`
 62924  	// Warnings encountered during update/validation
 62925  	Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty" json:"warnings,omitempty"`
 62926  }
 62927  
 62928  func init() {
 62929  	t["ProfileUpdateFailed"] = reflect.TypeOf((*ProfileUpdateFailed)(nil)).Elem()
 62930  }
 62931  
 62932  type ProfileUpdateFailedFault ProfileUpdateFailed
 62933  
 62934  func init() {
 62935  	t["ProfileUpdateFailedFault"] = reflect.TypeOf((*ProfileUpdateFailedFault)(nil)).Elem()
 62936  }
 62937  
 62938  type ProfileUpdateFailedUpdateFailure struct {
 62939  	DynamicData
 62940  
 62941  	// Location in the profile which has the error
 62942  	ProfilePath ProfilePropertyPath `xml:"profilePath" json:"profilePath"`
 62943  	// Message which explains the problem encountered
 62944  	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
 62945  }
 62946  
 62947  func init() {
 62948  	t["ProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ProfileUpdateFailedUpdateFailure)(nil)).Elem()
 62949  }
 62950  
 62951  // The parameters of `VirtualMachine.PromoteDisks_Task`.
 62952  type PromoteDisksRequestType struct {
 62953  	This ManagedObjectReference `xml:"_this" json:"-"`
 62954  	// If true, then these disks will be unlinked before consolidation.
 62955  	Unlink bool `xml:"unlink" json:"unlink"`
 62956  	// The set of disks that are to be promoted.
 62957  	// If this value is unset or the array is empty,
 62958  	// all disks which have delta disk backings are promoted.
 62959  	Disks []VirtualDisk `xml:"disks,omitempty" json:"disks,omitempty"`
 62960  }
 62961  
 62962  func init() {
 62963  	t["PromoteDisksRequestType"] = reflect.TypeOf((*PromoteDisksRequestType)(nil)).Elem()
 62964  }
 62965  
 62966  type PromoteDisks_Task PromoteDisksRequestType
 62967  
 62968  func init() {
 62969  	t["PromoteDisks_Task"] = reflect.TypeOf((*PromoteDisks_Task)(nil)).Elem()
 62970  }
 62971  
 62972  type PromoteDisks_TaskResponse struct {
 62973  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 62974  }
 62975  
 62976  // Describes a change to a property.
 62977  type PropertyChange struct {
 62978  	DynamicData
 62979  
 62980  	// Property or nested property to which the change applies.
 62981  	//
 62982  	// Nested
 62983  	// properties are specified by paths; for example,
 62984  	//   - foo.bar
 62985  	//   - foo.arProp\["key val"\]
 62986  	//   - foo.arProp\["key val"\].baz
 62987  	Name string `xml:"name" json:"name"`
 62988  	// Change operation for the property.
 62989  	//
 62990  	// Valid values are:
 62991  	// <dl>
 62992  	// <dt>add</dt>
 62993  	// <dd>The property is a collection and the change inserts an element
 62994  	// into the collection.</dd>
 62995  	// <dt>remove</dt>
 62996  	// <dd>The property is a collection and the change deletes an element
 62997  	// from the collection.</dd>
 62998  	// <dt>assign</dt>
 62999  	// <dd>The change is a new value for the property.</dd>
 63000  	// <dt>indirectRemove</dt>
 63001  	// <dd>The property was removed because a containing property was removed
 63002  	// or unset</dd>
 63003  	// </dl>
 63004  	Op PropertyChangeOp `xml:"op" json:"op"`
 63005  	// New value for the property when "op" is either "add" or "assign".
 63006  	Val AnyType `xml:"val,typeattr" json:"val"`
 63007  }
 63008  
 63009  func init() {
 63010  	t["PropertyChange"] = reflect.TypeOf((*PropertyChange)(nil)).Elem()
 63011  }
 63012  
 63013  // Specify the property data that is included in a filter.
 63014  //
 63015  // A filter can
 63016  // specify part of a single managed object, or parts of multiple related
 63017  // managed objects in an inventory hierarchy - for example, to collect
 63018  // updates from all virtual machines in a given folder.
 63019  type PropertyFilterSpec struct {
 63020  	DynamicData
 63021  
 63022  	// Set of properties to include in the filter, specified for each object
 63023  	// type.
 63024  	PropSet []PropertySpec `xml:"propSet" json:"propSet"`
 63025  	// Set of specifications that determine the objects to filter.
 63026  	ObjectSet []ObjectSpec `xml:"objectSet" json:"objectSet"`
 63027  	// Control how to report missing objects during filter creation.
 63028  	//
 63029  	// If false or unset and `PropertyFilterSpec.objectSet` refers to missing objects,
 63030  	// filter creation will fail with a `ManagedObjectNotFound` fault.
 63031  	//
 63032  	// If true and `PropertyFilterSpec.objectSet` refers
 63033  	// to missing objects, filter creation will not fail and missing objects
 63034  	// will be reported via filter results. This is the recommended setting
 63035  	// when `PropertyFilterSpec.objectSet` refers to
 63036  	// transient objects.
 63037  	//
 63038  	// In an `UpdateSet` missing objects will
 63039  	// appear in the `PropertyFilterUpdate.missingSet` field.
 63040  	//
 63041  	// In a `RetrieveResult` missing objects will
 63042  	// simply be omitted from the objects field.
 63043  	//
 63044  	// For a call to `PropertyCollector.RetrieveProperties` missing objects will simply
 63045  	// be omitted from the results.
 63046  	ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults" json:"reportMissingObjectsInResults,omitempty"`
 63047  }
 63048  
 63049  func init() {
 63050  	t["PropertyFilterSpec"] = reflect.TypeOf((*PropertyFilterSpec)(nil)).Elem()
 63051  }
 63052  
 63053  // The `PropertyFilterUpdate` data object type contains a
 63054  // list of updates to data visible through a specific filter.
 63055  //
 63056  // Note that if a
 63057  // property changes through multiple filters, then a client receives an
 63058  // update for each filter.
 63059  type PropertyFilterUpdate struct {
 63060  	DynamicData
 63061  
 63062  	// Filter that was updated.
 63063  	//
 63064  	// Refers instance of `PropertyFilter`.
 63065  	Filter ManagedObjectReference `xml:"filter" json:"filter"`
 63066  	// Set of changes to object properties in the filter.
 63067  	ObjectSet []ObjectUpdate `xml:"objectSet,omitempty" json:"objectSet,omitempty"`
 63068  	// Objects that could not be found on the server, but were specified in a
 63069  	// `PropertyFilterSpec.objectSet`.
 63070  	//
 63071  	// This field will only be populated for objects that were determined
 63072  	// to be missing since the data version passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` and will not contain objects that were missing
 63073  	// prior to that data version.
 63074  	MissingSet []MissingObject `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
 63075  }
 63076  
 63077  func init() {
 63078  	t["PropertyFilterUpdate"] = reflect.TypeOf((*PropertyFilterUpdate)(nil)).Elem()
 63079  }
 63080  
 63081  // Within a `PropertyFilterSpec`, A `PropertySpec` specifies which properties should be
 63082  // reported to the client for objects of the given managed object type that
 63083  // are visited and not skipped.
 63084  //
 63085  // One more subtle side effect is that if a
 63086  // managed object is visited and not skipped, but there is no `PropertySpec` associated with the managed object's
 63087  // type, the managed object will not be reported to the client.
 63088  //
 63089  // Also, the set of properties applicable to a given managed object type
 63090  // is the union of the properties implied by the `PropertySpec` objects even, in the case of a `RetrieveResult`, where there may be an applicable
 63091  // `PropertySpec` in more than one filter.
 63092  type PropertySpec struct {
 63093  	DynamicData
 63094  
 63095  	// Name of the managed object type being collected.
 63096  	Type string `xml:"type" json:"type"`
 63097  	// Specifies whether or not all properties of the object are read.
 63098  	//
 63099  	// If
 63100  	// this property is set to true, the `PropertySpec.pathSet` property is ignored.
 63101  	All *bool `xml:"all" json:"all,omitempty"`
 63102  	// Specifies which managed object properties are retrieved.
 63103  	//
 63104  	// If the `PropertySpec.pathSet` is empty, then the
 63105  	// `PropertyCollector` retrieves references to the managed objects
 63106  	// and no managed object properties are collected.
 63107  	PathSet []string `xml:"pathSet,omitempty" json:"pathSet,omitempty"`
 63108  }
 63109  
 63110  func init() {
 63111  	t["PropertySpec"] = reflect.TypeOf((*PropertySpec)(nil)).Elem()
 63112  }
 63113  
 63114  type ProvisionServerPrivateKey ProvisionServerPrivateKeyRequestType
 63115  
 63116  func init() {
 63117  	t["ProvisionServerPrivateKey"] = reflect.TypeOf((*ProvisionServerPrivateKey)(nil)).Elem()
 63118  }
 63119  
 63120  // The parameters of `HostCertificateManager.ProvisionServerPrivateKey`.
 63121  type ProvisionServerPrivateKeyRequestType struct {
 63122  	This ManagedObjectReference `xml:"_this" json:"-"`
 63123  	// SSL private key in PEM format
 63124  	Key string `xml:"key" json:"key"`
 63125  }
 63126  
 63127  func init() {
 63128  	t["ProvisionServerPrivateKeyRequestType"] = reflect.TypeOf((*ProvisionServerPrivateKeyRequestType)(nil)).Elem()
 63129  	minAPIVersionForType["ProvisionServerPrivateKeyRequestType"] = "8.0.3.0"
 63130  }
 63131  
 63132  type ProvisionServerPrivateKeyResponse struct {
 63133  }
 63134  
 63135  type PutUsbScanCodes PutUsbScanCodesRequestType
 63136  
 63137  func init() {
 63138  	t["PutUsbScanCodes"] = reflect.TypeOf((*PutUsbScanCodes)(nil)).Elem()
 63139  }
 63140  
 63141  // The parameters of `VirtualMachine.PutUsbScanCodes`.
 63142  type PutUsbScanCodesRequestType struct {
 63143  	This ManagedObjectReference `xml:"_this" json:"-"`
 63144  	Spec UsbScanCodeSpec        `xml:"spec" json:"spec"`
 63145  }
 63146  
 63147  func init() {
 63148  	t["PutUsbScanCodesRequestType"] = reflect.TypeOf((*PutUsbScanCodesRequestType)(nil)).Elem()
 63149  }
 63150  
 63151  type PutUsbScanCodesResponse struct {
 63152  	Returnval int32 `xml:"returnval" json:"returnval"`
 63153  }
 63154  
 63155  type QuarantineModeFault struct {
 63156  	VmConfigFault
 63157  
 63158  	VmName    string `xml:"vmName" json:"vmName"`
 63159  	FaultType string `xml:"faultType" json:"faultType"`
 63160  }
 63161  
 63162  func init() {
 63163  	t["QuarantineModeFault"] = reflect.TypeOf((*QuarantineModeFault)(nil)).Elem()
 63164  }
 63165  
 63166  type QuarantineModeFaultFault QuarantineModeFault
 63167  
 63168  func init() {
 63169  	t["QuarantineModeFaultFault"] = reflect.TypeOf((*QuarantineModeFaultFault)(nil)).Elem()
 63170  }
 63171  
 63172  type QueryAnswerFileStatus QueryAnswerFileStatusRequestType
 63173  
 63174  func init() {
 63175  	t["QueryAnswerFileStatus"] = reflect.TypeOf((*QueryAnswerFileStatus)(nil)).Elem()
 63176  }
 63177  
 63178  // The parameters of `HostProfileManager.QueryAnswerFileStatus`.
 63179  type QueryAnswerFileStatusRequestType struct {
 63180  	This ManagedObjectReference `xml:"_this" json:"-"`
 63181  	// The hosts the answer file is associated with.
 63182  	//
 63183  	// Refers instances of `HostSystem`.
 63184  	Host []ManagedObjectReference `xml:"host" json:"host"`
 63185  }
 63186  
 63187  func init() {
 63188  	t["QueryAnswerFileStatusRequestType"] = reflect.TypeOf((*QueryAnswerFileStatusRequestType)(nil)).Elem()
 63189  }
 63190  
 63191  type QueryAnswerFileStatusResponse struct {
 63192  	Returnval []AnswerFileStatusResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63193  }
 63194  
 63195  type QueryAssignedLicenses QueryAssignedLicensesRequestType
 63196  
 63197  func init() {
 63198  	t["QueryAssignedLicenses"] = reflect.TypeOf((*QueryAssignedLicenses)(nil)).Elem()
 63199  }
 63200  
 63201  // The parameters of `LicenseAssignmentManager.QueryAssignedLicenses`.
 63202  type QueryAssignedLicensesRequestType struct {
 63203  	This ManagedObjectReference `xml:"_this" json:"-"`
 63204  	// ID of the entity. E.g. HostSystem.
 63205  	EntityId string `xml:"entityId,omitempty" json:"entityId,omitempty"`
 63206  }
 63207  
 63208  func init() {
 63209  	t["QueryAssignedLicensesRequestType"] = reflect.TypeOf((*QueryAssignedLicensesRequestType)(nil)).Elem()
 63210  }
 63211  
 63212  type QueryAssignedLicensesResponse struct {
 63213  	Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63214  }
 63215  
 63216  type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType
 63217  
 63218  func init() {
 63219  	t["QueryAvailableDisksForVmfs"] = reflect.TypeOf((*QueryAvailableDisksForVmfs)(nil)).Elem()
 63220  }
 63221  
 63222  // The parameters of `HostDatastoreSystem.QueryAvailableDisksForVmfs`.
 63223  type QueryAvailableDisksForVmfsRequestType struct {
 63224  	This ManagedObjectReference `xml:"_this" json:"-"`
 63225  	// The managed object reference of the VMFS datastore
 63226  	// you want extents for.
 63227  	//
 63228  	// Refers instance of `Datastore`.
 63229  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 63230  }
 63231  
 63232  func init() {
 63233  	t["QueryAvailableDisksForVmfsRequestType"] = reflect.TypeOf((*QueryAvailableDisksForVmfsRequestType)(nil)).Elem()
 63234  }
 63235  
 63236  type QueryAvailableDisksForVmfsResponse struct {
 63237  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63238  }
 63239  
 63240  type QueryAvailableDvsSpec QueryAvailableDvsSpecRequestType
 63241  
 63242  func init() {
 63243  	t["QueryAvailableDvsSpec"] = reflect.TypeOf((*QueryAvailableDvsSpec)(nil)).Elem()
 63244  }
 63245  
 63246  // The parameters of `DistributedVirtualSwitchManager.QueryAvailableDvsSpec`.
 63247  type QueryAvailableDvsSpecRequestType struct {
 63248  	This ManagedObjectReference `xml:"_this" json:"-"`
 63249  	// If set to true, return only the recommended versions.
 63250  	// If set to false, return only the not recommended versions.
 63251  	// If unset, return all supported versions.
 63252  	Recommended *bool `xml:"recommended" json:"recommended,omitempty"`
 63253  }
 63254  
 63255  func init() {
 63256  	t["QueryAvailableDvsSpecRequestType"] = reflect.TypeOf((*QueryAvailableDvsSpecRequestType)(nil)).Elem()
 63257  }
 63258  
 63259  type QueryAvailableDvsSpecResponse struct {
 63260  	Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63261  }
 63262  
 63263  type QueryAvailablePartition QueryAvailablePartitionRequestType
 63264  
 63265  func init() {
 63266  	t["QueryAvailablePartition"] = reflect.TypeOf((*QueryAvailablePartition)(nil)).Elem()
 63267  }
 63268  
 63269  type QueryAvailablePartitionRequestType struct {
 63270  	This ManagedObjectReference `xml:"_this" json:"-"`
 63271  }
 63272  
 63273  func init() {
 63274  	t["QueryAvailablePartitionRequestType"] = reflect.TypeOf((*QueryAvailablePartitionRequestType)(nil)).Elem()
 63275  }
 63276  
 63277  type QueryAvailablePartitionResponse struct {
 63278  	Returnval []HostDiagnosticPartition `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63279  }
 63280  
 63281  type QueryAvailablePerfMetric QueryAvailablePerfMetricRequestType
 63282  
 63283  func init() {
 63284  	t["QueryAvailablePerfMetric"] = reflect.TypeOf((*QueryAvailablePerfMetric)(nil)).Elem()
 63285  }
 63286  
 63287  // The parameters of `PerformanceManager.QueryAvailablePerfMetric`.
 63288  type QueryAvailablePerfMetricRequestType struct {
 63289  	This ManagedObjectReference `xml:"_this" json:"-"`
 63290  	// The *managed object* that
 63291  	// provides performance metrics.
 63292  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 63293  	// Starting time (server time) for a period of time from which to return
 63294  	// available metrics. If not specified, defaults to oldest available metric
 63295  	// for the specified entity.
 63296  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 63297  	// Ending time (server time) for a period of time from which to return
 63298  	// available performance metrics. If not specified, defaults to the most
 63299  	// recently generated metric for the specified entity.
 63300  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 63301  	// Period of time from which to retrieve metrics, defined by intervalId
 63302  	// (rather than beginTime or endTime). Valid intervalIds include:
 63303  	//   - For real-time counters, the `refreshRate` of
 63304  	//     the *performance
 63305  	//     provider*.
 63306  	//   - For historical counters, the `samplingPeriod` of the *historical interval*.
 63307  	//
 63308  	// If this parameter is not specified, the system returns available metrics
 63309  	// for historical statistics&#46;
 63310  	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
 63311  }
 63312  
 63313  func init() {
 63314  	t["QueryAvailablePerfMetricRequestType"] = reflect.TypeOf((*QueryAvailablePerfMetricRequestType)(nil)).Elem()
 63315  }
 63316  
 63317  type QueryAvailablePerfMetricResponse struct {
 63318  	Returnval []PerfMetricId `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63319  }
 63320  
 63321  type QueryAvailableSsds QueryAvailableSsdsRequestType
 63322  
 63323  func init() {
 63324  	t["QueryAvailableSsds"] = reflect.TypeOf((*QueryAvailableSsds)(nil)).Elem()
 63325  }
 63326  
 63327  // The parameters of `HostStorageSystem.QueryAvailableSsds`.
 63328  type QueryAvailableSsdsRequestType struct {
 63329  	This ManagedObjectReference `xml:"_this" json:"-"`
 63330  	// The path of the VFFS to extend. See `FileSystemMountInfo`.
 63331  	VffsPath string `xml:"vffsPath,omitempty" json:"vffsPath,omitempty"`
 63332  }
 63333  
 63334  func init() {
 63335  	t["QueryAvailableSsdsRequestType"] = reflect.TypeOf((*QueryAvailableSsdsRequestType)(nil)).Elem()
 63336  }
 63337  
 63338  type QueryAvailableSsdsResponse struct {
 63339  	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63340  }
 63341  
 63342  type QueryAvailableTimeZones QueryAvailableTimeZonesRequestType
 63343  
 63344  func init() {
 63345  	t["QueryAvailableTimeZones"] = reflect.TypeOf((*QueryAvailableTimeZones)(nil)).Elem()
 63346  }
 63347  
 63348  type QueryAvailableTimeZonesRequestType struct {
 63349  	This ManagedObjectReference `xml:"_this" json:"-"`
 63350  }
 63351  
 63352  func init() {
 63353  	t["QueryAvailableTimeZonesRequestType"] = reflect.TypeOf((*QueryAvailableTimeZonesRequestType)(nil)).Elem()
 63354  }
 63355  
 63356  type QueryAvailableTimeZonesResponse struct {
 63357  	Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63358  }
 63359  
 63360  type QueryBootDevices QueryBootDevicesRequestType
 63361  
 63362  func init() {
 63363  	t["QueryBootDevices"] = reflect.TypeOf((*QueryBootDevices)(nil)).Elem()
 63364  }
 63365  
 63366  type QueryBootDevicesRequestType struct {
 63367  	This ManagedObjectReference `xml:"_this" json:"-"`
 63368  }
 63369  
 63370  func init() {
 63371  	t["QueryBootDevicesRequestType"] = reflect.TypeOf((*QueryBootDevicesRequestType)(nil)).Elem()
 63372  }
 63373  
 63374  type QueryBootDevicesResponse struct {
 63375  	Returnval *HostBootDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63376  }
 63377  
 63378  type QueryBoundVnics QueryBoundVnicsRequestType
 63379  
 63380  func init() {
 63381  	t["QueryBoundVnics"] = reflect.TypeOf((*QueryBoundVnics)(nil)).Elem()
 63382  }
 63383  
 63384  // The parameters of `IscsiManager.QueryBoundVnics`.
 63385  type QueryBoundVnicsRequestType struct {
 63386  	This ManagedObjectReference `xml:"_this" json:"-"`
 63387  	// iSCSI adapter name for which the method to be
 63388  	// applied.
 63389  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 63390  }
 63391  
 63392  func init() {
 63393  	t["QueryBoundVnicsRequestType"] = reflect.TypeOf((*QueryBoundVnicsRequestType)(nil)).Elem()
 63394  }
 63395  
 63396  type QueryBoundVnicsResponse struct {
 63397  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63398  }
 63399  
 63400  type QueryCandidateNics QueryCandidateNicsRequestType
 63401  
 63402  func init() {
 63403  	t["QueryCandidateNics"] = reflect.TypeOf((*QueryCandidateNics)(nil)).Elem()
 63404  }
 63405  
 63406  // The parameters of `IscsiManager.QueryCandidateNics`.
 63407  type QueryCandidateNicsRequestType struct {
 63408  	This ManagedObjectReference `xml:"_this" json:"-"`
 63409  	// iSCSI Adapter name for which the method to be
 63410  	// applied.
 63411  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 63412  }
 63413  
 63414  func init() {
 63415  	t["QueryCandidateNicsRequestType"] = reflect.TypeOf((*QueryCandidateNicsRequestType)(nil)).Elem()
 63416  }
 63417  
 63418  type QueryCandidateNicsResponse struct {
 63419  	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63420  }
 63421  
 63422  type QueryChangedDiskAreas QueryChangedDiskAreasRequestType
 63423  
 63424  func init() {
 63425  	t["QueryChangedDiskAreas"] = reflect.TypeOf((*QueryChangedDiskAreas)(nil)).Elem()
 63426  }
 63427  
 63428  // The parameters of `VirtualMachine.QueryChangedDiskAreas`.
 63429  type QueryChangedDiskAreasRequestType struct {
 63430  	This ManagedObjectReference `xml:"_this" json:"-"`
 63431  	// Snapshot for which changes that have been made sine
 63432  	// "changeId" should be computed. If not set, changes are computed
 63433  	// against the "current" snapshot of the virtual machine. However,
 63434  	// using the "current" snapshot will only work for virtual machines
 63435  	// that are powered off.
 63436  	//
 63437  	// Refers instance of `VirtualMachineSnapshot`.
 63438  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 63439  	// Identifies the virtual disk for which to compute changes.
 63440  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 63441  	// Start Offset in bytes at which to start computing changes.
 63442  	// Typically, callers will make multiple calls to this function, starting
 63443  	// with startOffset 0 and then examine the "length" property in the
 63444  	// returned DiskChangeInfo structure, repeatedly calling queryChangedDiskAreas
 63445  	// until a map forthe entire virtual disk has been obtained.
 63446  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 63447  	// Identifyer referring to a point in the past that should be used
 63448  	// as the point in time at which to begin including changes to the disk in
 63449  	// the result. A typical use case would be a backup application obtaining a
 63450  	// changeId from a virtual disk's backing info when performing a
 63451  	// backup. When a subsequent incremental backup is to be performed, this
 63452  	// change Id can be used to obtain a list of changed areas on disk.
 63453  	ChangeId string `xml:"changeId" json:"changeId"`
 63454  }
 63455  
 63456  func init() {
 63457  	t["QueryChangedDiskAreasRequestType"] = reflect.TypeOf((*QueryChangedDiskAreasRequestType)(nil)).Elem()
 63458  }
 63459  
 63460  type QueryChangedDiskAreasResponse struct {
 63461  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 63462  }
 63463  
 63464  type QueryCmmds QueryCmmdsRequestType
 63465  
 63466  func init() {
 63467  	t["QueryCmmds"] = reflect.TypeOf((*QueryCmmds)(nil)).Elem()
 63468  }
 63469  
 63470  // The parameters of `HostVsanInternalSystem.QueryCmmds`.
 63471  type QueryCmmdsRequestType struct {
 63472  	This ManagedObjectReference `xml:"_this" json:"-"`
 63473  	// List of CMMDS query specs.
 63474  	Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries" json:"queries"`
 63475  }
 63476  
 63477  func init() {
 63478  	t["QueryCmmdsRequestType"] = reflect.TypeOf((*QueryCmmdsRequestType)(nil)).Elem()
 63479  }
 63480  
 63481  type QueryCmmdsResponse struct {
 63482  	Returnval string `xml:"returnval" json:"returnval"`
 63483  }
 63484  
 63485  type QueryCompatibleHostForExistingDvs QueryCompatibleHostForExistingDvsRequestType
 63486  
 63487  func init() {
 63488  	t["QueryCompatibleHostForExistingDvs"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvs)(nil)).Elem()
 63489  }
 63490  
 63491  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForExistingDvs`.
 63492  type QueryCompatibleHostForExistingDvsRequestType struct {
 63493  	This ManagedObjectReference `xml:"_this" json:"-"`
 63494  	// Where to look for hosts. Supported types of objects for
 63495  	// this parameter are `Datacenter`,
 63496  	// `ComputeResource` and `Folder`.
 63497  	//
 63498  	// Refers instance of `ManagedEntity`.
 63499  	Container ManagedObjectReference `xml:"container" json:"container"`
 63500  	// Whether to search for hosts in the subfolders,
 63501  	// if applicable. In the case when container is a `Datacenter`,
 63502  	// the recursive flag is applied to its HostFolder.
 63503  	Recursive bool `xml:"recursive" json:"recursive"`
 63504  	// Search the host based on the specification published in the
 63505  	// `DVSCapability.compatibleHostComponentProductInfo`
 63506  	// of a `DistributedVirtualSwitch`. If not
 63507  	// set, it is assumed to be the specification that a
 63508  	// DistributedVirtualSwitch would have if it is created
 63509  	// with the default `DistributedVirtualSwitchProductSpec`.
 63510  	//
 63511  	// Refers instance of `DistributedVirtualSwitch`.
 63512  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 63513  }
 63514  
 63515  func init() {
 63516  	t["QueryCompatibleHostForExistingDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvsRequestType)(nil)).Elem()
 63517  }
 63518  
 63519  type QueryCompatibleHostForExistingDvsResponse struct {
 63520  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63521  }
 63522  
 63523  type QueryCompatibleHostForNewDvs QueryCompatibleHostForNewDvsRequestType
 63524  
 63525  func init() {
 63526  	t["QueryCompatibleHostForNewDvs"] = reflect.TypeOf((*QueryCompatibleHostForNewDvs)(nil)).Elem()
 63527  }
 63528  
 63529  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForNewDvs`.
 63530  type QueryCompatibleHostForNewDvsRequestType struct {
 63531  	This ManagedObjectReference `xml:"_this" json:"-"`
 63532  	// Where to look for hosts. Supported types of objects for
 63533  	// this parameter are `Datacenter`,
 63534  	// `ComputeResource` and `Folder`.
 63535  	//
 63536  	// Refers instance of `ManagedEntity`.
 63537  	Container ManagedObjectReference `xml:"container" json:"container"`
 63538  	// Whether to search for hosts in the subfolders,
 63539  	// if applicable. In the case when container is a `Datacenter`,
 63540  	// the recursive flag is applied to its HostFolder.
 63541  	Recursive bool `xml:"recursive" json:"recursive"`
 63542  	// The productSpec of a `DistributedVirtualSwitch`.
 63543  	// If not set, it is assumed to be the default one used for
 63544  	// DistributedVirtualSwitch creation.
 63545  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 63546  }
 63547  
 63548  func init() {
 63549  	t["QueryCompatibleHostForNewDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForNewDvsRequestType)(nil)).Elem()
 63550  }
 63551  
 63552  type QueryCompatibleHostForNewDvsResponse struct {
 63553  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63554  }
 63555  
 63556  type QueryCompatibleVmnicsFromHosts QueryCompatibleVmnicsFromHostsRequestType
 63557  
 63558  func init() {
 63559  	t["QueryCompatibleVmnicsFromHosts"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHosts)(nil)).Elem()
 63560  }
 63561  
 63562  // The parameters of `DistributedVirtualSwitchManager.QueryCompatibleVmnicsFromHosts`.
 63563  type QueryCompatibleVmnicsFromHostsRequestType struct {
 63564  	This ManagedObjectReference `xml:"_this" json:"-"`
 63565  	// The array of hosts on which the query is to be made to
 63566  	// fetch valid PhysicalNics on each host.
 63567  	//
 63568  	// Refers instances of `HostSystem`.
 63569  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 63570  	// The distributed virtual switch on which the query is to be
 63571  	// made.
 63572  	//
 63573  	// Refers instance of `DistributedVirtualSwitch`.
 63574  	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
 63575  }
 63576  
 63577  func init() {
 63578  	t["QueryCompatibleVmnicsFromHostsRequestType"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHostsRequestType)(nil)).Elem()
 63579  	minAPIVersionForType["QueryCompatibleVmnicsFromHostsRequestType"] = "8.0.0.1"
 63580  }
 63581  
 63582  type QueryCompatibleVmnicsFromHostsResponse struct {
 63583  	Returnval []DVSManagerPhysicalNicsList `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63584  }
 63585  
 63586  type QueryComplianceStatus QueryComplianceStatusRequestType
 63587  
 63588  func init() {
 63589  	t["QueryComplianceStatus"] = reflect.TypeOf((*QueryComplianceStatus)(nil)).Elem()
 63590  }
 63591  
 63592  // The parameters of `ProfileComplianceManager.QueryComplianceStatus`.
 63593  type QueryComplianceStatusRequestType struct {
 63594  	This ManagedObjectReference `xml:"_this" json:"-"`
 63595  	// If specified, compliance result for the specified profiles will be
 63596  	// returned. This acts like a filtering criteria for the ComplianceResults based on
 63597  	// specified profiles.
 63598  	//
 63599  	// Refers instances of `Profile`.
 63600  	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 63601  	// If specified, compliance results for these entities will be returned.
 63602  	// This acts like a filtering criteria for the ComplianceResults based on entities.
 63603  	//
 63604  	// Refers instances of `ManagedEntity`.
 63605  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 63606  }
 63607  
 63608  func init() {
 63609  	t["QueryComplianceStatusRequestType"] = reflect.TypeOf((*QueryComplianceStatusRequestType)(nil)).Elem()
 63610  }
 63611  
 63612  type QueryComplianceStatusResponse struct {
 63613  	Returnval []ComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63614  }
 63615  
 63616  type QueryConfigOption QueryConfigOptionRequestType
 63617  
 63618  func init() {
 63619  	t["QueryConfigOption"] = reflect.TypeOf((*QueryConfigOption)(nil)).Elem()
 63620  }
 63621  
 63622  type QueryConfigOptionDescriptor QueryConfigOptionDescriptorRequestType
 63623  
 63624  func init() {
 63625  	t["QueryConfigOptionDescriptor"] = reflect.TypeOf((*QueryConfigOptionDescriptor)(nil)).Elem()
 63626  }
 63627  
 63628  type QueryConfigOptionDescriptorRequestType struct {
 63629  	This ManagedObjectReference `xml:"_this" json:"-"`
 63630  }
 63631  
 63632  func init() {
 63633  	t["QueryConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryConfigOptionDescriptorRequestType)(nil)).Elem()
 63634  }
 63635  
 63636  type QueryConfigOptionDescriptorResponse struct {
 63637  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63638  }
 63639  
 63640  type QueryConfigOptionEx QueryConfigOptionExRequestType
 63641  
 63642  func init() {
 63643  	t["QueryConfigOptionEx"] = reflect.TypeOf((*QueryConfigOptionEx)(nil)).Elem()
 63644  }
 63645  
 63646  // The parameters of `EnvironmentBrowser.QueryConfigOptionEx`.
 63647  type QueryConfigOptionExRequestType struct {
 63648  	This ManagedObjectReference `xml:"_this" json:"-"`
 63649  	// Search criteria and filters to control the result.
 63650  	// If a `EnvironmentBrowserConfigOptionQuerySpec.key` or
 63651  	// `EnvironmentBrowserConfigOptionQuerySpec.host` (or both)
 63652  	// are specified, they will be used to search for a config option.
 63653  	// If `EnvironmentBrowserConfigOptionQuerySpec.guestId`
 63654  	// is nonempty, the `VirtualMachineConfigOption.guestOSDescriptor`
 63655  	// array of the config option is filtered to match against the guest
 63656  	// IDs in the spec. If there is no match, the whole list is returned.
 63657  	// If the spec argument is omitted, the default
 63658  	// `VirtualMachineConfigOption` for this environment browser is
 63659  	// returned.
 63660  	Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty" json:"spec,omitempty"`
 63661  }
 63662  
 63663  func init() {
 63664  	t["QueryConfigOptionExRequestType"] = reflect.TypeOf((*QueryConfigOptionExRequestType)(nil)).Elem()
 63665  }
 63666  
 63667  type QueryConfigOptionExResponse struct {
 63668  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63669  }
 63670  
 63671  // The parameters of `EnvironmentBrowser.QueryConfigOption`.
 63672  type QueryConfigOptionRequestType struct {
 63673  	This ManagedObjectReference `xml:"_this" json:"-"`
 63674  	// The key found in the VirtualMachineConfigOptionDescriptor,
 63675  	// obtained by invoking the
 63676  	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
 63677  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 63678  	// The host whose ConfigOption is requested.
 63679  	//
 63680  	// Refers instance of `HostSystem`.
 63681  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 63682  }
 63683  
 63684  func init() {
 63685  	t["QueryConfigOptionRequestType"] = reflect.TypeOf((*QueryConfigOptionRequestType)(nil)).Elem()
 63686  }
 63687  
 63688  type QueryConfigOptionResponse struct {
 63689  	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63690  }
 63691  
 63692  type QueryConfigTarget QueryConfigTargetRequestType
 63693  
 63694  func init() {
 63695  	t["QueryConfigTarget"] = reflect.TypeOf((*QueryConfigTarget)(nil)).Elem()
 63696  }
 63697  
 63698  // The parameters of `EnvironmentBrowser.QueryConfigTarget`.
 63699  type QueryConfigTargetRequestType struct {
 63700  	This ManagedObjectReference `xml:"_this" json:"-"`
 63701  	// If specified, the host whose default BackingInfo is requested.
 63702  	//
 63703  	// Refers instance of `HostSystem`.
 63704  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 63705  }
 63706  
 63707  func init() {
 63708  	t["QueryConfigTargetRequestType"] = reflect.TypeOf((*QueryConfigTargetRequestType)(nil)).Elem()
 63709  }
 63710  
 63711  type QueryConfigTargetResponse struct {
 63712  	Returnval *ConfigTarget `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63713  }
 63714  
 63715  type QueryConfiguredModuleOptionString QueryConfiguredModuleOptionStringRequestType
 63716  
 63717  func init() {
 63718  	t["QueryConfiguredModuleOptionString"] = reflect.TypeOf((*QueryConfiguredModuleOptionString)(nil)).Elem()
 63719  }
 63720  
 63721  // The parameters of `HostKernelModuleSystem.QueryConfiguredModuleOptionString`.
 63722  type QueryConfiguredModuleOptionStringRequestType struct {
 63723  	This ManagedObjectReference `xml:"_this" json:"-"`
 63724  	// Module name.
 63725  	Name string `xml:"name" json:"name"`
 63726  }
 63727  
 63728  func init() {
 63729  	t["QueryConfiguredModuleOptionStringRequestType"] = reflect.TypeOf((*QueryConfiguredModuleOptionStringRequestType)(nil)).Elem()
 63730  }
 63731  
 63732  type QueryConfiguredModuleOptionStringResponse struct {
 63733  	Returnval string `xml:"returnval" json:"returnval"`
 63734  }
 63735  
 63736  type QueryConnectionInfo QueryConnectionInfoRequestType
 63737  
 63738  func init() {
 63739  	t["QueryConnectionInfo"] = reflect.TypeOf((*QueryConnectionInfo)(nil)).Elem()
 63740  }
 63741  
 63742  // The parameters of `Datacenter.QueryConnectionInfo`.
 63743  type QueryConnectionInfoRequestType struct {
 63744  	This ManagedObjectReference `xml:"_this" json:"-"`
 63745  	// The target of the query.
 63746  	Hostname string `xml:"hostname" json:"hostname"`
 63747  	// The port number of the target host. For ESX 2.x this is the authd port
 63748  	// (902 by default). For ESX 3.x and above and for VMware Server hosts
 63749  	// this is the https port (443 by default). You can specify -1 to have the
 63750  	// vCenter Server try the default ports.
 63751  	Port int32 `xml:"port" json:"port"`
 63752  	// The name of the user.
 63753  	Username string `xml:"username" json:"username"`
 63754  	// The password of the user.
 63755  	Password string `xml:"password" json:"password"`
 63756  	// The expected SSL thumbprint of the host's certificate.
 63757  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 63758  }
 63759  
 63760  func init() {
 63761  	t["QueryConnectionInfoRequestType"] = reflect.TypeOf((*QueryConnectionInfoRequestType)(nil)).Elem()
 63762  }
 63763  
 63764  type QueryConnectionInfoResponse struct {
 63765  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 63766  }
 63767  
 63768  type QueryConnectionInfoViaSpec QueryConnectionInfoViaSpecRequestType
 63769  
 63770  func init() {
 63771  	t["QueryConnectionInfoViaSpec"] = reflect.TypeOf((*QueryConnectionInfoViaSpec)(nil)).Elem()
 63772  }
 63773  
 63774  // The parameters of `Datacenter.QueryConnectionInfoViaSpec`.
 63775  type QueryConnectionInfoViaSpecRequestType struct {
 63776  	This ManagedObjectReference `xml:"_this" json:"-"`
 63777  	// The connection spec for the host to be queried. It must contain
 63778  	// values for all parameters required by `Datacenter.QueryConnectionInfo`
 63779  	// See `Datacenter.QueryConnectionInfo` or a list of thrown expections.
 63780  	Spec HostConnectSpec `xml:"spec" json:"spec"`
 63781  }
 63782  
 63783  func init() {
 63784  	t["QueryConnectionInfoViaSpecRequestType"] = reflect.TypeOf((*QueryConnectionInfoViaSpecRequestType)(nil)).Elem()
 63785  }
 63786  
 63787  type QueryConnectionInfoViaSpecResponse struct {
 63788  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 63789  }
 63790  
 63791  type QueryConnections QueryConnectionsRequestType
 63792  
 63793  func init() {
 63794  	t["QueryConnections"] = reflect.TypeOf((*QueryConnections)(nil)).Elem()
 63795  }
 63796  
 63797  type QueryConnectionsRequestType struct {
 63798  	This ManagedObjectReference `xml:"_this" json:"-"`
 63799  }
 63800  
 63801  func init() {
 63802  	t["QueryConnectionsRequestType"] = reflect.TypeOf((*QueryConnectionsRequestType)(nil)).Elem()
 63803  }
 63804  
 63805  type QueryConnectionsResponse struct {
 63806  	Returnval []BaseVirtualMachineConnection `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 63807  }
 63808  
 63809  type QueryCryptoKeyStatus QueryCryptoKeyStatusRequestType
 63810  
 63811  func init() {
 63812  	t["QueryCryptoKeyStatus"] = reflect.TypeOf((*QueryCryptoKeyStatus)(nil)).Elem()
 63813  }
 63814  
 63815  // The parameters of `CryptoManagerKmip.QueryCryptoKeyStatus`.
 63816  type QueryCryptoKeyStatusRequestType struct {
 63817  	This ManagedObjectReference `xml:"_this" json:"-"`
 63818  	// \[in\] The Crypto Key Ids to query.
 63819  	KeyIds []CryptoKeyId `xml:"keyIds,omitempty" json:"keyIds,omitempty"`
 63820  	// \[in\] The key state to check. Supported value:
 63821  	// 0x01. check if key data is available to VC.
 63822  	// 0x02. check the VMs which use that key.
 63823  	// 0x04. check the hosts using this key as host key.
 63824  	// 0x08. Check 3rd party program which use that key.
 63825  	// Other bits - reserved and will be igonred.
 63826  	CheckKeyBitMap int32 `xml:"checkKeyBitMap" json:"checkKeyBitMap"`
 63827  }
 63828  
 63829  func init() {
 63830  	t["QueryCryptoKeyStatusRequestType"] = reflect.TypeOf((*QueryCryptoKeyStatusRequestType)(nil)).Elem()
 63831  }
 63832  
 63833  type QueryCryptoKeyStatusResponse struct {
 63834  	Returnval []CryptoManagerKmipCryptoKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63835  }
 63836  
 63837  type QueryDatastorePerformanceSummary QueryDatastorePerformanceSummaryRequestType
 63838  
 63839  func init() {
 63840  	t["QueryDatastorePerformanceSummary"] = reflect.TypeOf((*QueryDatastorePerformanceSummary)(nil)).Elem()
 63841  }
 63842  
 63843  // The parameters of `StorageResourceManager.QueryDatastorePerformanceSummary`.
 63844  type QueryDatastorePerformanceSummaryRequestType struct {
 63845  	This ManagedObjectReference `xml:"_this" json:"-"`
 63846  	// Datastore for which summary statistics is requested.
 63847  	//
 63848  	// Refers instance of `Datastore`.
 63849  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 63850  }
 63851  
 63852  func init() {
 63853  	t["QueryDatastorePerformanceSummaryRequestType"] = reflect.TypeOf((*QueryDatastorePerformanceSummaryRequestType)(nil)).Elem()
 63854  }
 63855  
 63856  type QueryDatastorePerformanceSummaryResponse struct {
 63857  	Returnval []StoragePerformanceSummary `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63858  }
 63859  
 63860  type QueryDateTime QueryDateTimeRequestType
 63861  
 63862  func init() {
 63863  	t["QueryDateTime"] = reflect.TypeOf((*QueryDateTime)(nil)).Elem()
 63864  }
 63865  
 63866  type QueryDateTimeRequestType struct {
 63867  	This ManagedObjectReference `xml:"_this" json:"-"`
 63868  }
 63869  
 63870  func init() {
 63871  	t["QueryDateTimeRequestType"] = reflect.TypeOf((*QueryDateTimeRequestType)(nil)).Elem()
 63872  }
 63873  
 63874  type QueryDateTimeResponse struct {
 63875  	Returnval time.Time `xml:"returnval" json:"returnval"`
 63876  }
 63877  
 63878  type QueryDescriptions QueryDescriptionsRequestType
 63879  
 63880  func init() {
 63881  	t["QueryDescriptions"] = reflect.TypeOf((*QueryDescriptions)(nil)).Elem()
 63882  }
 63883  
 63884  // The parameters of `DiagnosticManager.QueryDescriptions`.
 63885  type QueryDescriptionsRequestType struct {
 63886  	This ManagedObjectReference `xml:"_this" json:"-"`
 63887  	// Specifies the host. If not specified, then it defaults
 63888  	// to the server itself. For example, if called on
 63889  	// VirtualCenter, then the value defaults to VirtualCenter
 63890  	// logs. When called on an ESX server host, the host should
 63891  	// not be specified.
 63892  	//
 63893  	// Refers instance of `HostSystem`.
 63894  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 63895  }
 63896  
 63897  func init() {
 63898  	t["QueryDescriptionsRequestType"] = reflect.TypeOf((*QueryDescriptionsRequestType)(nil)).Elem()
 63899  }
 63900  
 63901  type QueryDescriptionsResponse struct {
 63902  	Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63903  }
 63904  
 63905  type QueryDirectoryInfo QueryDirectoryInfoRequestType
 63906  
 63907  func init() {
 63908  	t["QueryDirectoryInfo"] = reflect.TypeOf((*QueryDirectoryInfo)(nil)).Elem()
 63909  }
 63910  
 63911  // The parameters of `DatastoreNamespaceManager.QueryDirectoryInfo`.
 63912  type QueryDirectoryInfoRequestType struct {
 63913  	This ManagedObjectReference `xml:"_this" json:"-"`
 63914  	// the datacenter of the namespace path. Needs to be set
 63915  	// when making the call to VC; ignored when the call is
 63916  	// made to ESX.
 63917  	//
 63918  	// Refers instance of `Datacenter`.
 63919  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 63920  	// stable vmfs path of the top-level directory to query
 63921  	StableName string `xml:"stableName" json:"stableName"`
 63922  }
 63923  
 63924  func init() {
 63925  	t["QueryDirectoryInfoRequestType"] = reflect.TypeOf((*QueryDirectoryInfoRequestType)(nil)).Elem()
 63926  	minAPIVersionForType["QueryDirectoryInfoRequestType"] = "8.0.1.0"
 63927  }
 63928  
 63929  type QueryDirectoryInfoResponse struct {
 63930  	Returnval DatastoreNamespaceManagerDirectoryInfo `xml:"returnval" json:"returnval"`
 63931  }
 63932  
 63933  type QueryDisksForVsan QueryDisksForVsanRequestType
 63934  
 63935  func init() {
 63936  	t["QueryDisksForVsan"] = reflect.TypeOf((*QueryDisksForVsan)(nil)).Elem()
 63937  }
 63938  
 63939  // The parameters of `HostVsanSystem.QueryDisksForVsan`.
 63940  type QueryDisksForVsanRequestType struct {
 63941  	This ManagedObjectReference `xml:"_this" json:"-"`
 63942  	// may be set to restrict the query to the list of
 63943  	// `HostScsiDisk` objects named by the
 63944  	// given paths
 63945  	CanonicalName []string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 63946  }
 63947  
 63948  func init() {
 63949  	t["QueryDisksForVsanRequestType"] = reflect.TypeOf((*QueryDisksForVsanRequestType)(nil)).Elem()
 63950  }
 63951  
 63952  type QueryDisksForVsanResponse struct {
 63953  	Returnval []VsanHostDiskResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 63954  }
 63955  
 63956  type QueryDisksUsingFilter QueryDisksUsingFilterRequestType
 63957  
 63958  func init() {
 63959  	t["QueryDisksUsingFilter"] = reflect.TypeOf((*QueryDisksUsingFilter)(nil)).Elem()
 63960  }
 63961  
 63962  // The parameters of `IoFilterManager.QueryDisksUsingFilter`.
 63963  type QueryDisksUsingFilterRequestType struct {
 63964  	This ManagedObjectReference `xml:"_this" json:"-"`
 63965  	// ID of the filter.
 63966  	FilterId string `xml:"filterId" json:"filterId"`
 63967  	// The compute resource that the filter has been installed on.
 63968  	// "compRes" must be a cluster.
 63969  	//
 63970  	// Refers instance of `ComputeResource`.
 63971  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 63972  }
 63973  
 63974  func init() {
 63975  	t["QueryDisksUsingFilterRequestType"] = reflect.TypeOf((*QueryDisksUsingFilterRequestType)(nil)).Elem()
 63976  }
 63977  
 63978  type QueryDisksUsingFilterResponse struct {
 63979  	Returnval []VirtualDiskId `xml:"returnval" json:"returnval"`
 63980  }
 63981  
 63982  type QueryDvsByUuid QueryDvsByUuidRequestType
 63983  
 63984  func init() {
 63985  	t["QueryDvsByUuid"] = reflect.TypeOf((*QueryDvsByUuid)(nil)).Elem()
 63986  }
 63987  
 63988  // The parameters of `DistributedVirtualSwitchManager.QueryDvsByUuid`.
 63989  type QueryDvsByUuidRequestType struct {
 63990  	This ManagedObjectReference `xml:"_this" json:"-"`
 63991  	Uuid string                 `xml:"uuid" json:"uuid"`
 63992  }
 63993  
 63994  func init() {
 63995  	t["QueryDvsByUuidRequestType"] = reflect.TypeOf((*QueryDvsByUuidRequestType)(nil)).Elem()
 63996  }
 63997  
 63998  type QueryDvsByUuidResponse struct {
 63999  	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64000  }
 64001  
 64002  type QueryDvsCheckCompatibility QueryDvsCheckCompatibilityRequestType
 64003  
 64004  func init() {
 64005  	t["QueryDvsCheckCompatibility"] = reflect.TypeOf((*QueryDvsCheckCompatibility)(nil)).Elem()
 64006  }
 64007  
 64008  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`.
 64009  type QueryDvsCheckCompatibilityRequestType struct {
 64010  	This ManagedObjectReference `xml:"_this" json:"-"`
 64011  	// The container of hosts on which we check the compatibility.
 64012  	// This container can be a datacenter, folder, or computeResource.
 64013  	// We can also include all the hosts in the hierarchy with container
 64014  	// as root of the tree.
 64015  	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
 64016  	// The productSpec of a DistributedVirtualSwitch. If not
 64017  	// set, it is assumed to be the default one used for
 64018  	// DistributedVirtualSwitch creation for current version.
 64019  	DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty" json:"dvsProductSpec,omitempty"`
 64020  	// The hosts against which to check compatibility. This is a
 64021  	// filterSpec and users can use this to specify all hosts in a
 64022  	// container (datacenter, folder, or computeResource), an array
 64023  	// of hosts, or hosts that might or might not be a DVS member.
 64024  	HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr" json:"hostFilterSpec,omitempty"`
 64025  }
 64026  
 64027  func init() {
 64028  	t["QueryDvsCheckCompatibilityRequestType"] = reflect.TypeOf((*QueryDvsCheckCompatibilityRequestType)(nil)).Elem()
 64029  }
 64030  
 64031  type QueryDvsCheckCompatibilityResponse struct {
 64032  	Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64033  }
 64034  
 64035  type QueryDvsCompatibleHostSpec QueryDvsCompatibleHostSpecRequestType
 64036  
 64037  func init() {
 64038  	t["QueryDvsCompatibleHostSpec"] = reflect.TypeOf((*QueryDvsCompatibleHostSpec)(nil)).Elem()
 64039  }
 64040  
 64041  // The parameters of `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
 64042  type QueryDvsCompatibleHostSpecRequestType struct {
 64043  	This ManagedObjectReference `xml:"_this" json:"-"`
 64044  	// The productSpec of a `DistributedVirtualSwitch`.
 64045  	// If not set, it is assumed to be the default one used for
 64046  	// DistributedVirtualSwitch creation.
 64047  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 64048  }
 64049  
 64050  func init() {
 64051  	t["QueryDvsCompatibleHostSpecRequestType"] = reflect.TypeOf((*QueryDvsCompatibleHostSpecRequestType)(nil)).Elem()
 64052  }
 64053  
 64054  type QueryDvsCompatibleHostSpecResponse struct {
 64055  	Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64056  }
 64057  
 64058  type QueryDvsConfigTarget QueryDvsConfigTargetRequestType
 64059  
 64060  func init() {
 64061  	t["QueryDvsConfigTarget"] = reflect.TypeOf((*QueryDvsConfigTarget)(nil)).Elem()
 64062  }
 64063  
 64064  // The parameters of `DistributedVirtualSwitchManager.QueryDvsConfigTarget`.
 64065  type QueryDvsConfigTargetRequestType struct {
 64066  	This ManagedObjectReference `xml:"_this" json:"-"`
 64067  	// The host on which the query is to be made. If called
 64068  	// directly on the host this parameter need not be specified.
 64069  	//
 64070  	// Refers instance of `HostSystem`.
 64071  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64072  	// The distributed virtual switch on which the query is to be
 64073  	// made. If unspecified the config target will encompass all the
 64074  	// distributed virtual switches available on the host.
 64075  	//
 64076  	// Refers instance of `DistributedVirtualSwitch`.
 64077  	Dvs *ManagedObjectReference `xml:"dvs,omitempty" json:"dvs,omitempty"`
 64078  }
 64079  
 64080  func init() {
 64081  	t["QueryDvsConfigTargetRequestType"] = reflect.TypeOf((*QueryDvsConfigTargetRequestType)(nil)).Elem()
 64082  }
 64083  
 64084  type QueryDvsConfigTargetResponse struct {
 64085  	Returnval DVSManagerDvsConfigTarget `xml:"returnval" json:"returnval"`
 64086  }
 64087  
 64088  type QueryDvsFeatureCapability QueryDvsFeatureCapabilityRequestType
 64089  
 64090  func init() {
 64091  	t["QueryDvsFeatureCapability"] = reflect.TypeOf((*QueryDvsFeatureCapability)(nil)).Elem()
 64092  }
 64093  
 64094  // The parameters of `DistributedVirtualSwitchManager.QueryDvsFeatureCapability`.
 64095  type QueryDvsFeatureCapabilityRequestType struct {
 64096  	This ManagedObjectReference `xml:"_this" json:"-"`
 64097  	// The productSpec of a `DistributedVirtualSwitch`.
 64098  	// If not set, it is assumed to be the default one used for
 64099  	// DistributedVirtualSwitch creation.
 64100  	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
 64101  }
 64102  
 64103  func init() {
 64104  	t["QueryDvsFeatureCapabilityRequestType"] = reflect.TypeOf((*QueryDvsFeatureCapabilityRequestType)(nil)).Elem()
 64105  }
 64106  
 64107  type QueryDvsFeatureCapabilityResponse struct {
 64108  	Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64109  }
 64110  
 64111  type QueryEvents QueryEventsRequestType
 64112  
 64113  func init() {
 64114  	t["QueryEvents"] = reflect.TypeOf((*QueryEvents)(nil)).Elem()
 64115  }
 64116  
 64117  // The parameters of `EventManager.QueryEvents`.
 64118  type QueryEventsRequestType struct {
 64119  	This ManagedObjectReference `xml:"_this" json:"-"`
 64120  	// The events qualified.
 64121  	Filter EventFilterSpec `xml:"filter" json:"filter"`
 64122  }
 64123  
 64124  func init() {
 64125  	t["QueryEventsRequestType"] = reflect.TypeOf((*QueryEventsRequestType)(nil)).Elem()
 64126  }
 64127  
 64128  type QueryEventsResponse struct {
 64129  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64130  }
 64131  
 64132  type QueryExpressionMetadata QueryExpressionMetadataRequestType
 64133  
 64134  func init() {
 64135  	t["QueryExpressionMetadata"] = reflect.TypeOf((*QueryExpressionMetadata)(nil)).Elem()
 64136  }
 64137  
 64138  // The parameters of `ProfileComplianceManager.QueryExpressionMetadata`.
 64139  type QueryExpressionMetadataRequestType struct {
 64140  	This ManagedObjectReference `xml:"_this" json:"-"`
 64141  	// Names of the Expressions for which metadata is requested.
 64142  	// If expressionNames are not specified, metadata for all known expressions is returned
 64143  	ExpressionName []string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
 64144  	// Base profile whose context needs to be used during the operation
 64145  	//
 64146  	// Refers instance of `Profile`.
 64147  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 64148  }
 64149  
 64150  func init() {
 64151  	t["QueryExpressionMetadataRequestType"] = reflect.TypeOf((*QueryExpressionMetadataRequestType)(nil)).Elem()
 64152  }
 64153  
 64154  type QueryExpressionMetadataResponse struct {
 64155  	Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64156  }
 64157  
 64158  type QueryExtensionIpAllocationUsage QueryExtensionIpAllocationUsageRequestType
 64159  
 64160  func init() {
 64161  	t["QueryExtensionIpAllocationUsage"] = reflect.TypeOf((*QueryExtensionIpAllocationUsage)(nil)).Elem()
 64162  }
 64163  
 64164  // The parameters of `ExtensionManager.QueryExtensionIpAllocationUsage`.
 64165  type QueryExtensionIpAllocationUsageRequestType struct {
 64166  	This ManagedObjectReference `xml:"_this" json:"-"`
 64167  	// List of extensions whose IP allocation is being queried.
 64168  	// If no extension keys are specified then allocation data
 64169  	// for all registered extensions are returned.
 64170  	ExtensionKeys []string `xml:"extensionKeys,omitempty" json:"extensionKeys,omitempty"`
 64171  }
 64172  
 64173  func init() {
 64174  	t["QueryExtensionIpAllocationUsageRequestType"] = reflect.TypeOf((*QueryExtensionIpAllocationUsageRequestType)(nil)).Elem()
 64175  }
 64176  
 64177  type QueryExtensionIpAllocationUsageResponse struct {
 64178  	Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64179  }
 64180  
 64181  type QueryFaultToleranceCompatibility QueryFaultToleranceCompatibilityRequestType
 64182  
 64183  func init() {
 64184  	t["QueryFaultToleranceCompatibility"] = reflect.TypeOf((*QueryFaultToleranceCompatibility)(nil)).Elem()
 64185  }
 64186  
 64187  type QueryFaultToleranceCompatibilityEx QueryFaultToleranceCompatibilityExRequestType
 64188  
 64189  func init() {
 64190  	t["QueryFaultToleranceCompatibilityEx"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityEx)(nil)).Elem()
 64191  }
 64192  
 64193  // The parameters of `VirtualMachine.QueryFaultToleranceCompatibilityEx`.
 64194  type QueryFaultToleranceCompatibilityExRequestType struct {
 64195  	This ManagedObjectReference `xml:"_this" json:"-"`
 64196  	// checks for legacy record-replay FT compatibility only
 64197  	// if this is set to true.
 64198  	ForLegacyFt *bool `xml:"forLegacyFt" json:"forLegacyFt,omitempty"`
 64199  }
 64200  
 64201  func init() {
 64202  	t["QueryFaultToleranceCompatibilityExRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityExRequestType)(nil)).Elem()
 64203  }
 64204  
 64205  type QueryFaultToleranceCompatibilityExResponse struct {
 64206  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64207  }
 64208  
 64209  type QueryFaultToleranceCompatibilityRequestType struct {
 64210  	This ManagedObjectReference `xml:"_this" json:"-"`
 64211  }
 64212  
 64213  func init() {
 64214  	t["QueryFaultToleranceCompatibilityRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityRequestType)(nil)).Elem()
 64215  }
 64216  
 64217  type QueryFaultToleranceCompatibilityResponse struct {
 64218  	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64219  }
 64220  
 64221  type QueryFileLockInfo QueryFileLockInfoRequestType
 64222  
 64223  func init() {
 64224  	t["QueryFileLockInfo"] = reflect.TypeOf((*QueryFileLockInfo)(nil)).Elem()
 64225  }
 64226  
 64227  // The parameters of `FileManager.QueryFileLockInfo`.
 64228  type QueryFileLockInfoRequestType struct {
 64229  	This ManagedObjectReference `xml:"_this" json:"-"`
 64230  	// Full file path to look up lock information on.
 64231  	// For example specific VM file like:
 64232  	// /vmfs/volumes/datastore1/vm/vm-flat.vmdk
 64233  	Path string `xml:"path" json:"path"`
 64234  	// Host id is required if API is invoked on vCenter Server.
 64235  	// It is optional if invoked on host directly. Esx does not
 64236  	// require this parameter.
 64237  	//
 64238  	// Refers instance of `HostSystem`.
 64239  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64240  }
 64241  
 64242  func init() {
 64243  	t["QueryFileLockInfoRequestType"] = reflect.TypeOf((*QueryFileLockInfoRequestType)(nil)).Elem()
 64244  	minAPIVersionForType["QueryFileLockInfoRequestType"] = "8.0.2.0"
 64245  }
 64246  
 64247  type QueryFileLockInfoResponse struct {
 64248  	Returnval FileLockInfoResult `xml:"returnval" json:"returnval"`
 64249  }
 64250  
 64251  type QueryFilterEntities QueryFilterEntitiesRequestType
 64252  
 64253  func init() {
 64254  	t["QueryFilterEntities"] = reflect.TypeOf((*QueryFilterEntities)(nil)).Elem()
 64255  }
 64256  
 64257  // The parameters of `HealthUpdateManager.QueryFilterEntities`.
 64258  type QueryFilterEntitiesRequestType struct {
 64259  	This ManagedObjectReference `xml:"_this" json:"-"`
 64260  	// The filter id.
 64261  	FilterId string `xml:"filterId" json:"filterId"`
 64262  }
 64263  
 64264  func init() {
 64265  	t["QueryFilterEntitiesRequestType"] = reflect.TypeOf((*QueryFilterEntitiesRequestType)(nil)).Elem()
 64266  }
 64267  
 64268  type QueryFilterEntitiesResponse struct {
 64269  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64270  }
 64271  
 64272  type QueryFilterInfoIds QueryFilterInfoIdsRequestType
 64273  
 64274  func init() {
 64275  	t["QueryFilterInfoIds"] = reflect.TypeOf((*QueryFilterInfoIds)(nil)).Elem()
 64276  }
 64277  
 64278  // The parameters of `HealthUpdateManager.QueryFilterInfoIds`.
 64279  type QueryFilterInfoIdsRequestType struct {
 64280  	This ManagedObjectReference `xml:"_this" json:"-"`
 64281  	// The filter id.
 64282  	FilterId string `xml:"filterId" json:"filterId"`
 64283  }
 64284  
 64285  func init() {
 64286  	t["QueryFilterInfoIdsRequestType"] = reflect.TypeOf((*QueryFilterInfoIdsRequestType)(nil)).Elem()
 64287  }
 64288  
 64289  type QueryFilterInfoIdsResponse struct {
 64290  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64291  }
 64292  
 64293  type QueryFilterList QueryFilterListRequestType
 64294  
 64295  func init() {
 64296  	t["QueryFilterList"] = reflect.TypeOf((*QueryFilterList)(nil)).Elem()
 64297  }
 64298  
 64299  // The parameters of `HealthUpdateManager.QueryFilterList`.
 64300  type QueryFilterListRequestType struct {
 64301  	This ManagedObjectReference `xml:"_this" json:"-"`
 64302  	// The provider id.
 64303  	ProviderId string `xml:"providerId" json:"providerId"`
 64304  }
 64305  
 64306  func init() {
 64307  	t["QueryFilterListRequestType"] = reflect.TypeOf((*QueryFilterListRequestType)(nil)).Elem()
 64308  }
 64309  
 64310  type QueryFilterListResponse struct {
 64311  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64312  }
 64313  
 64314  type QueryFilterName QueryFilterNameRequestType
 64315  
 64316  func init() {
 64317  	t["QueryFilterName"] = reflect.TypeOf((*QueryFilterName)(nil)).Elem()
 64318  }
 64319  
 64320  // The parameters of `HealthUpdateManager.QueryFilterName`.
 64321  type QueryFilterNameRequestType struct {
 64322  	This ManagedObjectReference `xml:"_this" json:"-"`
 64323  	// The filter id.
 64324  	FilterId string `xml:"filterId" json:"filterId"`
 64325  }
 64326  
 64327  func init() {
 64328  	t["QueryFilterNameRequestType"] = reflect.TypeOf((*QueryFilterNameRequestType)(nil)).Elem()
 64329  }
 64330  
 64331  type QueryFilterNameResponse struct {
 64332  	Returnval string `xml:"returnval" json:"returnval"`
 64333  }
 64334  
 64335  type QueryFirmwareConfigUploadURL QueryFirmwareConfigUploadURLRequestType
 64336  
 64337  func init() {
 64338  	t["QueryFirmwareConfigUploadURL"] = reflect.TypeOf((*QueryFirmwareConfigUploadURL)(nil)).Elem()
 64339  }
 64340  
 64341  type QueryFirmwareConfigUploadURLRequestType struct {
 64342  	This ManagedObjectReference `xml:"_this" json:"-"`
 64343  }
 64344  
 64345  func init() {
 64346  	t["QueryFirmwareConfigUploadURLRequestType"] = reflect.TypeOf((*QueryFirmwareConfigUploadURLRequestType)(nil)).Elem()
 64347  }
 64348  
 64349  type QueryFirmwareConfigUploadURLResponse struct {
 64350  	Returnval string `xml:"returnval" json:"returnval"`
 64351  }
 64352  
 64353  type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType
 64354  
 64355  func init() {
 64356  	t["QueryHealthUpdateInfos"] = reflect.TypeOf((*QueryHealthUpdateInfos)(nil)).Elem()
 64357  }
 64358  
 64359  // The parameters of `HealthUpdateManager.QueryHealthUpdateInfos`.
 64360  type QueryHealthUpdateInfosRequestType struct {
 64361  	This ManagedObjectReference `xml:"_this" json:"-"`
 64362  	// The provider id.
 64363  	ProviderId string `xml:"providerId" json:"providerId"`
 64364  }
 64365  
 64366  func init() {
 64367  	t["QueryHealthUpdateInfosRequestType"] = reflect.TypeOf((*QueryHealthUpdateInfosRequestType)(nil)).Elem()
 64368  }
 64369  
 64370  type QueryHealthUpdateInfosResponse struct {
 64371  	Returnval []HealthUpdateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64372  }
 64373  
 64374  type QueryHealthUpdates QueryHealthUpdatesRequestType
 64375  
 64376  func init() {
 64377  	t["QueryHealthUpdates"] = reflect.TypeOf((*QueryHealthUpdates)(nil)).Elem()
 64378  }
 64379  
 64380  // The parameters of `HealthUpdateManager.QueryHealthUpdates`.
 64381  type QueryHealthUpdatesRequestType struct {
 64382  	This ManagedObjectReference `xml:"_this" json:"-"`
 64383  	// The provider id.
 64384  	ProviderId string `xml:"providerId" json:"providerId"`
 64385  }
 64386  
 64387  func init() {
 64388  	t["QueryHealthUpdatesRequestType"] = reflect.TypeOf((*QueryHealthUpdatesRequestType)(nil)).Elem()
 64389  }
 64390  
 64391  type QueryHealthUpdatesResponse struct {
 64392  	Returnval []HealthUpdate `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64393  }
 64394  
 64395  type QueryHostConnectionInfo QueryHostConnectionInfoRequestType
 64396  
 64397  func init() {
 64398  	t["QueryHostConnectionInfo"] = reflect.TypeOf((*QueryHostConnectionInfo)(nil)).Elem()
 64399  }
 64400  
 64401  type QueryHostConnectionInfoRequestType struct {
 64402  	This ManagedObjectReference `xml:"_this" json:"-"`
 64403  }
 64404  
 64405  func init() {
 64406  	t["QueryHostConnectionInfoRequestType"] = reflect.TypeOf((*QueryHostConnectionInfoRequestType)(nil)).Elem()
 64407  }
 64408  
 64409  type QueryHostConnectionInfoResponse struct {
 64410  	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
 64411  }
 64412  
 64413  // The parameters of `HostPatchManager.QueryHostPatch_Task`.
 64414  type QueryHostPatchRequestType struct {
 64415  	This ManagedObjectReference                     `xml:"_this" json:"-"`
 64416  	Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 64417  }
 64418  
 64419  func init() {
 64420  	t["QueryHostPatchRequestType"] = reflect.TypeOf((*QueryHostPatchRequestType)(nil)).Elem()
 64421  }
 64422  
 64423  type QueryHostPatch_Task QueryHostPatchRequestType
 64424  
 64425  func init() {
 64426  	t["QueryHostPatch_Task"] = reflect.TypeOf((*QueryHostPatch_Task)(nil)).Elem()
 64427  }
 64428  
 64429  type QueryHostPatch_TaskResponse struct {
 64430  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 64431  }
 64432  
 64433  type QueryHostProfileMetadata QueryHostProfileMetadataRequestType
 64434  
 64435  func init() {
 64436  	t["QueryHostProfileMetadata"] = reflect.TypeOf((*QueryHostProfileMetadata)(nil)).Elem()
 64437  }
 64438  
 64439  // The parameters of `HostProfileManager.QueryHostProfileMetadata`.
 64440  type QueryHostProfileMetadataRequestType struct {
 64441  	This ManagedObjectReference `xml:"_this" json:"-"`
 64442  	// Names of the profiles for which metadata is requested.
 64443  	// If not set, the method returns metadata for all the profiles.
 64444  	ProfileName []string `xml:"profileName,omitempty" json:"profileName,omitempty"`
 64445  	// Base profile whose context needs to be used during the operation
 64446  	//
 64447  	// Refers instance of `Profile`.
 64448  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 64449  }
 64450  
 64451  func init() {
 64452  	t["QueryHostProfileMetadataRequestType"] = reflect.TypeOf((*QueryHostProfileMetadataRequestType)(nil)).Elem()
 64453  }
 64454  
 64455  type QueryHostProfileMetadataResponse struct {
 64456  	Returnval []ProfileMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64457  }
 64458  
 64459  type QueryHostStatus QueryHostStatusRequestType
 64460  
 64461  func init() {
 64462  	t["QueryHostStatus"] = reflect.TypeOf((*QueryHostStatus)(nil)).Elem()
 64463  }
 64464  
 64465  type QueryHostStatusRequestType struct {
 64466  	This ManagedObjectReference `xml:"_this" json:"-"`
 64467  }
 64468  
 64469  func init() {
 64470  	t["QueryHostStatusRequestType"] = reflect.TypeOf((*QueryHostStatusRequestType)(nil)).Elem()
 64471  }
 64472  
 64473  type QueryHostStatusResponse struct {
 64474  	Returnval VsanHostClusterStatus `xml:"returnval" json:"returnval"`
 64475  }
 64476  
 64477  type QueryHostsWithAttachedLun QueryHostsWithAttachedLunRequestType
 64478  
 64479  func init() {
 64480  	t["QueryHostsWithAttachedLun"] = reflect.TypeOf((*QueryHostsWithAttachedLun)(nil)).Elem()
 64481  }
 64482  
 64483  // The parameters of `StorageQueryManager.QueryHostsWithAttachedLun`.
 64484  type QueryHostsWithAttachedLunRequestType struct {
 64485  	This ManagedObjectReference `xml:"_this" json:"-"`
 64486  	// The UUID of the ScsiLun device.
 64487  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 64488  }
 64489  
 64490  func init() {
 64491  	t["QueryHostsWithAttachedLunRequestType"] = reflect.TypeOf((*QueryHostsWithAttachedLunRequestType)(nil)).Elem()
 64492  }
 64493  
 64494  type QueryHostsWithAttachedLunResponse struct {
 64495  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64496  }
 64497  
 64498  type QueryIORMConfigOption QueryIORMConfigOptionRequestType
 64499  
 64500  func init() {
 64501  	t["QueryIORMConfigOption"] = reflect.TypeOf((*QueryIORMConfigOption)(nil)).Elem()
 64502  }
 64503  
 64504  // The parameters of `StorageResourceManager.QueryIORMConfigOption`.
 64505  type QueryIORMConfigOptionRequestType struct {
 64506  	This ManagedObjectReference `xml:"_this" json:"-"`
 64507  	// \[in\] - The host VC will forward the query
 64508  	// to. This parameter is ignored by host if this method is
 64509  	// called on a host directly.
 64510  	//
 64511  	// Refers instance of `HostSystem`.
 64512  	Host ManagedObjectReference `xml:"host" json:"host"`
 64513  }
 64514  
 64515  func init() {
 64516  	t["QueryIORMConfigOptionRequestType"] = reflect.TypeOf((*QueryIORMConfigOptionRequestType)(nil)).Elem()
 64517  }
 64518  
 64519  type QueryIORMConfigOptionResponse struct {
 64520  	Returnval StorageIORMConfigOption `xml:"returnval" json:"returnval"`
 64521  }
 64522  
 64523  type QueryIPAllocations QueryIPAllocationsRequestType
 64524  
 64525  func init() {
 64526  	t["QueryIPAllocations"] = reflect.TypeOf((*QueryIPAllocations)(nil)).Elem()
 64527  }
 64528  
 64529  // The parameters of `IpPoolManager.QueryIPAllocations`.
 64530  type QueryIPAllocationsRequestType struct {
 64531  	This ManagedObjectReference `xml:"_this" json:"-"`
 64532  	// The datacenter on which to find the pool
 64533  	//
 64534  	// Required privileges: Datacenter.IpPoolQueryAllocations
 64535  	//
 64536  	// Refers instance of `Datacenter`.
 64537  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 64538  	// The unique ID of the pool
 64539  	PoolId int32 `xml:"poolId" json:"poolId"`
 64540  	// The key of the extension
 64541  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 64542  }
 64543  
 64544  func init() {
 64545  	t["QueryIPAllocationsRequestType"] = reflect.TypeOf((*QueryIPAllocationsRequestType)(nil)).Elem()
 64546  }
 64547  
 64548  type QueryIPAllocationsResponse struct {
 64549  	Returnval []IpPoolManagerIpAllocation `xml:"returnval" json:"returnval"`
 64550  }
 64551  
 64552  type QueryIoFilterInfo QueryIoFilterInfoRequestType
 64553  
 64554  func init() {
 64555  	t["QueryIoFilterInfo"] = reflect.TypeOf((*QueryIoFilterInfo)(nil)).Elem()
 64556  }
 64557  
 64558  // The parameters of `IoFilterManager.QueryIoFilterInfo`.
 64559  type QueryIoFilterInfoRequestType struct {
 64560  	This ManagedObjectReference `xml:"_this" json:"-"`
 64561  	// The compute resource.
 64562  	// "compRes" must be a cluster.
 64563  	//
 64564  	// Refers instance of `ComputeResource`.
 64565  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 64566  }
 64567  
 64568  func init() {
 64569  	t["QueryIoFilterInfoRequestType"] = reflect.TypeOf((*QueryIoFilterInfoRequestType)(nil)).Elem()
 64570  }
 64571  
 64572  type QueryIoFilterInfoResponse struct {
 64573  	Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64574  }
 64575  
 64576  type QueryIoFilterIssues QueryIoFilterIssuesRequestType
 64577  
 64578  func init() {
 64579  	t["QueryIoFilterIssues"] = reflect.TypeOf((*QueryIoFilterIssues)(nil)).Elem()
 64580  }
 64581  
 64582  // The parameters of `IoFilterManager.QueryIoFilterIssues`.
 64583  type QueryIoFilterIssuesRequestType struct {
 64584  	This ManagedObjectReference `xml:"_this" json:"-"`
 64585  	// The filter.
 64586  	FilterId string `xml:"filterId" json:"filterId"`
 64587  	// The compute resource.
 64588  	// "compRes" must be a cluster.
 64589  	//
 64590  	// Refers instance of `ComputeResource`.
 64591  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 64592  }
 64593  
 64594  func init() {
 64595  	t["QueryIoFilterIssuesRequestType"] = reflect.TypeOf((*QueryIoFilterIssuesRequestType)(nil)).Elem()
 64596  }
 64597  
 64598  type QueryIoFilterIssuesResponse struct {
 64599  	Returnval IoFilterQueryIssueResult `xml:"returnval" json:"returnval"`
 64600  }
 64601  
 64602  type QueryIpPools QueryIpPoolsRequestType
 64603  
 64604  func init() {
 64605  	t["QueryIpPools"] = reflect.TypeOf((*QueryIpPools)(nil)).Elem()
 64606  }
 64607  
 64608  // The parameters of `IpPoolManager.QueryIpPools`.
 64609  type QueryIpPoolsRequestType struct {
 64610  	This ManagedObjectReference `xml:"_this" json:"-"`
 64611  	// The datacenter for which to look up the IP pools.
 64612  	//
 64613  	// Required privileges: System.Read
 64614  	//
 64615  	// Refers instance of `Datacenter`.
 64616  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 64617  }
 64618  
 64619  func init() {
 64620  	t["QueryIpPoolsRequestType"] = reflect.TypeOf((*QueryIpPoolsRequestType)(nil)).Elem()
 64621  }
 64622  
 64623  type QueryIpPoolsResponse struct {
 64624  	Returnval []IpPool `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64625  }
 64626  
 64627  type QueryLicenseSourceAvailability QueryLicenseSourceAvailabilityRequestType
 64628  
 64629  func init() {
 64630  	t["QueryLicenseSourceAvailability"] = reflect.TypeOf((*QueryLicenseSourceAvailability)(nil)).Elem()
 64631  }
 64632  
 64633  // The parameters of `LicenseManager.QueryLicenseSourceAvailability`.
 64634  type QueryLicenseSourceAvailabilityRequestType struct {
 64635  	This ManagedObjectReference `xml:"_this" json:"-"`
 64636  	// Use the license source of the specified host.
 64637  	//
 64638  	// Refers instance of `HostSystem`.
 64639  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64640  }
 64641  
 64642  func init() {
 64643  	t["QueryLicenseSourceAvailabilityRequestType"] = reflect.TypeOf((*QueryLicenseSourceAvailabilityRequestType)(nil)).Elem()
 64644  }
 64645  
 64646  type QueryLicenseSourceAvailabilityResponse struct {
 64647  	Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64648  }
 64649  
 64650  type QueryLicenseUsage QueryLicenseUsageRequestType
 64651  
 64652  func init() {
 64653  	t["QueryLicenseUsage"] = reflect.TypeOf((*QueryLicenseUsage)(nil)).Elem()
 64654  }
 64655  
 64656  // The parameters of `LicenseManager.QueryLicenseUsage`.
 64657  type QueryLicenseUsageRequestType struct {
 64658  	This ManagedObjectReference `xml:"_this" json:"-"`
 64659  	// Host to query for usage. If missing, query the server the
 64660  	// `LicenseManager` is on.
 64661  	//
 64662  	// Refers instance of `HostSystem`.
 64663  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 64664  }
 64665  
 64666  func init() {
 64667  	t["QueryLicenseUsageRequestType"] = reflect.TypeOf((*QueryLicenseUsageRequestType)(nil)).Elem()
 64668  }
 64669  
 64670  type QueryLicenseUsageResponse struct {
 64671  	Returnval LicenseUsageInfo `xml:"returnval" json:"returnval"`
 64672  }
 64673  
 64674  type QueryLockdownExceptions QueryLockdownExceptionsRequestType
 64675  
 64676  func init() {
 64677  	t["QueryLockdownExceptions"] = reflect.TypeOf((*QueryLockdownExceptions)(nil)).Elem()
 64678  }
 64679  
 64680  type QueryLockdownExceptionsRequestType struct {
 64681  	This ManagedObjectReference `xml:"_this" json:"-"`
 64682  }
 64683  
 64684  func init() {
 64685  	t["QueryLockdownExceptionsRequestType"] = reflect.TypeOf((*QueryLockdownExceptionsRequestType)(nil)).Elem()
 64686  }
 64687  
 64688  type QueryLockdownExceptionsResponse struct {
 64689  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64690  }
 64691  
 64692  type QueryManagedBy QueryManagedByRequestType
 64693  
 64694  func init() {
 64695  	t["QueryManagedBy"] = reflect.TypeOf((*QueryManagedBy)(nil)).Elem()
 64696  }
 64697  
 64698  // The parameters of `ExtensionManager.QueryManagedBy`.
 64699  type QueryManagedByRequestType struct {
 64700  	This ManagedObjectReference `xml:"_this" json:"-"`
 64701  	// Key of the extension to find managed entities for.
 64702  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 64703  }
 64704  
 64705  func init() {
 64706  	t["QueryManagedByRequestType"] = reflect.TypeOf((*QueryManagedByRequestType)(nil)).Elem()
 64707  }
 64708  
 64709  type QueryManagedByResponse struct {
 64710  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64711  }
 64712  
 64713  type QueryMaxQueueDepth QueryMaxQueueDepthRequestType
 64714  
 64715  func init() {
 64716  	t["QueryMaxQueueDepth"] = reflect.TypeOf((*QueryMaxQueueDepth)(nil)).Elem()
 64717  }
 64718  
 64719  // The parameters of `HostDatastoreSystem.QueryMaxQueueDepth`.
 64720  type QueryMaxQueueDepthRequestType struct {
 64721  	This ManagedObjectReference `xml:"_this" json:"-"`
 64722  	// The NFS datastore which need to query max queue depth
 64723  	//
 64724  	// Refers instance of `Datastore`.
 64725  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 64726  }
 64727  
 64728  func init() {
 64729  	t["QueryMaxQueueDepthRequestType"] = reflect.TypeOf((*QueryMaxQueueDepthRequestType)(nil)).Elem()
 64730  	minAPIVersionForType["QueryMaxQueueDepthRequestType"] = "8.0.0.1"
 64731  }
 64732  
 64733  type QueryMaxQueueDepthResponse struct {
 64734  	Returnval int64 `xml:"returnval" json:"returnval"`
 64735  }
 64736  
 64737  type QueryMemoryOverhead QueryMemoryOverheadRequestType
 64738  
 64739  func init() {
 64740  	t["QueryMemoryOverhead"] = reflect.TypeOf((*QueryMemoryOverhead)(nil)).Elem()
 64741  }
 64742  
 64743  type QueryMemoryOverheadEx QueryMemoryOverheadExRequestType
 64744  
 64745  func init() {
 64746  	t["QueryMemoryOverheadEx"] = reflect.TypeOf((*QueryMemoryOverheadEx)(nil)).Elem()
 64747  }
 64748  
 64749  // The parameters of `HostSystem.QueryMemoryOverheadEx`.
 64750  type QueryMemoryOverheadExRequestType struct {
 64751  	This ManagedObjectReference `xml:"_this" json:"-"`
 64752  	// The configuration of the virtual machine.
 64753  	VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo" json:"vmConfigInfo"`
 64754  }
 64755  
 64756  func init() {
 64757  	t["QueryMemoryOverheadExRequestType"] = reflect.TypeOf((*QueryMemoryOverheadExRequestType)(nil)).Elem()
 64758  }
 64759  
 64760  type QueryMemoryOverheadExResponse struct {
 64761  	Returnval int64 `xml:"returnval" json:"returnval"`
 64762  }
 64763  
 64764  // The parameters of `HostSystem.QueryMemoryOverhead`.
 64765  type QueryMemoryOverheadRequestType struct {
 64766  	This ManagedObjectReference `xml:"_this" json:"-"`
 64767  	// The amount of virtual system RAM, in bytes. For an existing
 64768  	// virtual machine, this value can be found (in megabytes) as the memoryMB
 64769  	// property of the `VirtualHardware`.
 64770  	MemorySize int64 `xml:"memorySize" json:"memorySize"`
 64771  	// The amount of virtual video RAM, in bytes. For an existing
 64772  	// virtual machine on a host that supports advertising this property, this
 64773  	// value can be found (in kilobytes) as the videoRamSizeInKB property of the
 64774  	// `VirtualMachineVideoCard`. If this parameter is left unset, the
 64775  	// default video RAM size for virtual machines on this host is assumed.
 64776  	VideoRamSize int32 `xml:"videoRamSize,omitempty" json:"videoRamSize,omitempty"`
 64777  	// The number of virtual CPUs. For an existing virtual machine, this
 64778  	// value can be found as the numCPU property of the
 64779  	// `VirtualHardware`.
 64780  	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
 64781  }
 64782  
 64783  func init() {
 64784  	t["QueryMemoryOverheadRequestType"] = reflect.TypeOf((*QueryMemoryOverheadRequestType)(nil)).Elem()
 64785  }
 64786  
 64787  type QueryMemoryOverheadResponse struct {
 64788  	Returnval int64 `xml:"returnval" json:"returnval"`
 64789  }
 64790  
 64791  type QueryMigrationDependencies QueryMigrationDependenciesRequestType
 64792  
 64793  func init() {
 64794  	t["QueryMigrationDependencies"] = reflect.TypeOf((*QueryMigrationDependencies)(nil)).Elem()
 64795  }
 64796  
 64797  // The parameters of `IscsiManager.QueryMigrationDependencies`.
 64798  type QueryMigrationDependenciesRequestType struct {
 64799  	This ManagedObjectReference `xml:"_this" json:"-"`
 64800  	// List of Physical NICs to be migrated
 64801  	PnicDevice []string `xml:"pnicDevice" json:"pnicDevice"`
 64802  }
 64803  
 64804  func init() {
 64805  	t["QueryMigrationDependenciesRequestType"] = reflect.TypeOf((*QueryMigrationDependenciesRequestType)(nil)).Elem()
 64806  }
 64807  
 64808  type QueryMigrationDependenciesResponse struct {
 64809  	Returnval IscsiMigrationDependency `xml:"returnval" json:"returnval"`
 64810  }
 64811  
 64812  type QueryModules QueryModulesRequestType
 64813  
 64814  func init() {
 64815  	t["QueryModules"] = reflect.TypeOf((*QueryModules)(nil)).Elem()
 64816  }
 64817  
 64818  type QueryModulesRequestType struct {
 64819  	This ManagedObjectReference `xml:"_this" json:"-"`
 64820  }
 64821  
 64822  func init() {
 64823  	t["QueryModulesRequestType"] = reflect.TypeOf((*QueryModulesRequestType)(nil)).Elem()
 64824  }
 64825  
 64826  type QueryModulesResponse struct {
 64827  	Returnval []KernelModuleInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64828  }
 64829  
 64830  type QueryMonitoredEntities QueryMonitoredEntitiesRequestType
 64831  
 64832  func init() {
 64833  	t["QueryMonitoredEntities"] = reflect.TypeOf((*QueryMonitoredEntities)(nil)).Elem()
 64834  }
 64835  
 64836  // The parameters of `HealthUpdateManager.QueryMonitoredEntities`.
 64837  type QueryMonitoredEntitiesRequestType struct {
 64838  	This ManagedObjectReference `xml:"_this" json:"-"`
 64839  	// The provider id.
 64840  	ProviderId string `xml:"providerId" json:"providerId"`
 64841  }
 64842  
 64843  func init() {
 64844  	t["QueryMonitoredEntitiesRequestType"] = reflect.TypeOf((*QueryMonitoredEntitiesRequestType)(nil)).Elem()
 64845  }
 64846  
 64847  type QueryMonitoredEntitiesResponse struct {
 64848  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64849  }
 64850  
 64851  type QueryNFSUser QueryNFSUserRequestType
 64852  
 64853  func init() {
 64854  	t["QueryNFSUser"] = reflect.TypeOf((*QueryNFSUser)(nil)).Elem()
 64855  }
 64856  
 64857  type QueryNFSUserRequestType struct {
 64858  	This ManagedObjectReference `xml:"_this" json:"-"`
 64859  }
 64860  
 64861  func init() {
 64862  	t["QueryNFSUserRequestType"] = reflect.TypeOf((*QueryNFSUserRequestType)(nil)).Elem()
 64863  }
 64864  
 64865  type QueryNFSUserResponse struct {
 64866  	Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64867  }
 64868  
 64869  type QueryNetConfig QueryNetConfigRequestType
 64870  
 64871  func init() {
 64872  	t["QueryNetConfig"] = reflect.TypeOf((*QueryNetConfig)(nil)).Elem()
 64873  }
 64874  
 64875  // The parameters of `HostVirtualNicManager.QueryNetConfig`.
 64876  type QueryNetConfigRequestType struct {
 64877  	This ManagedObjectReference `xml:"_this" json:"-"`
 64878  	// The `HostVirtualNicManagerNicType_enum`
 64879  	NicType string `xml:"nicType" json:"nicType"`
 64880  }
 64881  
 64882  func init() {
 64883  	t["QueryNetConfigRequestType"] = reflect.TypeOf((*QueryNetConfigRequestType)(nil)).Elem()
 64884  }
 64885  
 64886  type QueryNetConfigResponse struct {
 64887  	Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64888  }
 64889  
 64890  type QueryNetworkHint QueryNetworkHintRequestType
 64891  
 64892  func init() {
 64893  	t["QueryNetworkHint"] = reflect.TypeOf((*QueryNetworkHint)(nil)).Elem()
 64894  }
 64895  
 64896  // The parameters of `HostNetworkSystem.QueryNetworkHint`.
 64897  type QueryNetworkHintRequestType struct {
 64898  	This   ManagedObjectReference `xml:"_this" json:"-"`
 64899  	Device []string               `xml:"device,omitempty" json:"device,omitempty"`
 64900  }
 64901  
 64902  func init() {
 64903  	t["QueryNetworkHintRequestType"] = reflect.TypeOf((*QueryNetworkHintRequestType)(nil)).Elem()
 64904  }
 64905  
 64906  type QueryNetworkHintResponse struct {
 64907  	Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64908  }
 64909  
 64910  type QueryObjectsOnPhysicalVsanDisk QueryObjectsOnPhysicalVsanDiskRequestType
 64911  
 64912  func init() {
 64913  	t["QueryObjectsOnPhysicalVsanDisk"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDisk)(nil)).Elem()
 64914  }
 64915  
 64916  // The parameters of `HostVsanInternalSystem.QueryObjectsOnPhysicalVsanDisk`.
 64917  type QueryObjectsOnPhysicalVsanDiskRequestType struct {
 64918  	This ManagedObjectReference `xml:"_this" json:"-"`
 64919  	// List of VSAN disk UUIDs.
 64920  	Disks []string `xml:"disks" json:"disks"`
 64921  }
 64922  
 64923  func init() {
 64924  	t["QueryObjectsOnPhysicalVsanDiskRequestType"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDiskRequestType)(nil)).Elem()
 64925  }
 64926  
 64927  type QueryObjectsOnPhysicalVsanDiskResponse struct {
 64928  	Returnval string `xml:"returnval" json:"returnval"`
 64929  }
 64930  
 64931  type QueryOptions QueryOptionsRequestType
 64932  
 64933  func init() {
 64934  	t["QueryOptions"] = reflect.TypeOf((*QueryOptions)(nil)).Elem()
 64935  }
 64936  
 64937  // The parameters of `OptionManager.QueryOptions`.
 64938  type QueryOptionsRequestType struct {
 64939  	This ManagedObjectReference `xml:"_this" json:"-"`
 64940  	Name string                 `xml:"name,omitempty" json:"name,omitempty"`
 64941  }
 64942  
 64943  func init() {
 64944  	t["QueryOptionsRequestType"] = reflect.TypeOf((*QueryOptionsRequestType)(nil)).Elem()
 64945  }
 64946  
 64947  type QueryOptionsResponse struct {
 64948  	Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 64949  }
 64950  
 64951  type QueryPartitionCreateDesc QueryPartitionCreateDescRequestType
 64952  
 64953  func init() {
 64954  	t["QueryPartitionCreateDesc"] = reflect.TypeOf((*QueryPartitionCreateDesc)(nil)).Elem()
 64955  }
 64956  
 64957  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateDesc`.
 64958  type QueryPartitionCreateDescRequestType struct {
 64959  	This           ManagedObjectReference `xml:"_this" json:"-"`
 64960  	DiskUuid       string                 `xml:"diskUuid" json:"diskUuid"`
 64961  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 64962  }
 64963  
 64964  func init() {
 64965  	t["QueryPartitionCreateDescRequestType"] = reflect.TypeOf((*QueryPartitionCreateDescRequestType)(nil)).Elem()
 64966  }
 64967  
 64968  type QueryPartitionCreateDescResponse struct {
 64969  	Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval" json:"returnval"`
 64970  }
 64971  
 64972  type QueryPartitionCreateOptions QueryPartitionCreateOptionsRequestType
 64973  
 64974  func init() {
 64975  	t["QueryPartitionCreateOptions"] = reflect.TypeOf((*QueryPartitionCreateOptions)(nil)).Elem()
 64976  }
 64977  
 64978  // The parameters of `HostDiagnosticSystem.QueryPartitionCreateOptions`.
 64979  type QueryPartitionCreateOptionsRequestType struct {
 64980  	This           ManagedObjectReference `xml:"_this" json:"-"`
 64981  	StorageType    string                 `xml:"storageType" json:"storageType"`
 64982  	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
 64983  }
 64984  
 64985  func init() {
 64986  	t["QueryPartitionCreateOptionsRequestType"] = reflect.TypeOf((*QueryPartitionCreateOptionsRequestType)(nil)).Elem()
 64987  }
 64988  
 64989  type QueryPartitionCreateOptionsResponse struct {
 64990  	Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 64991  }
 64992  
 64993  type QueryPathSelectionPolicyOptions QueryPathSelectionPolicyOptionsRequestType
 64994  
 64995  func init() {
 64996  	t["QueryPathSelectionPolicyOptions"] = reflect.TypeOf((*QueryPathSelectionPolicyOptions)(nil)).Elem()
 64997  }
 64998  
 64999  type QueryPathSelectionPolicyOptionsRequestType struct {
 65000  	This ManagedObjectReference `xml:"_this" json:"-"`
 65001  }
 65002  
 65003  func init() {
 65004  	t["QueryPathSelectionPolicyOptionsRequestType"] = reflect.TypeOf((*QueryPathSelectionPolicyOptionsRequestType)(nil)).Elem()
 65005  }
 65006  
 65007  type QueryPathSelectionPolicyOptionsResponse struct {
 65008  	Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65009  }
 65010  
 65011  type QueryPerf QueryPerfRequestType
 65012  
 65013  func init() {
 65014  	t["QueryPerf"] = reflect.TypeOf((*QueryPerf)(nil)).Elem()
 65015  }
 65016  
 65017  type QueryPerfComposite QueryPerfCompositeRequestType
 65018  
 65019  func init() {
 65020  	t["QueryPerfComposite"] = reflect.TypeOf((*QueryPerfComposite)(nil)).Elem()
 65021  }
 65022  
 65023  // The parameters of `PerformanceManager.QueryPerfComposite`.
 65024  type QueryPerfCompositeRequestType struct {
 65025  	This ManagedObjectReference `xml:"_this" json:"-"`
 65026  	// A `PerfQuerySpec` object specifying the query
 65027  	// parameters. This `PerfQuerySpec` object specifies a
 65028  	// managed object for which composite statistics should be retrieved, with
 65029  	// specific optional criteria for filtering the results.
 65030  	//
 65031  	// This `PerfQuerySpec` requires a valid `PerfQuerySpec.metricId` property that specifies a metric
 65032  	// that is available, in common, to the entity and its children. If the
 65033  	// specified metricId is not available to the entity and its children, it is
 65034  	// ignored.
 65035  	QuerySpec PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 65036  }
 65037  
 65038  func init() {
 65039  	t["QueryPerfCompositeRequestType"] = reflect.TypeOf((*QueryPerfCompositeRequestType)(nil)).Elem()
 65040  }
 65041  
 65042  type QueryPerfCompositeResponse struct {
 65043  	Returnval PerfCompositeMetric `xml:"returnval" json:"returnval"`
 65044  }
 65045  
 65046  type QueryPerfCounter QueryPerfCounterRequestType
 65047  
 65048  func init() {
 65049  	t["QueryPerfCounter"] = reflect.TypeOf((*QueryPerfCounter)(nil)).Elem()
 65050  }
 65051  
 65052  type QueryPerfCounterByLevel QueryPerfCounterByLevelRequestType
 65053  
 65054  func init() {
 65055  	t["QueryPerfCounterByLevel"] = reflect.TypeOf((*QueryPerfCounterByLevel)(nil)).Elem()
 65056  }
 65057  
 65058  // The parameters of `PerformanceManager.QueryPerfCounterByLevel`.
 65059  type QueryPerfCounterByLevelRequestType struct {
 65060  	This ManagedObjectReference `xml:"_this" json:"-"`
 65061  	// A number between 1 and 4 that specifies the collection level.
 65062  	Level int32 `xml:"level" json:"level"`
 65063  }
 65064  
 65065  func init() {
 65066  	t["QueryPerfCounterByLevelRequestType"] = reflect.TypeOf((*QueryPerfCounterByLevelRequestType)(nil)).Elem()
 65067  }
 65068  
 65069  type QueryPerfCounterByLevelResponse struct {
 65070  	Returnval []PerfCounterInfo `xml:"returnval" json:"returnval"`
 65071  }
 65072  
 65073  // The parameters of `PerformanceManager.QueryPerfCounter`.
 65074  type QueryPerfCounterRequestType struct {
 65075  	This ManagedObjectReference `xml:"_this" json:"-"`
 65076  	// An array of one or more `counterIds` representing performance counters for which information is
 65077  	// being retrieved.
 65078  	CounterId []int32 `xml:"counterId" json:"counterId"`
 65079  }
 65080  
 65081  func init() {
 65082  	t["QueryPerfCounterRequestType"] = reflect.TypeOf((*QueryPerfCounterRequestType)(nil)).Elem()
 65083  }
 65084  
 65085  type QueryPerfCounterResponse struct {
 65086  	Returnval []PerfCounterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65087  }
 65088  
 65089  type QueryPerfProviderSummary QueryPerfProviderSummaryRequestType
 65090  
 65091  func init() {
 65092  	t["QueryPerfProviderSummary"] = reflect.TypeOf((*QueryPerfProviderSummary)(nil)).Elem()
 65093  }
 65094  
 65095  // The parameters of `PerformanceManager.QueryPerfProviderSummary`.
 65096  type QueryPerfProviderSummaryRequestType struct {
 65097  	This ManagedObjectReference `xml:"_this" json:"-"`
 65098  	// Reference to a managed object that provides performance data. If the
 65099  	// entity specified by managed object reference is not a performance
 65100  	// provider, an "InvalidArgument" exception is thrown.
 65101  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 65102  }
 65103  
 65104  func init() {
 65105  	t["QueryPerfProviderSummaryRequestType"] = reflect.TypeOf((*QueryPerfProviderSummaryRequestType)(nil)).Elem()
 65106  }
 65107  
 65108  type QueryPerfProviderSummaryResponse struct {
 65109  	Returnval PerfProviderSummary `xml:"returnval" json:"returnval"`
 65110  }
 65111  
 65112  // The parameters of `PerformanceManager.QueryPerf`.
 65113  type QueryPerfRequestType struct {
 65114  	This ManagedObjectReference `xml:"_this" json:"-"`
 65115  	// An array of `PerfQuerySpec` objects. Each `PerfQuerySpec` object specifies a managed object reference
 65116  	// for an entity, plus optional criteria for filtering results. Only metrics
 65117  	// for entities that can be resolved and that are valid *performance providers* are returned in
 65118  	// any result.
 65119  	//
 65120  	// Each `PerfQuerySpec` object in the array
 65121  	// submitted in this operation can query for different metrics. Or, select
 65122  	// all types of statistics for a single managed entity.
 65123  	//
 65124  	// Raw data feed workaround: Normally, QueryPerf will return performance
 65125  	// statistics stored in the VirtualCenter database. However this may not be
 65126  	// suitable for certain applications. For example, applications that treat
 65127  	// VirtualCenter as a raw data source, query for performance statistics
 65128  	// regularly (say every 5 minutes) and extract the data for external
 65129  	// archival and reporting. Such applications need better query performance.
 65130  	// These applications should query statistics using QueryPerf for the base
 65131  	// historical interval (5 minutes by default) having a start and end time
 65132  	// range within 30 minutes from the current VirtualCenter server system
 65133  	// time. These QueryPerf calls will have better performance than other
 65134  	// QueryPerf calls.
 65135  	QuerySpec []PerfQuerySpec `xml:"querySpec" json:"querySpec"`
 65136  }
 65137  
 65138  func init() {
 65139  	t["QueryPerfRequestType"] = reflect.TypeOf((*QueryPerfRequestType)(nil)).Elem()
 65140  }
 65141  
 65142  type QueryPerfResponse struct {
 65143  	Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 65144  }
 65145  
 65146  type QueryPhysicalVsanDisks QueryPhysicalVsanDisksRequestType
 65147  
 65148  func init() {
 65149  	t["QueryPhysicalVsanDisks"] = reflect.TypeOf((*QueryPhysicalVsanDisks)(nil)).Elem()
 65150  }
 65151  
 65152  // The parameters of `HostVsanInternalSystem.QueryPhysicalVsanDisks`.
 65153  type QueryPhysicalVsanDisksRequestType struct {
 65154  	This ManagedObjectReference `xml:"_this" json:"-"`
 65155  	// List of properties to gather. Not specifying a list will
 65156  	// fetch all properties.
 65157  	Props []string `xml:"props,omitempty" json:"props,omitempty"`
 65158  }
 65159  
 65160  func init() {
 65161  	t["QueryPhysicalVsanDisksRequestType"] = reflect.TypeOf((*QueryPhysicalVsanDisksRequestType)(nil)).Elem()
 65162  }
 65163  
 65164  type QueryPhysicalVsanDisksResponse struct {
 65165  	Returnval string `xml:"returnval" json:"returnval"`
 65166  }
 65167  
 65168  type QueryPnicStatus QueryPnicStatusRequestType
 65169  
 65170  func init() {
 65171  	t["QueryPnicStatus"] = reflect.TypeOf((*QueryPnicStatus)(nil)).Elem()
 65172  }
 65173  
 65174  // The parameters of `IscsiManager.QueryPnicStatus`.
 65175  type QueryPnicStatusRequestType struct {
 65176  	This ManagedObjectReference `xml:"_this" json:"-"`
 65177  	// Physical NIC device name to check the status for
 65178  	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
 65179  }
 65180  
 65181  func init() {
 65182  	t["QueryPnicStatusRequestType"] = reflect.TypeOf((*QueryPnicStatusRequestType)(nil)).Elem()
 65183  }
 65184  
 65185  type QueryPnicStatusResponse struct {
 65186  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 65187  }
 65188  
 65189  type QueryPolicyMetadata QueryPolicyMetadataRequestType
 65190  
 65191  func init() {
 65192  	t["QueryPolicyMetadata"] = reflect.TypeOf((*QueryPolicyMetadata)(nil)).Elem()
 65193  }
 65194  
 65195  // The parameters of `ProfileManager.QueryPolicyMetadata`.
 65196  type QueryPolicyMetadataRequestType struct {
 65197  	This ManagedObjectReference `xml:"_this" json:"-"`
 65198  	// Retrieve metadata for the specified policyNames.
 65199  	// If policyName is not specified, metadata for all policies will be returned.
 65200  	PolicyName []string `xml:"policyName,omitempty" json:"policyName,omitempty"`
 65201  	// Base profile whose context needs to be used during the operation
 65202  	//
 65203  	// Refers instance of `Profile`.
 65204  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 65205  }
 65206  
 65207  func init() {
 65208  	t["QueryPolicyMetadataRequestType"] = reflect.TypeOf((*QueryPolicyMetadataRequestType)(nil)).Elem()
 65209  }
 65210  
 65211  type QueryPolicyMetadataResponse struct {
 65212  	Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65213  }
 65214  
 65215  type QueryProductLockerLocation QueryProductLockerLocationRequestType
 65216  
 65217  func init() {
 65218  	t["QueryProductLockerLocation"] = reflect.TypeOf((*QueryProductLockerLocation)(nil)).Elem()
 65219  }
 65220  
 65221  type QueryProductLockerLocationRequestType struct {
 65222  	This ManagedObjectReference `xml:"_this" json:"-"`
 65223  }
 65224  
 65225  func init() {
 65226  	t["QueryProductLockerLocationRequestType"] = reflect.TypeOf((*QueryProductLockerLocationRequestType)(nil)).Elem()
 65227  }
 65228  
 65229  type QueryProductLockerLocationResponse struct {
 65230  	Returnval string `xml:"returnval" json:"returnval"`
 65231  }
 65232  
 65233  type QueryProfileStructure QueryProfileStructureRequestType
 65234  
 65235  func init() {
 65236  	t["QueryProfileStructure"] = reflect.TypeOf((*QueryProfileStructure)(nil)).Elem()
 65237  }
 65238  
 65239  // The parameters of `HostProfileManager.QueryProfileStructure`.
 65240  type QueryProfileStructureRequestType struct {
 65241  	This ManagedObjectReference `xml:"_this" json:"-"`
 65242  	// Base profile whose context needs to be used during the operation
 65243  	//
 65244  	// Refers instance of `Profile`.
 65245  	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
 65246  }
 65247  
 65248  func init() {
 65249  	t["QueryProfileStructureRequestType"] = reflect.TypeOf((*QueryProfileStructureRequestType)(nil)).Elem()
 65250  }
 65251  
 65252  type QueryProfileStructureResponse struct {
 65253  	Returnval ProfileProfileStructure `xml:"returnval" json:"returnval"`
 65254  }
 65255  
 65256  type QueryProviderList QueryProviderListRequestType
 65257  
 65258  func init() {
 65259  	t["QueryProviderList"] = reflect.TypeOf((*QueryProviderList)(nil)).Elem()
 65260  }
 65261  
 65262  type QueryProviderListRequestType struct {
 65263  	This ManagedObjectReference `xml:"_this" json:"-"`
 65264  }
 65265  
 65266  func init() {
 65267  	t["QueryProviderListRequestType"] = reflect.TypeOf((*QueryProviderListRequestType)(nil)).Elem()
 65268  }
 65269  
 65270  type QueryProviderListResponse struct {
 65271  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65272  }
 65273  
 65274  type QueryProviderName QueryProviderNameRequestType
 65275  
 65276  func init() {
 65277  	t["QueryProviderName"] = reflect.TypeOf((*QueryProviderName)(nil)).Elem()
 65278  }
 65279  
 65280  // The parameters of `HealthUpdateManager.QueryProviderName`.
 65281  type QueryProviderNameRequestType struct {
 65282  	This ManagedObjectReference `xml:"_this" json:"-"`
 65283  	Id   string                 `xml:"id" json:"id"`
 65284  }
 65285  
 65286  func init() {
 65287  	t["QueryProviderNameRequestType"] = reflect.TypeOf((*QueryProviderNameRequestType)(nil)).Elem()
 65288  }
 65289  
 65290  type QueryProviderNameResponse struct {
 65291  	Returnval string `xml:"returnval" json:"returnval"`
 65292  }
 65293  
 65294  type QueryResourceConfigOption QueryResourceConfigOptionRequestType
 65295  
 65296  func init() {
 65297  	t["QueryResourceConfigOption"] = reflect.TypeOf((*QueryResourceConfigOption)(nil)).Elem()
 65298  }
 65299  
 65300  type QueryResourceConfigOptionRequestType struct {
 65301  	This ManagedObjectReference `xml:"_this" json:"-"`
 65302  }
 65303  
 65304  func init() {
 65305  	t["QueryResourceConfigOptionRequestType"] = reflect.TypeOf((*QueryResourceConfigOptionRequestType)(nil)).Elem()
 65306  }
 65307  
 65308  type QueryResourceConfigOptionResponse struct {
 65309  	Returnval ResourceConfigOption `xml:"returnval" json:"returnval"`
 65310  }
 65311  
 65312  type QueryServiceList QueryServiceListRequestType
 65313  
 65314  func init() {
 65315  	t["QueryServiceList"] = reflect.TypeOf((*QueryServiceList)(nil)).Elem()
 65316  }
 65317  
 65318  // The parameters of `ServiceManager.QueryServiceList`.
 65319  type QueryServiceListRequestType struct {
 65320  	This ManagedObjectReference `xml:"_this" json:"-"`
 65321  	// The name of the service to be located.
 65322  	ServiceName string `xml:"serviceName,omitempty" json:"serviceName,omitempty"`
 65323  	// The list of location information that needs to match for a service to be
 65324  	// considered a match.
 65325  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 65326  }
 65327  
 65328  func init() {
 65329  	t["QueryServiceListRequestType"] = reflect.TypeOf((*QueryServiceListRequestType)(nil)).Elem()
 65330  }
 65331  
 65332  type QueryServiceListResponse struct {
 65333  	Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65334  }
 65335  
 65336  type QueryStorageArrayTypePolicyOptions QueryStorageArrayTypePolicyOptionsRequestType
 65337  
 65338  func init() {
 65339  	t["QueryStorageArrayTypePolicyOptions"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptions)(nil)).Elem()
 65340  }
 65341  
 65342  type QueryStorageArrayTypePolicyOptionsRequestType struct {
 65343  	This ManagedObjectReference `xml:"_this" json:"-"`
 65344  }
 65345  
 65346  func init() {
 65347  	t["QueryStorageArrayTypePolicyOptionsRequestType"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptionsRequestType)(nil)).Elem()
 65348  }
 65349  
 65350  type QueryStorageArrayTypePolicyOptionsResponse struct {
 65351  	Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65352  }
 65353  
 65354  type QuerySupportedFeatures QuerySupportedFeaturesRequestType
 65355  
 65356  func init() {
 65357  	t["QuerySupportedFeatures"] = reflect.TypeOf((*QuerySupportedFeatures)(nil)).Elem()
 65358  }
 65359  
 65360  // The parameters of `LicenseManager.QuerySupportedFeatures`.
 65361  type QuerySupportedFeaturesRequestType struct {
 65362  	This ManagedObjectReference `xml:"_this" json:"-"`
 65363  	// Use the license source of the specified host.
 65364  	//
 65365  	// Refers instance of `HostSystem`.
 65366  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65367  }
 65368  
 65369  func init() {
 65370  	t["QuerySupportedFeaturesRequestType"] = reflect.TypeOf((*QuerySupportedFeaturesRequestType)(nil)).Elem()
 65371  }
 65372  
 65373  type QuerySupportedFeaturesResponse struct {
 65374  	Returnval []LicenseFeatureInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65375  }
 65376  
 65377  type QuerySupportedNetworkOffloadSpec QuerySupportedNetworkOffloadSpecRequestType
 65378  
 65379  func init() {
 65380  	t["QuerySupportedNetworkOffloadSpec"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpec)(nil)).Elem()
 65381  }
 65382  
 65383  // The parameters of `DistributedVirtualSwitchManager.QuerySupportedNetworkOffloadSpec`.
 65384  type QuerySupportedNetworkOffloadSpecRequestType struct {
 65385  	This ManagedObjectReference `xml:"_this" json:"-"`
 65386  	// The productSpec of a
 65387  	// `DistributedVirtualSwitch`.
 65388  	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
 65389  }
 65390  
 65391  func init() {
 65392  	t["QuerySupportedNetworkOffloadSpecRequestType"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpecRequestType)(nil)).Elem()
 65393  	minAPIVersionForType["QuerySupportedNetworkOffloadSpecRequestType"] = "8.0.0.1"
 65394  }
 65395  
 65396  type QuerySupportedNetworkOffloadSpecResponse struct {
 65397  	Returnval []DistributedVirtualSwitchNetworkOffloadSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65398  }
 65399  
 65400  type QuerySyncingVsanObjects QuerySyncingVsanObjectsRequestType
 65401  
 65402  func init() {
 65403  	t["QuerySyncingVsanObjects"] = reflect.TypeOf((*QuerySyncingVsanObjects)(nil)).Elem()
 65404  }
 65405  
 65406  // The parameters of `HostVsanInternalSystem.QuerySyncingVsanObjects`.
 65407  type QuerySyncingVsanObjectsRequestType struct {
 65408  	This ManagedObjectReference `xml:"_this" json:"-"`
 65409  	// List of VSAN/DOM object UUIDs to restrict search to.
 65410  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 65411  }
 65412  
 65413  func init() {
 65414  	t["QuerySyncingVsanObjectsRequestType"] = reflect.TypeOf((*QuerySyncingVsanObjectsRequestType)(nil)).Elem()
 65415  }
 65416  
 65417  type QuerySyncingVsanObjectsResponse struct {
 65418  	Returnval string `xml:"returnval" json:"returnval"`
 65419  }
 65420  
 65421  type QuerySystemUsers QuerySystemUsersRequestType
 65422  
 65423  func init() {
 65424  	t["QuerySystemUsers"] = reflect.TypeOf((*QuerySystemUsers)(nil)).Elem()
 65425  }
 65426  
 65427  type QuerySystemUsersRequestType struct {
 65428  	This ManagedObjectReference `xml:"_this" json:"-"`
 65429  }
 65430  
 65431  func init() {
 65432  	t["QuerySystemUsersRequestType"] = reflect.TypeOf((*QuerySystemUsersRequestType)(nil)).Elem()
 65433  }
 65434  
 65435  type QuerySystemUsersResponse struct {
 65436  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65437  }
 65438  
 65439  type QueryTargetCapabilities QueryTargetCapabilitiesRequestType
 65440  
 65441  func init() {
 65442  	t["QueryTargetCapabilities"] = reflect.TypeOf((*QueryTargetCapabilities)(nil)).Elem()
 65443  }
 65444  
 65445  // The parameters of `EnvironmentBrowser.QueryTargetCapabilities`.
 65446  type QueryTargetCapabilitiesRequestType struct {
 65447  	This ManagedObjectReference `xml:"_this" json:"-"`
 65448  	// If specified, the host whose capabilities are requested.
 65449  	//
 65450  	// Refers instance of `HostSystem`.
 65451  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 65452  }
 65453  
 65454  func init() {
 65455  	t["QueryTargetCapabilitiesRequestType"] = reflect.TypeOf((*QueryTargetCapabilitiesRequestType)(nil)).Elem()
 65456  }
 65457  
 65458  type QueryTargetCapabilitiesResponse struct {
 65459  	Returnval *HostCapability `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65460  }
 65461  
 65462  type QueryTpmAttestationReport QueryTpmAttestationReportRequestType
 65463  
 65464  func init() {
 65465  	t["QueryTpmAttestationReport"] = reflect.TypeOf((*QueryTpmAttestationReport)(nil)).Elem()
 65466  }
 65467  
 65468  type QueryTpmAttestationReportRequestType struct {
 65469  	This ManagedObjectReference `xml:"_this" json:"-"`
 65470  }
 65471  
 65472  func init() {
 65473  	t["QueryTpmAttestationReportRequestType"] = reflect.TypeOf((*QueryTpmAttestationReportRequestType)(nil)).Elem()
 65474  }
 65475  
 65476  type QueryTpmAttestationReportResponse struct {
 65477  	Returnval *HostTpmAttestationReport `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65478  }
 65479  
 65480  type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType
 65481  
 65482  func init() {
 65483  	t["QueryUnmonitoredHosts"] = reflect.TypeOf((*QueryUnmonitoredHosts)(nil)).Elem()
 65484  }
 65485  
 65486  // The parameters of `HealthUpdateManager.QueryUnmonitoredHosts`.
 65487  type QueryUnmonitoredHostsRequestType struct {
 65488  	This ManagedObjectReference `xml:"_this" json:"-"`
 65489  	// The provider id.
 65490  	ProviderId string `xml:"providerId" json:"providerId"`
 65491  	// The cluster.
 65492  	//
 65493  	// Refers instance of `ClusterComputeResource`.
 65494  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 65495  }
 65496  
 65497  func init() {
 65498  	t["QueryUnmonitoredHostsRequestType"] = reflect.TypeOf((*QueryUnmonitoredHostsRequestType)(nil)).Elem()
 65499  }
 65500  
 65501  type QueryUnmonitoredHostsResponse struct {
 65502  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65503  }
 65504  
 65505  type QueryUnownedFiles QueryUnownedFilesRequestType
 65506  
 65507  func init() {
 65508  	t["QueryUnownedFiles"] = reflect.TypeOf((*QueryUnownedFiles)(nil)).Elem()
 65509  }
 65510  
 65511  type QueryUnownedFilesRequestType struct {
 65512  	This ManagedObjectReference `xml:"_this" json:"-"`
 65513  }
 65514  
 65515  func init() {
 65516  	t["QueryUnownedFilesRequestType"] = reflect.TypeOf((*QueryUnownedFilesRequestType)(nil)).Elem()
 65517  }
 65518  
 65519  type QueryUnownedFilesResponse struct {
 65520  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65521  }
 65522  
 65523  type QueryUnresolvedVmfsVolume QueryUnresolvedVmfsVolumeRequestType
 65524  
 65525  func init() {
 65526  	t["QueryUnresolvedVmfsVolume"] = reflect.TypeOf((*QueryUnresolvedVmfsVolume)(nil)).Elem()
 65527  }
 65528  
 65529  type QueryUnresolvedVmfsVolumeRequestType struct {
 65530  	This ManagedObjectReference `xml:"_this" json:"-"`
 65531  }
 65532  
 65533  func init() {
 65534  	t["QueryUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 65535  }
 65536  
 65537  type QueryUnresolvedVmfsVolumeResponse struct {
 65538  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65539  }
 65540  
 65541  type QueryUnresolvedVmfsVolumes QueryUnresolvedVmfsVolumesRequestType
 65542  
 65543  func init() {
 65544  	t["QueryUnresolvedVmfsVolumes"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumes)(nil)).Elem()
 65545  }
 65546  
 65547  type QueryUnresolvedVmfsVolumesRequestType struct {
 65548  	This ManagedObjectReference `xml:"_this" json:"-"`
 65549  }
 65550  
 65551  func init() {
 65552  	t["QueryUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 65553  }
 65554  
 65555  type QueryUnresolvedVmfsVolumesResponse struct {
 65556  	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65557  }
 65558  
 65559  type QueryUsedVlanIdInDvs QueryUsedVlanIdInDvsRequestType
 65560  
 65561  func init() {
 65562  	t["QueryUsedVlanIdInDvs"] = reflect.TypeOf((*QueryUsedVlanIdInDvs)(nil)).Elem()
 65563  }
 65564  
 65565  type QueryUsedVlanIdInDvsRequestType struct {
 65566  	This ManagedObjectReference `xml:"_this" json:"-"`
 65567  }
 65568  
 65569  func init() {
 65570  	t["QueryUsedVlanIdInDvsRequestType"] = reflect.TypeOf((*QueryUsedVlanIdInDvsRequestType)(nil)).Elem()
 65571  }
 65572  
 65573  type QueryUsedVlanIdInDvsResponse struct {
 65574  	Returnval []int32 `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65575  }
 65576  
 65577  type QueryVMotionCompatibility QueryVMotionCompatibilityRequestType
 65578  
 65579  func init() {
 65580  	t["QueryVMotionCompatibility"] = reflect.TypeOf((*QueryVMotionCompatibility)(nil)).Elem()
 65581  }
 65582  
 65583  // The parameters of `VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task`.
 65584  type QueryVMotionCompatibilityExRequestType struct {
 65585  	This ManagedObjectReference `xml:"_this" json:"-"`
 65586  	// The set of virtual machines to analyze for compatibility. All
 65587  	// virtual machines are assumed to be powered-on for the purposes of
 65588  	// this operation.
 65589  	//
 65590  	// Refers instances of `VirtualMachine`.
 65591  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 65592  	// The set of hosts to analyze for compatibility. All hosts
 65593  	// are assumed to be connected and not in maintenance mode for the
 65594  	// purposes of this operation.
 65595  	//
 65596  	// Refers instances of `HostSystem`.
 65597  	Host []ManagedObjectReference `xml:"host" json:"host"`
 65598  }
 65599  
 65600  func init() {
 65601  	t["QueryVMotionCompatibilityExRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityExRequestType)(nil)).Elem()
 65602  }
 65603  
 65604  type QueryVMotionCompatibilityEx_Task QueryVMotionCompatibilityExRequestType
 65605  
 65606  func init() {
 65607  	t["QueryVMotionCompatibilityEx_Task"] = reflect.TypeOf((*QueryVMotionCompatibilityEx_Task)(nil)).Elem()
 65608  }
 65609  
 65610  type QueryVMotionCompatibilityEx_TaskResponse struct {
 65611  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 65612  }
 65613  
 65614  // The parameters of `ServiceInstance.QueryVMotionCompatibility`.
 65615  type QueryVMotionCompatibilityRequestType struct {
 65616  	This ManagedObjectReference `xml:"_this" json:"-"`
 65617  	// The virtual machine that is the designated VMotion candidate.
 65618  	//
 65619  	// Refers instance of `VirtualMachine`.
 65620  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 65621  	// The group of hosts to analyze for compatibility.
 65622  	//
 65623  	// Refers instances of `HostSystem`.
 65624  	Host []ManagedObjectReference `xml:"host" json:"host"`
 65625  	// The set of compatibility types to investigate.
 65626  	// Each is a string chosen from VMotionCompatibilityType. If this
 65627  	// argument is not set, then all compatibility types are
 65628  	// investigated.
 65629  	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
 65630  }
 65631  
 65632  func init() {
 65633  	t["QueryVMotionCompatibilityRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityRequestType)(nil)).Elem()
 65634  }
 65635  
 65636  type QueryVMotionCompatibilityResponse struct {
 65637  	Returnval []HostVMotionCompatibility `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65638  }
 65639  
 65640  type QueryVirtualDiskFragmentation QueryVirtualDiskFragmentationRequestType
 65641  
 65642  func init() {
 65643  	t["QueryVirtualDiskFragmentation"] = reflect.TypeOf((*QueryVirtualDiskFragmentation)(nil)).Elem()
 65644  }
 65645  
 65646  // The parameters of `VirtualDiskManager.QueryVirtualDiskFragmentation`.
 65647  type QueryVirtualDiskFragmentationRequestType struct {
 65648  	This ManagedObjectReference `xml:"_this" json:"-"`
 65649  	// The name of the disk, either a datastore path or a URL
 65650  	// referring to the virtual disk for which to return the
 65651  	// percentage of fragmentation.
 65652  	Name string `xml:"name" json:"name"`
 65653  	// If <code>name</code> is a datastore path, the datacenter for
 65654  	// that datastore path. Not needed when invoked directly on ESX.
 65655  	// If not specified on a call to VirtualCenter,
 65656  	// <code>name</code> must be a URL.
 65657  	//
 65658  	// Refers instance of `Datacenter`.
 65659  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 65660  }
 65661  
 65662  func init() {
 65663  	t["QueryVirtualDiskFragmentationRequestType"] = reflect.TypeOf((*QueryVirtualDiskFragmentationRequestType)(nil)).Elem()
 65664  }
 65665  
 65666  type QueryVirtualDiskFragmentationResponse struct {
 65667  	Returnval int32 `xml:"returnval" json:"returnval"`
 65668  }
 65669  
 65670  type QueryVirtualDiskGeometry QueryVirtualDiskGeometryRequestType
 65671  
 65672  func init() {
 65673  	t["QueryVirtualDiskGeometry"] = reflect.TypeOf((*QueryVirtualDiskGeometry)(nil)).Elem()
 65674  }
 65675  
 65676  // The parameters of `VirtualDiskManager.QueryVirtualDiskGeometry`.
 65677  type QueryVirtualDiskGeometryRequestType struct {
 65678  	This ManagedObjectReference `xml:"_this" json:"-"`
 65679  	// The name of the disk, either a datastore path or a URL
 65680  	// referring to the virtual disk from which to get geometry information.
 65681  	Name string `xml:"name" json:"name"`
 65682  	// If <code>name</code> is a datastore path, the datacenter for
 65683  	// that datastore path. Not needed when invoked directly on ESX.
 65684  	// If not specified on a call to VirtualCenter,
 65685  	// <code>name</code> must be a URL.
 65686  	//
 65687  	// Refers instance of `Datacenter`.
 65688  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 65689  }
 65690  
 65691  func init() {
 65692  	t["QueryVirtualDiskGeometryRequestType"] = reflect.TypeOf((*QueryVirtualDiskGeometryRequestType)(nil)).Elem()
 65693  }
 65694  
 65695  type QueryVirtualDiskGeometryResponse struct {
 65696  	Returnval HostDiskDimensionsChs `xml:"returnval" json:"returnval"`
 65697  }
 65698  
 65699  type QueryVirtualDiskUuid QueryVirtualDiskUuidRequestType
 65700  
 65701  func init() {
 65702  	t["QueryVirtualDiskUuid"] = reflect.TypeOf((*QueryVirtualDiskUuid)(nil)).Elem()
 65703  }
 65704  
 65705  type QueryVirtualDiskUuidEx QueryVirtualDiskUuidExRequestType
 65706  
 65707  func init() {
 65708  	t["QueryVirtualDiskUuidEx"] = reflect.TypeOf((*QueryVirtualDiskUuidEx)(nil)).Elem()
 65709  }
 65710  
 65711  // The parameters of `VcenterVStorageObjectManager.QueryVirtualDiskUuidEx`.
 65712  type QueryVirtualDiskUuidExRequestType struct {
 65713  	This ManagedObjectReference `xml:"_this" json:"-"`
 65714  	// The name of the disk, either a datastore path or a URL
 65715  	// referring to the virtual disk whose uuid for the DDB entry needs to be queried.
 65716  	// A datastore path has the form
 65717  	// > \[_datastore_\] _path_
 65718  	//
 65719  	// where
 65720  	//   - _datastore_ is the datastore name.
 65721  	//   - _path_ is a slash-delimited path from the root of the datastore.
 65722  	//
 65723  	// An example datastore path is "\[storage\] path/to/file.extension".
 65724  	Name string `xml:"name" json:"name"`
 65725  	// If <code>name</code> is a datastore path, the datacenter for
 65726  	// that datastore path is mandatory. Not needed when invoked directly on ESX.
 65727  	// If not specified on a call from VirtualCenter,
 65728  	// <code>name</code> must be a URL.
 65729  	//
 65730  	// Refers instance of `Datacenter`.
 65731  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 65732  }
 65733  
 65734  func init() {
 65735  	t["QueryVirtualDiskUuidExRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidExRequestType)(nil)).Elem()
 65736  	minAPIVersionForType["QueryVirtualDiskUuidExRequestType"] = "8.0.3.0"
 65737  }
 65738  
 65739  type QueryVirtualDiskUuidExResponse struct {
 65740  	Returnval string `xml:"returnval" json:"returnval"`
 65741  }
 65742  
 65743  // The parameters of `VirtualDiskManager.QueryVirtualDiskUuid`.
 65744  type QueryVirtualDiskUuidRequestType struct {
 65745  	This ManagedObjectReference `xml:"_this" json:"-"`
 65746  	// The name of the disk, either a datastore path or a URL
 65747  	// referring to the virtual disk from which to get SCSI inquiry
 65748  	// page 0x83 data.
 65749  	Name string `xml:"name" json:"name"`
 65750  	// If <code>name</code> is a datastore path, the datacenter for
 65751  	// that datastore path. Not needed when invoked directly on ESX.
 65752  	// If not specified on a call to VirtualCenter,
 65753  	// <code>name</code> must be a URL.
 65754  	//
 65755  	// Refers instance of `Datacenter`.
 65756  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 65757  }
 65758  
 65759  func init() {
 65760  	t["QueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidRequestType)(nil)).Elem()
 65761  }
 65762  
 65763  type QueryVirtualDiskUuidResponse struct {
 65764  	Returnval string `xml:"returnval" json:"returnval"`
 65765  }
 65766  
 65767  type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType
 65768  
 65769  func init() {
 65770  	t["QueryVmfsConfigOption"] = reflect.TypeOf((*QueryVmfsConfigOption)(nil)).Elem()
 65771  }
 65772  
 65773  type QueryVmfsConfigOptionRequestType struct {
 65774  	This ManagedObjectReference `xml:"_this" json:"-"`
 65775  }
 65776  
 65777  func init() {
 65778  	t["QueryVmfsConfigOptionRequestType"] = reflect.TypeOf((*QueryVmfsConfigOptionRequestType)(nil)).Elem()
 65779  }
 65780  
 65781  type QueryVmfsConfigOptionResponse struct {
 65782  	Returnval []VmfsConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65783  }
 65784  
 65785  type QueryVmfsDatastoreCreateOptions QueryVmfsDatastoreCreateOptionsRequestType
 65786  
 65787  func init() {
 65788  	t["QueryVmfsDatastoreCreateOptions"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptions)(nil)).Elem()
 65789  }
 65790  
 65791  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreCreateOptions`.
 65792  type QueryVmfsDatastoreCreateOptionsRequestType struct {
 65793  	This ManagedObjectReference `xml:"_this" json:"-"`
 65794  	// The devicePath of the disk on which datastore creation
 65795  	// options are generated.
 65796  	DevicePath string `xml:"devicePath" json:"devicePath"`
 65797  	// major version of VMFS to be used for
 65798  	// formatting the datastore. If this
 65799  	// parameter is not specified, then the highest
 65800  	// *supported VMFS major version* for the host
 65801  	// is used.
 65802  	VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty" json:"vmfsMajorVersion,omitempty"`
 65803  }
 65804  
 65805  func init() {
 65806  	t["QueryVmfsDatastoreCreateOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptionsRequestType)(nil)).Elem()
 65807  }
 65808  
 65809  type QueryVmfsDatastoreCreateOptionsResponse struct {
 65810  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65811  }
 65812  
 65813  type QueryVmfsDatastoreExpandOptions QueryVmfsDatastoreExpandOptionsRequestType
 65814  
 65815  func init() {
 65816  	t["QueryVmfsDatastoreExpandOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptions)(nil)).Elem()
 65817  }
 65818  
 65819  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExpandOptions`.
 65820  type QueryVmfsDatastoreExpandOptionsRequestType struct {
 65821  	This ManagedObjectReference `xml:"_this" json:"-"`
 65822  	// The datastore to be expanded.
 65823  	//
 65824  	// Refers instance of `Datastore`.
 65825  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 65826  }
 65827  
 65828  func init() {
 65829  	t["QueryVmfsDatastoreExpandOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptionsRequestType)(nil)).Elem()
 65830  }
 65831  
 65832  type QueryVmfsDatastoreExpandOptionsResponse struct {
 65833  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65834  }
 65835  
 65836  type QueryVmfsDatastoreExtendOptions QueryVmfsDatastoreExtendOptionsRequestType
 65837  
 65838  func init() {
 65839  	t["QueryVmfsDatastoreExtendOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptions)(nil)).Elem()
 65840  }
 65841  
 65842  // The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExtendOptions`.
 65843  type QueryVmfsDatastoreExtendOptionsRequestType struct {
 65844  	This ManagedObjectReference `xml:"_this" json:"-"`
 65845  	// The datastore to be extended.
 65846  	//
 65847  	// Refers instance of `Datastore`.
 65848  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 65849  	// The devicePath of the disk on which datastore extension
 65850  	// options are generated.
 65851  	DevicePath string `xml:"devicePath" json:"devicePath"`
 65852  	// Indicates whether to exclude options that can be
 65853  	// used for extent expansion also.
 65854  	// Free space can be used for adding an extent or expanding an existing
 65855  	// extent. If this parameter is set to true, the list of options
 65856  	// returned will not include free space that can be used for expansion.
 65857  	SuppressExpandCandidates *bool `xml:"suppressExpandCandidates" json:"suppressExpandCandidates,omitempty"`
 65858  }
 65859  
 65860  func init() {
 65861  	t["QueryVmfsDatastoreExtendOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptionsRequestType)(nil)).Elem()
 65862  }
 65863  
 65864  type QueryVmfsDatastoreExtendOptionsResponse struct {
 65865  	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65866  }
 65867  
 65868  type QueryVnicStatus QueryVnicStatusRequestType
 65869  
 65870  func init() {
 65871  	t["QueryVnicStatus"] = reflect.TypeOf((*QueryVnicStatus)(nil)).Elem()
 65872  }
 65873  
 65874  // The parameters of `IscsiManager.QueryVnicStatus`.
 65875  type QueryVnicStatusRequestType struct {
 65876  	This ManagedObjectReference `xml:"_this" json:"-"`
 65877  	// Virtual NIC device to check the status for
 65878  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 65879  }
 65880  
 65881  func init() {
 65882  	t["QueryVnicStatusRequestType"] = reflect.TypeOf((*QueryVnicStatusRequestType)(nil)).Elem()
 65883  }
 65884  
 65885  type QueryVnicStatusResponse struct {
 65886  	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
 65887  }
 65888  
 65889  type QueryVsanObjectUuidsByFilter QueryVsanObjectUuidsByFilterRequestType
 65890  
 65891  func init() {
 65892  	t["QueryVsanObjectUuidsByFilter"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilter)(nil)).Elem()
 65893  }
 65894  
 65895  // The parameters of `HostVsanInternalSystem.QueryVsanObjectUuidsByFilter`.
 65896  type QueryVsanObjectUuidsByFilterRequestType struct {
 65897  	This ManagedObjectReference `xml:"_this" json:"-"`
 65898  	// Objects UUID will be checked against the filtering
 65899  	// conditions.
 65900  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 65901  	// To limit the size of the result set.
 65902  	Limit *int32 `xml:"limit" json:"limit,omitempty"`
 65903  	// Filtering condition 1: object version.
 65904  	Version int32 `xml:"version,omitempty" json:"version,omitempty"`
 65905  }
 65906  
 65907  func init() {
 65908  	t["QueryVsanObjectUuidsByFilterRequestType"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilterRequestType)(nil)).Elem()
 65909  }
 65910  
 65911  type QueryVsanObjectUuidsByFilterResponse struct {
 65912  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 65913  }
 65914  
 65915  type QueryVsanObjects QueryVsanObjectsRequestType
 65916  
 65917  func init() {
 65918  	t["QueryVsanObjects"] = reflect.TypeOf((*QueryVsanObjects)(nil)).Elem()
 65919  }
 65920  
 65921  // The parameters of `HostVsanInternalSystem.QueryVsanObjects`.
 65922  type QueryVsanObjectsRequestType struct {
 65923  	This ManagedObjectReference `xml:"_this" json:"-"`
 65924  	// List of VSAN/DOM object UUIDs.
 65925  	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
 65926  }
 65927  
 65928  func init() {
 65929  	t["QueryVsanObjectsRequestType"] = reflect.TypeOf((*QueryVsanObjectsRequestType)(nil)).Elem()
 65930  }
 65931  
 65932  type QueryVsanObjectsResponse struct {
 65933  	Returnval string `xml:"returnval" json:"returnval"`
 65934  }
 65935  
 65936  type QueryVsanStatistics QueryVsanStatisticsRequestType
 65937  
 65938  func init() {
 65939  	t["QueryVsanStatistics"] = reflect.TypeOf((*QueryVsanStatistics)(nil)).Elem()
 65940  }
 65941  
 65942  // The parameters of `HostVsanInternalSystem.QueryVsanStatistics`.
 65943  type QueryVsanStatisticsRequestType struct {
 65944  	This ManagedObjectReference `xml:"_this" json:"-"`
 65945  	// List of labels of counters to retrieve.
 65946  	Labels []string `xml:"labels" json:"labels"`
 65947  }
 65948  
 65949  func init() {
 65950  	t["QueryVsanStatisticsRequestType"] = reflect.TypeOf((*QueryVsanStatisticsRequestType)(nil)).Elem()
 65951  }
 65952  
 65953  type QueryVsanStatisticsResponse struct {
 65954  	Returnval string `xml:"returnval" json:"returnval"`
 65955  }
 65956  
 65957  type QueryVsanUpgradeStatus QueryVsanUpgradeStatusRequestType
 65958  
 65959  func init() {
 65960  	t["QueryVsanUpgradeStatus"] = reflect.TypeOf((*QueryVsanUpgradeStatus)(nil)).Elem()
 65961  }
 65962  
 65963  // The parameters of `VsanUpgradeSystem.QueryVsanUpgradeStatus`.
 65964  type QueryVsanUpgradeStatusRequestType struct {
 65965  	This ManagedObjectReference `xml:"_this" json:"-"`
 65966  	// The cluster for which to retrieve the upgrade status.
 65967  	//
 65968  	// Refers instance of `ClusterComputeResource`.
 65969  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 65970  }
 65971  
 65972  func init() {
 65973  	t["QueryVsanUpgradeStatusRequestType"] = reflect.TypeOf((*QueryVsanUpgradeStatusRequestType)(nil)).Elem()
 65974  }
 65975  
 65976  type QueryVsanUpgradeStatusResponse struct {
 65977  	Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval" json:"returnval"`
 65978  }
 65979  
 65980  // Thrown when an operation cannot be performed on a virtual machine
 65981  // because it has a pending question requiring user input.
 65982  type QuestionPending struct {
 65983  	InvalidState
 65984  
 65985  	// Text of the question from the virtual machine.
 65986  	Text string `xml:"text" json:"text"`
 65987  }
 65988  
 65989  func init() {
 65990  	t["QuestionPending"] = reflect.TypeOf((*QuestionPending)(nil)).Elem()
 65991  }
 65992  
 65993  type QuestionPendingFault QuestionPending
 65994  
 65995  func init() {
 65996  	t["QuestionPendingFault"] = reflect.TypeOf((*QuestionPendingFault)(nil)).Elem()
 65997  }
 65998  
 65999  // A QuiesceDatastoreIOForHAFailed fault occurs when the HA agent on a host
 66000  // cannot quiesce file activity on a datastore to be unmouonted or removed.
 66001  type QuiesceDatastoreIOForHAFailed struct {
 66002  	ResourceInUse
 66003  
 66004  	// The host.
 66005  	//
 66006  	// Refers instance of `HostSystem`.
 66007  	Host ManagedObjectReference `xml:"host" json:"host"`
 66008  	// Name of the host.
 66009  	HostName string `xml:"hostName" json:"hostName"`
 66010  	// The datastore.
 66011  	//
 66012  	// Refers instance of `Datastore`.
 66013  	Ds ManagedObjectReference `xml:"ds" json:"ds"`
 66014  	// Name of the datastore.
 66015  	DsName string `xml:"dsName" json:"dsName"`
 66016  }
 66017  
 66018  func init() {
 66019  	t["QuiesceDatastoreIOForHAFailed"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailed)(nil)).Elem()
 66020  }
 66021  
 66022  type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed
 66023  
 66024  func init() {
 66025  	t["QuiesceDatastoreIOForHAFailedFault"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailedFault)(nil)).Elem()
 66026  }
 66027  
 66028  // The virtual machine is using an RDM device with compatibility
 66029  // mode set to 'physicalMode' and operation is unable to convert
 66030  // the disk to a different type.
 66031  type RDMConversionNotSupported struct {
 66032  	MigrationFault
 66033  
 66034  	// The name of the disk device using the RDM.
 66035  	Device string `xml:"device" json:"device"`
 66036  }
 66037  
 66038  func init() {
 66039  	t["RDMConversionNotSupported"] = reflect.TypeOf((*RDMConversionNotSupported)(nil)).Elem()
 66040  }
 66041  
 66042  type RDMConversionNotSupportedFault RDMConversionNotSupported
 66043  
 66044  func init() {
 66045  	t["RDMConversionNotSupportedFault"] = reflect.TypeOf((*RDMConversionNotSupportedFault)(nil)).Elem()
 66046  }
 66047  
 66048  // The virtual machine is configured with a Raw Disk Mapping.
 66049  //
 66050  // The host only supports Raw
 66051  // Disk Mappings in a limited fashion. After the migration, the RDM will function correctly,
 66052  // but it will be indistinguishable from a virtual disk when viewing the virtual machine's
 66053  // properties. This change will persist even if the virtual machine is migrated
 66054  // back to a host with full RDM support.
 66055  //
 66056  // This is a warning only for migrations to ESX 2.1.x hosts.
 66057  type RDMNotPreserved struct {
 66058  	MigrationFault
 66059  
 66060  	// The name of the disk device using the RDM.
 66061  	Device string `xml:"device" json:"device"`
 66062  }
 66063  
 66064  func init() {
 66065  	t["RDMNotPreserved"] = reflect.TypeOf((*RDMNotPreserved)(nil)).Elem()
 66066  }
 66067  
 66068  type RDMNotPreservedFault RDMNotPreserved
 66069  
 66070  func init() {
 66071  	t["RDMNotPreservedFault"] = reflect.TypeOf((*RDMNotPreservedFault)(nil)).Elem()
 66072  }
 66073  
 66074  // The virtual machine is configured with a Raw Disk Mapping.
 66075  //
 66076  // This is not
 66077  // supported on the host.
 66078  type RDMNotSupported struct {
 66079  	DeviceNotSupported
 66080  }
 66081  
 66082  func init() {
 66083  	t["RDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem()
 66084  }
 66085  
 66086  type RDMNotSupportedFault BaseRDMNotSupported
 66087  
 66088  func init() {
 66089  	t["RDMNotSupportedFault"] = reflect.TypeOf((*RDMNotSupportedFault)(nil)).Elem()
 66090  }
 66091  
 66092  // The virtual machine is configured with a Raw Disk Mapping.
 66093  //
 66094  // This is not
 66095  // supported on the datastore.
 66096  type RDMNotSupportedOnDatastore struct {
 66097  	VmConfigFault
 66098  
 66099  	// The label of the RDM device that would have its backing placed on
 66100  	// the datastore.
 66101  	//
 66102  	// This is not guaranteed to be the only such device.
 66103  	Device string `xml:"device" json:"device"`
 66104  	// The datastore.
 66105  	//
 66106  	// Refers instance of `Datastore`.
 66107  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66108  	// The name of the datastore.
 66109  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 66110  }
 66111  
 66112  func init() {
 66113  	t["RDMNotSupportedOnDatastore"] = reflect.TypeOf((*RDMNotSupportedOnDatastore)(nil)).Elem()
 66114  }
 66115  
 66116  type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore
 66117  
 66118  func init() {
 66119  	t["RDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*RDMNotSupportedOnDatastoreFault)(nil)).Elem()
 66120  }
 66121  
 66122  // One of the virtual machine's virtual disks is a Raw Disk Mapping
 66123  // that is itself accessible, but points to a LUN that is inaccessible.
 66124  type RDMPointsToInaccessibleDisk struct {
 66125  	CannotAccessVmDisk
 66126  }
 66127  
 66128  func init() {
 66129  	t["RDMPointsToInaccessibleDisk"] = reflect.TypeOf((*RDMPointsToInaccessibleDisk)(nil)).Elem()
 66130  }
 66131  
 66132  type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk
 66133  
 66134  func init() {
 66135  	t["RDMPointsToInaccessibleDiskFault"] = reflect.TypeOf((*RDMPointsToInaccessibleDiskFault)(nil)).Elem()
 66136  }
 66137  
 66138  // The virtual machine has a raw disk attached that is not supported.
 66139  //
 66140  // This is often
 66141  // used as a subfault for DisallowedMigrationDeviceAttached or
 66142  // DisallowedSnapshotDeviceAttached.
 66143  type RawDiskNotSupported struct {
 66144  	DeviceNotSupported
 66145  }
 66146  
 66147  func init() {
 66148  	t["RawDiskNotSupported"] = reflect.TypeOf((*RawDiskNotSupported)(nil)).Elem()
 66149  }
 66150  
 66151  type RawDiskNotSupportedFault RawDiskNotSupported
 66152  
 66153  func init() {
 66154  	t["RawDiskNotSupportedFault"] = reflect.TypeOf((*RawDiskNotSupportedFault)(nil)).Elem()
 66155  }
 66156  
 66157  type ReadEnvironmentVariableInGuest ReadEnvironmentVariableInGuestRequestType
 66158  
 66159  func init() {
 66160  	t["ReadEnvironmentVariableInGuest"] = reflect.TypeOf((*ReadEnvironmentVariableInGuest)(nil)).Elem()
 66161  }
 66162  
 66163  // The parameters of `GuestProcessManager.ReadEnvironmentVariableInGuest`.
 66164  type ReadEnvironmentVariableInGuestRequestType struct {
 66165  	This ManagedObjectReference `xml:"_this" json:"-"`
 66166  	// Virtual machine to perform the operation on.
 66167  	//
 66168  	// Required privileges: VirtualMachine.GuestOperations.Query
 66169  	//
 66170  	// Refers instance of `VirtualMachine`.
 66171  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66172  	// The guest authentication data. See
 66173  	// `GuestAuthentication`.
 66174  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 66175  	// The names of the variables to be read. If not set, then
 66176  	// all the environment variables are returned.
 66177  	Names []string `xml:"names,omitempty" json:"names,omitempty"`
 66178  }
 66179  
 66180  func init() {
 66181  	t["ReadEnvironmentVariableInGuestRequestType"] = reflect.TypeOf((*ReadEnvironmentVariableInGuestRequestType)(nil)).Elem()
 66182  }
 66183  
 66184  type ReadEnvironmentVariableInGuestResponse struct {
 66185  	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66186  }
 66187  
 66188  // Fault thrown on host connect if we were unable to correctly read the
 66189  // existing tree on the root.
 66190  //
 66191  // This is bad because then we don't know the
 66192  // available resources on the host, and all kinds of admission control will
 66193  // fail.
 66194  // This just allows for more robust error handling - we should be able to
 66195  // read the existing hierarchy under normal conditions.
 66196  type ReadHostResourcePoolTreeFailed struct {
 66197  	HostConnectFault
 66198  }
 66199  
 66200  func init() {
 66201  	t["ReadHostResourcePoolTreeFailed"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailed)(nil)).Elem()
 66202  }
 66203  
 66204  type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed
 66205  
 66206  func init() {
 66207  	t["ReadHostResourcePoolTreeFailedFault"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailedFault)(nil)).Elem()
 66208  }
 66209  
 66210  type ReadNextEvents ReadNextEventsRequestType
 66211  
 66212  func init() {
 66213  	t["ReadNextEvents"] = reflect.TypeOf((*ReadNextEvents)(nil)).Elem()
 66214  }
 66215  
 66216  // The parameters of `EventHistoryCollector.ReadNextEvents`.
 66217  type ReadNextEventsRequestType struct {
 66218  	This ManagedObjectReference `xml:"_this" json:"-"`
 66219  	// The maximum number of items in the page.
 66220  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66221  }
 66222  
 66223  func init() {
 66224  	t["ReadNextEventsRequestType"] = reflect.TypeOf((*ReadNextEventsRequestType)(nil)).Elem()
 66225  }
 66226  
 66227  type ReadNextEventsResponse struct {
 66228  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66229  }
 66230  
 66231  type ReadNextTasks ReadNextTasksRequestType
 66232  
 66233  func init() {
 66234  	t["ReadNextTasks"] = reflect.TypeOf((*ReadNextTasks)(nil)).Elem()
 66235  }
 66236  
 66237  // The parameters of `TaskHistoryCollector.ReadNextTasks`.
 66238  type ReadNextTasksRequestType struct {
 66239  	This ManagedObjectReference `xml:"_this" json:"-"`
 66240  	// The maximum number of items in the page.
 66241  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66242  }
 66243  
 66244  func init() {
 66245  	t["ReadNextTasksRequestType"] = reflect.TypeOf((*ReadNextTasksRequestType)(nil)).Elem()
 66246  }
 66247  
 66248  type ReadNextTasksResponse struct {
 66249  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66250  }
 66251  
 66252  // The virtual machine uses read-only (undoable or nonpersistent) disks that
 66253  // can cause a slower power on at the migration destination.
 66254  //
 66255  // As a result, VMtion
 66256  // could slow down considerably or timeout. This is an issue only for migration of
 66257  // powered-on virtual machines from an ESX host with version greater
 66258  // than 2.0.x to an ESX host with version 2.0.x. It will be an error if the
 66259  // number of such disks is great enough to cause timeout ( &ge; 3 ), or a warning
 66260  // otherwise.
 66261  type ReadOnlyDisksWithLegacyDestination struct {
 66262  	MigrationFault
 66263  
 66264  	// The number of read-only disks in use.
 66265  	RoDiskCount int32 `xml:"roDiskCount" json:"roDiskCount"`
 66266  	// Whether this number of disks will cause a timeout failure.
 66267  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 66268  }
 66269  
 66270  func init() {
 66271  	t["ReadOnlyDisksWithLegacyDestination"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestination)(nil)).Elem()
 66272  }
 66273  
 66274  type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination
 66275  
 66276  func init() {
 66277  	t["ReadOnlyDisksWithLegacyDestinationFault"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestinationFault)(nil)).Elem()
 66278  }
 66279  
 66280  type ReadPreviousEvents ReadPreviousEventsRequestType
 66281  
 66282  func init() {
 66283  	t["ReadPreviousEvents"] = reflect.TypeOf((*ReadPreviousEvents)(nil)).Elem()
 66284  }
 66285  
 66286  // The parameters of `EventHistoryCollector.ReadPreviousEvents`.
 66287  type ReadPreviousEventsRequestType struct {
 66288  	This ManagedObjectReference `xml:"_this" json:"-"`
 66289  	// The maximum number of items in the page.
 66290  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66291  }
 66292  
 66293  func init() {
 66294  	t["ReadPreviousEventsRequestType"] = reflect.TypeOf((*ReadPreviousEventsRequestType)(nil)).Elem()
 66295  }
 66296  
 66297  type ReadPreviousEventsResponse struct {
 66298  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 66299  }
 66300  
 66301  type ReadPreviousTasks ReadPreviousTasksRequestType
 66302  
 66303  func init() {
 66304  	t["ReadPreviousTasks"] = reflect.TypeOf((*ReadPreviousTasks)(nil)).Elem()
 66305  }
 66306  
 66307  // The parameters of `TaskHistoryCollector.ReadPreviousTasks`.
 66308  type ReadPreviousTasksRequestType struct {
 66309  	This ManagedObjectReference `xml:"_this" json:"-"`
 66310  	// The maximum number of items in the page.
 66311  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 66312  }
 66313  
 66314  func init() {
 66315  	t["ReadPreviousTasksRequestType"] = reflect.TypeOf((*ReadPreviousTasksRequestType)(nil)).Elem()
 66316  }
 66317  
 66318  type ReadPreviousTasksResponse struct {
 66319  	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66320  }
 66321  
 66322  type RebootGuest RebootGuestRequestType
 66323  
 66324  func init() {
 66325  	t["RebootGuest"] = reflect.TypeOf((*RebootGuest)(nil)).Elem()
 66326  }
 66327  
 66328  type RebootGuestRequestType struct {
 66329  	This ManagedObjectReference `xml:"_this" json:"-"`
 66330  }
 66331  
 66332  func init() {
 66333  	t["RebootGuestRequestType"] = reflect.TypeOf((*RebootGuestRequestType)(nil)).Elem()
 66334  }
 66335  
 66336  type RebootGuestResponse struct {
 66337  }
 66338  
 66339  // The parameters of `HostSystem.RebootHost_Task`.
 66340  type RebootHostRequestType struct {
 66341  	This ManagedObjectReference `xml:"_this" json:"-"`
 66342  	// Flag to specify whether or not the host should be rebooted
 66343  	// regardless of whether it is in maintenance mode. If true, the host
 66344  	// is rebooted, even if there are virtual machines running or other
 66345  	// operations in progress.
 66346  	Force bool `xml:"force" json:"force"`
 66347  }
 66348  
 66349  func init() {
 66350  	t["RebootHostRequestType"] = reflect.TypeOf((*RebootHostRequestType)(nil)).Elem()
 66351  }
 66352  
 66353  type RebootHost_Task RebootHostRequestType
 66354  
 66355  func init() {
 66356  	t["RebootHost_Task"] = reflect.TypeOf((*RebootHost_Task)(nil)).Elem()
 66357  }
 66358  
 66359  type RebootHost_TaskResponse struct {
 66360  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66361  }
 66362  
 66363  // This fault is thrown if a patch install fails because an installed
 66364  // nonchainable patch has not taken effect.
 66365  type RebootRequired struct {
 66366  	VimFault
 66367  
 66368  	// The nonchainable patch installed.
 66369  	Patch string `xml:"patch,omitempty" json:"patch,omitempty"`
 66370  }
 66371  
 66372  func init() {
 66373  	t["RebootRequired"] = reflect.TypeOf((*RebootRequired)(nil)).Elem()
 66374  }
 66375  
 66376  type RebootRequiredFault RebootRequired
 66377  
 66378  func init() {
 66379  	t["RebootRequiredFault"] = reflect.TypeOf((*RebootRequiredFault)(nil)).Elem()
 66380  }
 66381  
 66382  type RecommendDatastores RecommendDatastoresRequestType
 66383  
 66384  func init() {
 66385  	t["RecommendDatastores"] = reflect.TypeOf((*RecommendDatastores)(nil)).Elem()
 66386  }
 66387  
 66388  // The parameters of `StorageResourceManager.RecommendDatastores`.
 66389  type RecommendDatastoresRequestType struct {
 66390  	This        ManagedObjectReference `xml:"_this" json:"-"`
 66391  	StorageSpec StoragePlacementSpec   `xml:"storageSpec" json:"storageSpec"`
 66392  }
 66393  
 66394  func init() {
 66395  	t["RecommendDatastoresRequestType"] = reflect.TypeOf((*RecommendDatastoresRequestType)(nil)).Elem()
 66396  }
 66397  
 66398  type RecommendDatastoresResponse struct {
 66399  	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
 66400  }
 66401  
 66402  type RecommendHostsForVm RecommendHostsForVmRequestType
 66403  
 66404  func init() {
 66405  	t["RecommendHostsForVm"] = reflect.TypeOf((*RecommendHostsForVm)(nil)).Elem()
 66406  }
 66407  
 66408  // The parameters of `ClusterComputeResource.RecommendHostsForVm`.
 66409  type RecommendHostsForVmRequestType struct {
 66410  	This ManagedObjectReference `xml:"_this" json:"-"`
 66411  	// Specifies the virtual machine for which the user is requesting a
 66412  	// recommendations.
 66413  	//
 66414  	// Refers instance of `VirtualMachine`.
 66415  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 66416  	// Specifies the ResourcePool into which the virtual machine is to be
 66417  	// migrated. If the virtual machine is powered-on, this argument must be
 66418  	// specified and it is relevant only when the virtual machine is
 66419  	// powered-on. This ResourcePool cannot be in the same cluster as the
 66420  	// virtual machine.
 66421  	//
 66422  	// Refers instance of `ResourcePool`.
 66423  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 66424  }
 66425  
 66426  func init() {
 66427  	t["RecommendHostsForVmRequestType"] = reflect.TypeOf((*RecommendHostsForVmRequestType)(nil)).Elem()
 66428  }
 66429  
 66430  type RecommendHostsForVmResponse struct {
 66431  	Returnval []ClusterHostRecommendation `xml:"returnval,omitempty" json:"returnval,omitempty"`
 66432  }
 66433  
 66434  type RecommissionVsanNodeRequestType struct {
 66435  	This ManagedObjectReference `xml:"_this" json:"-"`
 66436  }
 66437  
 66438  func init() {
 66439  	t["RecommissionVsanNodeRequestType"] = reflect.TypeOf((*RecommissionVsanNodeRequestType)(nil)).Elem()
 66440  }
 66441  
 66442  type RecommissionVsanNode_Task RecommissionVsanNodeRequestType
 66443  
 66444  func init() {
 66445  	t["RecommissionVsanNode_Task"] = reflect.TypeOf((*RecommissionVsanNode_Task)(nil)).Elem()
 66446  }
 66447  
 66448  type RecommissionVsanNode_TaskResponse struct {
 66449  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66450  }
 66451  
 66452  // The parameters of `VcenterVStorageObjectManager.ReconcileDatastoreInventory_Task`.
 66453  type ReconcileDatastoreInventoryRequestType struct {
 66454  	This ManagedObjectReference `xml:"_this" json:"-"`
 66455  	// The datastore that needs to be reconciled.
 66456  	//
 66457  	// Refers instance of `Datastore`.
 66458  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 66459  }
 66460  
 66461  func init() {
 66462  	t["ReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryRequestType)(nil)).Elem()
 66463  }
 66464  
 66465  type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType
 66466  
 66467  func init() {
 66468  	t["ReconcileDatastoreInventory_Task"] = reflect.TypeOf((*ReconcileDatastoreInventory_Task)(nil)).Elem()
 66469  }
 66470  
 66471  type ReconcileDatastoreInventory_TaskResponse struct {
 66472  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66473  }
 66474  
 66475  // The parameters of `VirtualMachine.ReconfigVM_Task`.
 66476  type ReconfigVMRequestType struct {
 66477  	This ManagedObjectReference `xml:"_this" json:"-"`
 66478  	// The new configuration values.
 66479  	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
 66480  }
 66481  
 66482  func init() {
 66483  	t["ReconfigVMRequestType"] = reflect.TypeOf((*ReconfigVMRequestType)(nil)).Elem()
 66484  }
 66485  
 66486  type ReconfigVM_Task ReconfigVMRequestType
 66487  
 66488  func init() {
 66489  	t["ReconfigVM_Task"] = reflect.TypeOf((*ReconfigVM_Task)(nil)).Elem()
 66490  }
 66491  
 66492  type ReconfigVM_TaskResponse struct {
 66493  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66494  }
 66495  
 66496  type ReconfigurationSatisfiable ReconfigurationSatisfiableRequestType
 66497  
 66498  func init() {
 66499  	t["ReconfigurationSatisfiable"] = reflect.TypeOf((*ReconfigurationSatisfiable)(nil)).Elem()
 66500  }
 66501  
 66502  // The parameters of `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 66503  type ReconfigurationSatisfiableRequestType struct {
 66504  	This ManagedObjectReference `xml:"_this" json:"-"`
 66505  	// List of PolicyChangeBatch structure with uuids and policies.
 66506  	Pcbs []VsanPolicyChangeBatch `xml:"pcbs" json:"pcbs"`
 66507  	// Optionally populate PolicyCost even though
 66508  	// object cannot be reconfigured in the current cluster topology.
 66509  	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty"`
 66510  }
 66511  
 66512  func init() {
 66513  	t["ReconfigurationSatisfiableRequestType"] = reflect.TypeOf((*ReconfigurationSatisfiableRequestType)(nil)).Elem()
 66514  }
 66515  
 66516  type ReconfigurationSatisfiableResponse struct {
 66517  	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
 66518  }
 66519  
 66520  type ReconfigureAlarm ReconfigureAlarmRequestType
 66521  
 66522  func init() {
 66523  	t["ReconfigureAlarm"] = reflect.TypeOf((*ReconfigureAlarm)(nil)).Elem()
 66524  }
 66525  
 66526  // The parameters of `Alarm.ReconfigureAlarm`.
 66527  type ReconfigureAlarmRequestType struct {
 66528  	This ManagedObjectReference `xml:"_this" json:"-"`
 66529  	// The new specification for the alarm.
 66530  	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
 66531  }
 66532  
 66533  func init() {
 66534  	t["ReconfigureAlarmRequestType"] = reflect.TypeOf((*ReconfigureAlarmRequestType)(nil)).Elem()
 66535  }
 66536  
 66537  type ReconfigureAlarmResponse struct {
 66538  }
 66539  
 66540  type ReconfigureAutostart ReconfigureAutostartRequestType
 66541  
 66542  func init() {
 66543  	t["ReconfigureAutostart"] = reflect.TypeOf((*ReconfigureAutostart)(nil)).Elem()
 66544  }
 66545  
 66546  // The parameters of `HostAutoStartManager.ReconfigureAutostart`.
 66547  type ReconfigureAutostartRequestType struct {
 66548  	This ManagedObjectReference `xml:"_this" json:"-"`
 66549  	// List of changes to defaults and auto-start/auto-stop order.
 66550  	Spec HostAutoStartManagerConfig `xml:"spec" json:"spec"`
 66551  }
 66552  
 66553  func init() {
 66554  	t["ReconfigureAutostartRequestType"] = reflect.TypeOf((*ReconfigureAutostartRequestType)(nil)).Elem()
 66555  }
 66556  
 66557  type ReconfigureAutostartResponse struct {
 66558  }
 66559  
 66560  // The parameters of `ClusterComputeResource.ReconfigureCluster_Task`.
 66561  type ReconfigureClusterRequestType struct {
 66562  	This ManagedObjectReference `xml:"_this" json:"-"`
 66563  	// A set of configuration changes to apply to the cluster. The
 66564  	// specification can be a complete set of changes or a partial set of
 66565  	// changes, applied incrementally.
 66566  	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
 66567  	// Flag to specify whether the specification ("spec") should
 66568  	// be applied incrementally. If "modify" is false and the
 66569  	// operation succeeds, then the configuration of the cluster
 66570  	// matches the specification exactly; in this case any unset
 66571  	// portions of the specification will result in unset or
 66572  	// default portions of the configuration.
 66573  	Modify bool `xml:"modify" json:"modify"`
 66574  }
 66575  
 66576  func init() {
 66577  	t["ReconfigureClusterRequestType"] = reflect.TypeOf((*ReconfigureClusterRequestType)(nil)).Elem()
 66578  }
 66579  
 66580  type ReconfigureCluster_Task ReconfigureClusterRequestType
 66581  
 66582  func init() {
 66583  	t["ReconfigureCluster_Task"] = reflect.TypeOf((*ReconfigureCluster_Task)(nil)).Elem()
 66584  }
 66585  
 66586  type ReconfigureCluster_TaskResponse struct {
 66587  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66588  }
 66589  
 66590  // The parameters of `ComputeResource.ReconfigureComputeResource_Task`.
 66591  type ReconfigureComputeResourceRequestType struct {
 66592  	This ManagedObjectReference `xml:"_this" json:"-"`
 66593  	// A set of configuration changes to apply to the compute resource.
 66594  	// The specification can be a complete set of changes or a partial
 66595  	// set of changes, applied incrementally. When invoking
 66596  	// reconfigureEx on a cluster, this argument may be a
 66597  	// `ClusterConfigSpecEx` object.
 66598  	Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr" json:"spec"`
 66599  	// Flag to specify whether the specification ("spec") should
 66600  	// be applied incrementally. If "modify" is false and the
 66601  	// operation succeeds, then the configuration of the cluster
 66602  	// matches the specification exactly; in this case any unset
 66603  	// portions of the specification will result in unset or
 66604  	// default portions of the configuration.
 66605  	Modify bool `xml:"modify" json:"modify"`
 66606  }
 66607  
 66608  func init() {
 66609  	t["ReconfigureComputeResourceRequestType"] = reflect.TypeOf((*ReconfigureComputeResourceRequestType)(nil)).Elem()
 66610  }
 66611  
 66612  type ReconfigureComputeResource_Task ReconfigureComputeResourceRequestType
 66613  
 66614  func init() {
 66615  	t["ReconfigureComputeResource_Task"] = reflect.TypeOf((*ReconfigureComputeResource_Task)(nil)).Elem()
 66616  }
 66617  
 66618  type ReconfigureComputeResource_TaskResponse struct {
 66619  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66620  }
 66621  
 66622  // The parameters of `DistributedVirtualSwitch.ReconfigureDVPort_Task`.
 66623  type ReconfigureDVPortRequestType struct {
 66624  	This ManagedObjectReference `xml:"_this" json:"-"`
 66625  	// The specification of the ports.
 66626  	Port []DVPortConfigSpec `xml:"port" json:"port"`
 66627  }
 66628  
 66629  func init() {
 66630  	t["ReconfigureDVPortRequestType"] = reflect.TypeOf((*ReconfigureDVPortRequestType)(nil)).Elem()
 66631  }
 66632  
 66633  type ReconfigureDVPort_Task ReconfigureDVPortRequestType
 66634  
 66635  func init() {
 66636  	t["ReconfigureDVPort_Task"] = reflect.TypeOf((*ReconfigureDVPort_Task)(nil)).Elem()
 66637  }
 66638  
 66639  type ReconfigureDVPort_TaskResponse struct {
 66640  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66641  }
 66642  
 66643  // The parameters of `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`.
 66644  type ReconfigureDVPortgroupRequestType struct {
 66645  	This ManagedObjectReference `xml:"_this" json:"-"`
 66646  	// Configuration data for the portgroup.
 66647  	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
 66648  }
 66649  
 66650  func init() {
 66651  	t["ReconfigureDVPortgroupRequestType"] = reflect.TypeOf((*ReconfigureDVPortgroupRequestType)(nil)).Elem()
 66652  }
 66653  
 66654  type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType
 66655  
 66656  func init() {
 66657  	t["ReconfigureDVPortgroup_Task"] = reflect.TypeOf((*ReconfigureDVPortgroup_Task)(nil)).Elem()
 66658  }
 66659  
 66660  type ReconfigureDVPortgroup_TaskResponse struct {
 66661  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66662  }
 66663  
 66664  // The parameters of `Datacenter.ReconfigureDatacenter_Task`.
 66665  type ReconfigureDatacenterRequestType struct {
 66666  	This ManagedObjectReference `xml:"_this" json:"-"`
 66667  	// A set of configuration changes to apply to the datacenter.
 66668  	// The specification can be a complete set of changes or a partial
 66669  	// set of changes, applied incrementally.
 66670  	Spec DatacenterConfigSpec `xml:"spec" json:"spec"`
 66671  	// Flag to specify whether the specification ("spec") should
 66672  	// be applied incrementally. If "modify" is false and the
 66673  	// operation succeeds, then the configuration of the datacenter
 66674  	// matches the specification exactly; in this case any unset
 66675  	// portions of the specification will result in unset or
 66676  	// default portions of the configuration.
 66677  	Modify bool `xml:"modify" json:"modify"`
 66678  }
 66679  
 66680  func init() {
 66681  	t["ReconfigureDatacenterRequestType"] = reflect.TypeOf((*ReconfigureDatacenterRequestType)(nil)).Elem()
 66682  }
 66683  
 66684  type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType
 66685  
 66686  func init() {
 66687  	t["ReconfigureDatacenter_Task"] = reflect.TypeOf((*ReconfigureDatacenter_Task)(nil)).Elem()
 66688  }
 66689  
 66690  type ReconfigureDatacenter_TaskResponse struct {
 66691  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66692  }
 66693  
 66694  type ReconfigureDomObject ReconfigureDomObjectRequestType
 66695  
 66696  func init() {
 66697  	t["ReconfigureDomObject"] = reflect.TypeOf((*ReconfigureDomObject)(nil)).Elem()
 66698  }
 66699  
 66700  // The parameters of `HostVsanInternalSystem.ReconfigureDomObject`.
 66701  type ReconfigureDomObjectRequestType struct {
 66702  	This ManagedObjectReference `xml:"_this" json:"-"`
 66703  	// DOM object UUID.
 66704  	Uuid string `xml:"uuid" json:"uuid"`
 66705  	// VSAN expression formatted policy string.
 66706  	Policy string `xml:"policy" json:"policy"`
 66707  }
 66708  
 66709  func init() {
 66710  	t["ReconfigureDomObjectRequestType"] = reflect.TypeOf((*ReconfigureDomObjectRequestType)(nil)).Elem()
 66711  }
 66712  
 66713  type ReconfigureDomObjectResponse struct {
 66714  }
 66715  
 66716  // The parameters of `DistributedVirtualSwitch.ReconfigureDvs_Task`.
 66717  type ReconfigureDvsRequestType struct {
 66718  	This ManagedObjectReference `xml:"_this" json:"-"`
 66719  	// The configuration of the switch
 66720  	Spec BaseDVSConfigSpec `xml:"spec,typeattr" json:"spec"`
 66721  }
 66722  
 66723  func init() {
 66724  	t["ReconfigureDvsRequestType"] = reflect.TypeOf((*ReconfigureDvsRequestType)(nil)).Elem()
 66725  }
 66726  
 66727  type ReconfigureDvs_Task ReconfigureDvsRequestType
 66728  
 66729  func init() {
 66730  	t["ReconfigureDvs_Task"] = reflect.TypeOf((*ReconfigureDvs_Task)(nil)).Elem()
 66731  }
 66732  
 66733  type ReconfigureDvs_TaskResponse struct {
 66734  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66735  }
 66736  
 66737  type ReconfigureHostForDASRequestType struct {
 66738  	This ManagedObjectReference `xml:"_this" json:"-"`
 66739  }
 66740  
 66741  func init() {
 66742  	t["ReconfigureHostForDASRequestType"] = reflect.TypeOf((*ReconfigureHostForDASRequestType)(nil)).Elem()
 66743  }
 66744  
 66745  type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType
 66746  
 66747  func init() {
 66748  	t["ReconfigureHostForDAS_Task"] = reflect.TypeOf((*ReconfigureHostForDAS_Task)(nil)).Elem()
 66749  }
 66750  
 66751  type ReconfigureHostForDAS_TaskResponse struct {
 66752  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66753  }
 66754  
 66755  type ReconfigureScheduledTask ReconfigureScheduledTaskRequestType
 66756  
 66757  func init() {
 66758  	t["ReconfigureScheduledTask"] = reflect.TypeOf((*ReconfigureScheduledTask)(nil)).Elem()
 66759  }
 66760  
 66761  // The parameters of `ScheduledTask.ReconfigureScheduledTask`.
 66762  type ReconfigureScheduledTaskRequestType struct {
 66763  	This ManagedObjectReference `xml:"_this" json:"-"`
 66764  	// The new specification for the scheduled task.
 66765  	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
 66766  }
 66767  
 66768  func init() {
 66769  	t["ReconfigureScheduledTaskRequestType"] = reflect.TypeOf((*ReconfigureScheduledTaskRequestType)(nil)).Elem()
 66770  }
 66771  
 66772  type ReconfigureScheduledTaskResponse struct {
 66773  }
 66774  
 66775  type ReconfigureServiceConsoleReservation ReconfigureServiceConsoleReservationRequestType
 66776  
 66777  func init() {
 66778  	t["ReconfigureServiceConsoleReservation"] = reflect.TypeOf((*ReconfigureServiceConsoleReservation)(nil)).Elem()
 66779  }
 66780  
 66781  // The parameters of `HostMemorySystem.ReconfigureServiceConsoleReservation`.
 66782  type ReconfigureServiceConsoleReservationRequestType struct {
 66783  	This     ManagedObjectReference `xml:"_this" json:"-"`
 66784  	CfgBytes int64                  `xml:"cfgBytes" json:"cfgBytes"`
 66785  }
 66786  
 66787  func init() {
 66788  	t["ReconfigureServiceConsoleReservationRequestType"] = reflect.TypeOf((*ReconfigureServiceConsoleReservationRequestType)(nil)).Elem()
 66789  }
 66790  
 66791  type ReconfigureServiceConsoleReservationResponse struct {
 66792  }
 66793  
 66794  type ReconfigureSnmpAgent ReconfigureSnmpAgentRequestType
 66795  
 66796  func init() {
 66797  	t["ReconfigureSnmpAgent"] = reflect.TypeOf((*ReconfigureSnmpAgent)(nil)).Elem()
 66798  }
 66799  
 66800  // The parameters of `HostSnmpSystem.ReconfigureSnmpAgent`.
 66801  type ReconfigureSnmpAgentRequestType struct {
 66802  	This ManagedObjectReference `xml:"_this" json:"-"`
 66803  	Spec HostSnmpConfigSpec     `xml:"spec" json:"spec"`
 66804  }
 66805  
 66806  func init() {
 66807  	t["ReconfigureSnmpAgentRequestType"] = reflect.TypeOf((*ReconfigureSnmpAgentRequestType)(nil)).Elem()
 66808  }
 66809  
 66810  type ReconfigureSnmpAgentResponse struct {
 66811  }
 66812  
 66813  type ReconfigureVirtualMachineReservation ReconfigureVirtualMachineReservationRequestType
 66814  
 66815  func init() {
 66816  	t["ReconfigureVirtualMachineReservation"] = reflect.TypeOf((*ReconfigureVirtualMachineReservation)(nil)).Elem()
 66817  }
 66818  
 66819  // The parameters of `HostMemorySystem.ReconfigureVirtualMachineReservation`.
 66820  type ReconfigureVirtualMachineReservationRequestType struct {
 66821  	This ManagedObjectReference              `xml:"_this" json:"-"`
 66822  	Spec VirtualMachineMemoryReservationSpec `xml:"spec" json:"spec"`
 66823  }
 66824  
 66825  func init() {
 66826  	t["ReconfigureVirtualMachineReservationRequestType"] = reflect.TypeOf((*ReconfigureVirtualMachineReservationRequestType)(nil)).Elem()
 66827  }
 66828  
 66829  type ReconfigureVirtualMachineReservationResponse struct {
 66830  }
 66831  
 66832  // The parameters of `HostSystem.ReconnectHost_Task`.
 66833  type ReconnectHostRequestType struct {
 66834  	This ManagedObjectReference `xml:"_this" json:"-"`
 66835  	// Includes the parameters to use, including user name and password,
 66836  	// when reconnecting to the host. If this parameter is not specified,
 66837  	// the default connection parameters is used.
 66838  	CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty" json:"cnxSpec,omitempty"`
 66839  	// Includes connection parameters specific to
 66840  	// reconnect. This will mainly be used to indicate how to
 66841  	// handle divergence between the host settings and vCenter Server
 66842  	// settings when the host was disconnected.
 66843  	ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty" json:"reconnectSpec,omitempty"`
 66844  }
 66845  
 66846  func init() {
 66847  	t["ReconnectHostRequestType"] = reflect.TypeOf((*ReconnectHostRequestType)(nil)).Elem()
 66848  }
 66849  
 66850  type ReconnectHost_Task ReconnectHostRequestType
 66851  
 66852  func init() {
 66853  	t["ReconnectHost_Task"] = reflect.TypeOf((*ReconnectHost_Task)(nil)).Elem()
 66854  }
 66855  
 66856  type ReconnectHost_TaskResponse struct {
 66857  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66858  }
 66859  
 66860  // Deprecated as of vSphere API 6.0.
 66861  //
 66862  // Fault thrown if a record or replay operation cannot be performed
 66863  // because these capabilities have been disabled on the virtual machine.
 66864  type RecordReplayDisabled struct {
 66865  	VimFault
 66866  }
 66867  
 66868  func init() {
 66869  	t["RecordReplayDisabled"] = reflect.TypeOf((*RecordReplayDisabled)(nil)).Elem()
 66870  }
 66871  
 66872  type RecordReplayDisabledFault RecordReplayDisabled
 66873  
 66874  func init() {
 66875  	t["RecordReplayDisabledFault"] = reflect.TypeOf((*RecordReplayDisabledFault)(nil)).Elem()
 66876  }
 66877  
 66878  // This event is generated when recovery takes place on a management vmknic
 66879  type RecoveryEvent struct {
 66880  	DvsEvent
 66881  
 66882  	// The host on which recovery happened
 66883  	HostName string `xml:"hostName" json:"hostName"`
 66884  	// The key of the new port
 66885  	PortKey string `xml:"portKey" json:"portKey"`
 66886  	// The uuid of the DVS
 66887  	DvsUuid string `xml:"dvsUuid,omitempty" json:"dvsUuid,omitempty"`
 66888  	// The virtual management NIC device where recovery was done
 66889  	Vnic string `xml:"vnic,omitempty" json:"vnic,omitempty"`
 66890  }
 66891  
 66892  func init() {
 66893  	t["RecoveryEvent"] = reflect.TypeOf((*RecoveryEvent)(nil)).Elem()
 66894  }
 66895  
 66896  // The parameters of `DistributedVirtualSwitch.RectifyDvsHost_Task`.
 66897  type RectifyDvsHostRequestType struct {
 66898  	This ManagedObjectReference `xml:"_this" json:"-"`
 66899  	// The hosts to be rectified.
 66900  	//
 66901  	// Refers instances of `HostSystem`.
 66902  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 66903  }
 66904  
 66905  func init() {
 66906  	t["RectifyDvsHostRequestType"] = reflect.TypeOf((*RectifyDvsHostRequestType)(nil)).Elem()
 66907  }
 66908  
 66909  type RectifyDvsHost_Task RectifyDvsHostRequestType
 66910  
 66911  func init() {
 66912  	t["RectifyDvsHost_Task"] = reflect.TypeOf((*RectifyDvsHost_Task)(nil)).Elem()
 66913  }
 66914  
 66915  type RectifyDvsHost_TaskResponse struct {
 66916  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66917  }
 66918  
 66919  // The parameters of `DistributedVirtualSwitchManager.RectifyDvsOnHost_Task`.
 66920  type RectifyDvsOnHostRequestType struct {
 66921  	This ManagedObjectReference `xml:"_this" json:"-"`
 66922  	// The hosts to be rectified.
 66923  	//
 66924  	// Refers instances of `HostSystem`.
 66925  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 66926  }
 66927  
 66928  func init() {
 66929  	t["RectifyDvsOnHostRequestType"] = reflect.TypeOf((*RectifyDvsOnHostRequestType)(nil)).Elem()
 66930  }
 66931  
 66932  type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType
 66933  
 66934  func init() {
 66935  	t["RectifyDvsOnHost_Task"] = reflect.TypeOf((*RectifyDvsOnHost_Task)(nil)).Elem()
 66936  }
 66937  
 66938  type RectifyDvsOnHost_TaskResponse struct {
 66939  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 66940  }
 66941  
 66942  // The `RecurrentTaskScheduler` data object is the base type for
 66943  // the hierarchy that includes hourly, daily, weekly, and monthly task schedulers.
 66944  type RecurrentTaskScheduler struct {
 66945  	TaskScheduler
 66946  
 66947  	// How often to run the scheduled task.
 66948  	//
 66949  	// The value must be greater than
 66950  	// or equal to 1 and less than 1000. The default value is 1.
 66951  	// The interval acts as a multiplier for the unit of time associated
 66952  	// with a particular scheduler (hours, days, weeks, or months).
 66953  	// For example, setting the `HourlyTaskScheduler` interval
 66954  	// to 4 causes the task to run every 4 hours.
 66955  	Interval int32 `xml:"interval" json:"interval"`
 66956  }
 66957  
 66958  func init() {
 66959  	t["RecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem()
 66960  }
 66961  
 66962  type Refresh RefreshRequestType
 66963  
 66964  func init() {
 66965  	t["Refresh"] = reflect.TypeOf((*Refresh)(nil)).Elem()
 66966  }
 66967  
 66968  type RefreshDVPortState RefreshDVPortStateRequestType
 66969  
 66970  func init() {
 66971  	t["RefreshDVPortState"] = reflect.TypeOf((*RefreshDVPortState)(nil)).Elem()
 66972  }
 66973  
 66974  // The parameters of `DistributedVirtualSwitch.RefreshDVPortState`.
 66975  type RefreshDVPortStateRequestType struct {
 66976  	This ManagedObjectReference `xml:"_this" json:"-"`
 66977  	// The keys of the ports to be refreshed. If not specified, all port
 66978  	// states are refreshed.
 66979  	PortKeys []string `xml:"portKeys,omitempty" json:"portKeys,omitempty"`
 66980  }
 66981  
 66982  func init() {
 66983  	t["RefreshDVPortStateRequestType"] = reflect.TypeOf((*RefreshDVPortStateRequestType)(nil)).Elem()
 66984  }
 66985  
 66986  type RefreshDVPortStateResponse struct {
 66987  }
 66988  
 66989  type RefreshDatastore RefreshDatastoreRequestType
 66990  
 66991  func init() {
 66992  	t["RefreshDatastore"] = reflect.TypeOf((*RefreshDatastore)(nil)).Elem()
 66993  }
 66994  
 66995  type RefreshDatastoreRequestType struct {
 66996  	This ManagedObjectReference `xml:"_this" json:"-"`
 66997  }
 66998  
 66999  func init() {
 67000  	t["RefreshDatastoreRequestType"] = reflect.TypeOf((*RefreshDatastoreRequestType)(nil)).Elem()
 67001  }
 67002  
 67003  type RefreshDatastoreResponse struct {
 67004  }
 67005  
 67006  type RefreshDatastoreStorageInfo RefreshDatastoreStorageInfoRequestType
 67007  
 67008  func init() {
 67009  	t["RefreshDatastoreStorageInfo"] = reflect.TypeOf((*RefreshDatastoreStorageInfo)(nil)).Elem()
 67010  }
 67011  
 67012  type RefreshDatastoreStorageInfoRequestType struct {
 67013  	This ManagedObjectReference `xml:"_this" json:"-"`
 67014  }
 67015  
 67016  func init() {
 67017  	t["RefreshDatastoreStorageInfoRequestType"] = reflect.TypeOf((*RefreshDatastoreStorageInfoRequestType)(nil)).Elem()
 67018  }
 67019  
 67020  type RefreshDatastoreStorageInfoResponse struct {
 67021  }
 67022  
 67023  type RefreshDateTimeSystem RefreshDateTimeSystemRequestType
 67024  
 67025  func init() {
 67026  	t["RefreshDateTimeSystem"] = reflect.TypeOf((*RefreshDateTimeSystem)(nil)).Elem()
 67027  }
 67028  
 67029  type RefreshDateTimeSystemRequestType struct {
 67030  	This ManagedObjectReference `xml:"_this" json:"-"`
 67031  }
 67032  
 67033  func init() {
 67034  	t["RefreshDateTimeSystemRequestType"] = reflect.TypeOf((*RefreshDateTimeSystemRequestType)(nil)).Elem()
 67035  }
 67036  
 67037  type RefreshDateTimeSystemResponse struct {
 67038  }
 67039  
 67040  type RefreshFirewall RefreshFirewallRequestType
 67041  
 67042  func init() {
 67043  	t["RefreshFirewall"] = reflect.TypeOf((*RefreshFirewall)(nil)).Elem()
 67044  }
 67045  
 67046  type RefreshFirewallRequestType struct {
 67047  	This ManagedObjectReference `xml:"_this" json:"-"`
 67048  }
 67049  
 67050  func init() {
 67051  	t["RefreshFirewallRequestType"] = reflect.TypeOf((*RefreshFirewallRequestType)(nil)).Elem()
 67052  }
 67053  
 67054  type RefreshFirewallResponse struct {
 67055  }
 67056  
 67057  type RefreshGraphicsManager RefreshGraphicsManagerRequestType
 67058  
 67059  func init() {
 67060  	t["RefreshGraphicsManager"] = reflect.TypeOf((*RefreshGraphicsManager)(nil)).Elem()
 67061  }
 67062  
 67063  type RefreshGraphicsManagerRequestType struct {
 67064  	This ManagedObjectReference `xml:"_this" json:"-"`
 67065  }
 67066  
 67067  func init() {
 67068  	t["RefreshGraphicsManagerRequestType"] = reflect.TypeOf((*RefreshGraphicsManagerRequestType)(nil)).Elem()
 67069  }
 67070  
 67071  type RefreshGraphicsManagerResponse struct {
 67072  }
 67073  
 67074  type RefreshHealthStatusSystem RefreshHealthStatusSystemRequestType
 67075  
 67076  func init() {
 67077  	t["RefreshHealthStatusSystem"] = reflect.TypeOf((*RefreshHealthStatusSystem)(nil)).Elem()
 67078  }
 67079  
 67080  type RefreshHealthStatusSystemRequestType struct {
 67081  	This ManagedObjectReference `xml:"_this" json:"-"`
 67082  }
 67083  
 67084  func init() {
 67085  	t["RefreshHealthStatusSystemRequestType"] = reflect.TypeOf((*RefreshHealthStatusSystemRequestType)(nil)).Elem()
 67086  }
 67087  
 67088  type RefreshHealthStatusSystemResponse struct {
 67089  }
 67090  
 67091  type RefreshNetworkSystem RefreshNetworkSystemRequestType
 67092  
 67093  func init() {
 67094  	t["RefreshNetworkSystem"] = reflect.TypeOf((*RefreshNetworkSystem)(nil)).Elem()
 67095  }
 67096  
 67097  type RefreshNetworkSystemRequestType struct {
 67098  	This ManagedObjectReference `xml:"_this" json:"-"`
 67099  }
 67100  
 67101  func init() {
 67102  	t["RefreshNetworkSystemRequestType"] = reflect.TypeOf((*RefreshNetworkSystemRequestType)(nil)).Elem()
 67103  }
 67104  
 67105  type RefreshNetworkSystemResponse struct {
 67106  }
 67107  
 67108  type RefreshRecommendation RefreshRecommendationRequestType
 67109  
 67110  func init() {
 67111  	t["RefreshRecommendation"] = reflect.TypeOf((*RefreshRecommendation)(nil)).Elem()
 67112  }
 67113  
 67114  type RefreshRecommendationRequestType struct {
 67115  	This ManagedObjectReference `xml:"_this" json:"-"`
 67116  }
 67117  
 67118  func init() {
 67119  	t["RefreshRecommendationRequestType"] = reflect.TypeOf((*RefreshRecommendationRequestType)(nil)).Elem()
 67120  }
 67121  
 67122  type RefreshRecommendationResponse struct {
 67123  }
 67124  
 67125  type RefreshRequestType struct {
 67126  	This ManagedObjectReference `xml:"_this" json:"-"`
 67127  }
 67128  
 67129  func init() {
 67130  	t["RefreshRequestType"] = reflect.TypeOf((*RefreshRequestType)(nil)).Elem()
 67131  }
 67132  
 67133  type RefreshResponse struct {
 67134  }
 67135  
 67136  type RefreshRuntime RefreshRuntimeRequestType
 67137  
 67138  func init() {
 67139  	t["RefreshRuntime"] = reflect.TypeOf((*RefreshRuntime)(nil)).Elem()
 67140  }
 67141  
 67142  type RefreshRuntimeRequestType struct {
 67143  	This ManagedObjectReference `xml:"_this" json:"-"`
 67144  }
 67145  
 67146  func init() {
 67147  	t["RefreshRuntimeRequestType"] = reflect.TypeOf((*RefreshRuntimeRequestType)(nil)).Elem()
 67148  }
 67149  
 67150  type RefreshRuntimeResponse struct {
 67151  }
 67152  
 67153  type RefreshServices RefreshServicesRequestType
 67154  
 67155  func init() {
 67156  	t["RefreshServices"] = reflect.TypeOf((*RefreshServices)(nil)).Elem()
 67157  }
 67158  
 67159  type RefreshServicesRequestType struct {
 67160  	This ManagedObjectReference `xml:"_this" json:"-"`
 67161  }
 67162  
 67163  func init() {
 67164  	t["RefreshServicesRequestType"] = reflect.TypeOf((*RefreshServicesRequestType)(nil)).Elem()
 67165  }
 67166  
 67167  type RefreshServicesResponse struct {
 67168  }
 67169  
 67170  type RefreshStorageDrsRecommendation RefreshStorageDrsRecommendationRequestType
 67171  
 67172  func init() {
 67173  	t["RefreshStorageDrsRecommendation"] = reflect.TypeOf((*RefreshStorageDrsRecommendation)(nil)).Elem()
 67174  }
 67175  
 67176  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendation`.
 67177  type RefreshStorageDrsRecommendationRequestType struct {
 67178  	This ManagedObjectReference `xml:"_this" json:"-"`
 67179  	// The storage pod.
 67180  	// The recommendations generated is stored at
 67181  	// `PodStorageDrsEntry.recommendation`.
 67182  	//
 67183  	// Refers instance of `StoragePod`.
 67184  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 67185  }
 67186  
 67187  func init() {
 67188  	t["RefreshStorageDrsRecommendationRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationRequestType)(nil)).Elem()
 67189  }
 67190  
 67191  type RefreshStorageDrsRecommendationResponse struct {
 67192  }
 67193  
 67194  // The parameters of `StorageResourceManager.RefreshStorageDrsRecommendationsForPod_Task`.
 67195  type RefreshStorageDrsRecommendationsForPodRequestType struct {
 67196  	This ManagedObjectReference `xml:"_this" json:"-"`
 67197  	// The storage pod.
 67198  	// The recommendations generated is stored at
 67199  	// `PodStorageDrsEntry.recommendation`.
 67200  	//
 67201  	// Refers instance of `StoragePod`.
 67202  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 67203  }
 67204  
 67205  func init() {
 67206  	t["RefreshStorageDrsRecommendationsForPodRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPodRequestType)(nil)).Elem()
 67207  }
 67208  
 67209  type RefreshStorageDrsRecommendationsForPod_Task RefreshStorageDrsRecommendationsForPodRequestType
 67210  
 67211  func init() {
 67212  	t["RefreshStorageDrsRecommendationsForPod_Task"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPod_Task)(nil)).Elem()
 67213  }
 67214  
 67215  type RefreshStorageDrsRecommendationsForPod_TaskResponse struct {
 67216  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67217  }
 67218  
 67219  type RefreshStorageInfo RefreshStorageInfoRequestType
 67220  
 67221  func init() {
 67222  	t["RefreshStorageInfo"] = reflect.TypeOf((*RefreshStorageInfo)(nil)).Elem()
 67223  }
 67224  
 67225  type RefreshStorageInfoRequestType struct {
 67226  	This ManagedObjectReference `xml:"_this" json:"-"`
 67227  }
 67228  
 67229  func init() {
 67230  	t["RefreshStorageInfoRequestType"] = reflect.TypeOf((*RefreshStorageInfoRequestType)(nil)).Elem()
 67231  }
 67232  
 67233  type RefreshStorageInfoResponse struct {
 67234  }
 67235  
 67236  type RefreshStorageSystem RefreshStorageSystemRequestType
 67237  
 67238  func init() {
 67239  	t["RefreshStorageSystem"] = reflect.TypeOf((*RefreshStorageSystem)(nil)).Elem()
 67240  }
 67241  
 67242  type RefreshStorageSystemRequestType struct {
 67243  	This ManagedObjectReference `xml:"_this" json:"-"`
 67244  }
 67245  
 67246  func init() {
 67247  	t["RefreshStorageSystemRequestType"] = reflect.TypeOf((*RefreshStorageSystemRequestType)(nil)).Elem()
 67248  }
 67249  
 67250  type RefreshStorageSystemResponse struct {
 67251  }
 67252  
 67253  // The parameters of `ResourcePool.RegisterChildVM_Task`.
 67254  type RegisterChildVMRequestType struct {
 67255  	This ManagedObjectReference `xml:"_this" json:"-"`
 67256  	// A datastore path to the virtual machine. If the path ends with
 67257  	// ".vmtx", indicating that it refers to a VM template, an InvalidArgument
 67258  	// fault is thrown.
 67259  	Path string `xml:"path" json:"path"`
 67260  	// The name to be assigned to the virtual machine. If this parameter is
 67261  	// not set, the displayName configuration parameter of the virtual machine is
 67262  	// used. An entity name must be a non-empty string of less than 80
 67263  	// characters. The slash (/), backslash (\\) and percent (%) will be
 67264  	// escaped using the URL syntax. For example, %2F.
 67265  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67266  	// The target host on which the virtual machine will run. This parameter
 67267  	// must specify a host that is a member of the ComputeResource to which this
 67268  	// resource pool belongs. For a stand-alone host or a cluster with DRS,
 67269  	// the parameter can be omitted, and the system selects a default.
 67270  	//
 67271  	// Refers instance of `HostSystem`.
 67272  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 67273  }
 67274  
 67275  func init() {
 67276  	t["RegisterChildVMRequestType"] = reflect.TypeOf((*RegisterChildVMRequestType)(nil)).Elem()
 67277  }
 67278  
 67279  type RegisterChildVM_Task RegisterChildVMRequestType
 67280  
 67281  func init() {
 67282  	t["RegisterChildVM_Task"] = reflect.TypeOf((*RegisterChildVM_Task)(nil)).Elem()
 67283  }
 67284  
 67285  type RegisterChildVM_TaskResponse struct {
 67286  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67287  }
 67288  
 67289  type RegisterDisk RegisterDiskRequestType
 67290  
 67291  func init() {
 67292  	t["RegisterDisk"] = reflect.TypeOf((*RegisterDisk)(nil)).Elem()
 67293  }
 67294  
 67295  // The parameters of `VcenterVStorageObjectManager.RegisterDisk`.
 67296  type RegisterDiskRequestType struct {
 67297  	This ManagedObjectReference `xml:"_this" json:"-"`
 67298  	// URL path to the virtual disk.
 67299  	Path string `xml:"path" json:"path"`
 67300  	// The descriptive name of the disk object. If
 67301  	// unset the name will be automatically determined
 67302  	// from the path. @see vim.vslm.BaseConfigInfo#name
 67303  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67304  }
 67305  
 67306  func init() {
 67307  	t["RegisterDiskRequestType"] = reflect.TypeOf((*RegisterDiskRequestType)(nil)).Elem()
 67308  }
 67309  
 67310  type RegisterDiskResponse struct {
 67311  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 67312  }
 67313  
 67314  type RegisterExtension RegisterExtensionRequestType
 67315  
 67316  func init() {
 67317  	t["RegisterExtension"] = reflect.TypeOf((*RegisterExtension)(nil)).Elem()
 67318  }
 67319  
 67320  // The parameters of `ExtensionManager.RegisterExtension`.
 67321  type RegisterExtensionRequestType struct {
 67322  	This ManagedObjectReference `xml:"_this" json:"-"`
 67323  	// Extension description to register.
 67324  	Extension Extension `xml:"extension" json:"extension"`
 67325  }
 67326  
 67327  func init() {
 67328  	t["RegisterExtensionRequestType"] = reflect.TypeOf((*RegisterExtensionRequestType)(nil)).Elem()
 67329  }
 67330  
 67331  type RegisterExtensionResponse struct {
 67332  }
 67333  
 67334  type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType
 67335  
 67336  func init() {
 67337  	t["RegisterHealthUpdateProvider"] = reflect.TypeOf((*RegisterHealthUpdateProvider)(nil)).Elem()
 67338  }
 67339  
 67340  // The parameters of `HealthUpdateManager.RegisterHealthUpdateProvider`.
 67341  type RegisterHealthUpdateProviderRequestType struct {
 67342  	This ManagedObjectReference `xml:"_this" json:"-"`
 67343  	// The provider name. Should follow Java package
 67344  	// naming convention to minimize name clashes with
 67345  	// currently registered providers.
 67346  	// For example, "com.vmware.HealthUpdateProvider".
 67347  	Name string `xml:"name" json:"name"`
 67348  	// The list of healthUpdateInfo that can be
 67349  	// reported in healthUpdates.
 67350  	HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty" json:"healthUpdateInfo,omitempty"`
 67351  }
 67352  
 67353  func init() {
 67354  	t["RegisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*RegisterHealthUpdateProviderRequestType)(nil)).Elem()
 67355  }
 67356  
 67357  type RegisterHealthUpdateProviderResponse struct {
 67358  	Returnval string `xml:"returnval" json:"returnval"`
 67359  }
 67360  
 67361  type RegisterKmipServer RegisterKmipServerRequestType
 67362  
 67363  func init() {
 67364  	t["RegisterKmipServer"] = reflect.TypeOf((*RegisterKmipServer)(nil)).Elem()
 67365  }
 67366  
 67367  // The parameters of `CryptoManagerKmip.RegisterKmipServer`.
 67368  type RegisterKmipServerRequestType struct {
 67369  	This ManagedObjectReference `xml:"_this" json:"-"`
 67370  	// \[in\] KMIP server connection information.
 67371  	// When register a new KMIP server to the key provider,
 67372  	// the `KmipServerSpec#defaultKeyType` and
 67373  	// `KmipServerSpec#wrappingKeySpec` must match
 67374  	// existing servers.
 67375  	Server KmipServerSpec `xml:"server" json:"server"`
 67376  }
 67377  
 67378  func init() {
 67379  	t["RegisterKmipServerRequestType"] = reflect.TypeOf((*RegisterKmipServerRequestType)(nil)).Elem()
 67380  }
 67381  
 67382  type RegisterKmipServerResponse struct {
 67383  }
 67384  
 67385  type RegisterKmsCluster RegisterKmsClusterRequestType
 67386  
 67387  func init() {
 67388  	t["RegisterKmsCluster"] = reflect.TypeOf((*RegisterKmsCluster)(nil)).Elem()
 67389  }
 67390  
 67391  // The parameters of `CryptoManagerKmip.RegisterKmsCluster`.
 67392  type RegisterKmsClusterRequestType struct {
 67393  	This ManagedObjectReference `xml:"_this" json:"-"`
 67394  	// \[in\] KMS cluster ID to register.
 67395  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 67396  	// \[in\] Key provider management type
 67397  	// See `KmipClusterInfoKmsManagementType_enum`
 67398  	// for valid values.
 67399  	// By default trustAuthority.
 67400  	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
 67401  }
 67402  
 67403  func init() {
 67404  	t["RegisterKmsClusterRequestType"] = reflect.TypeOf((*RegisterKmsClusterRequestType)(nil)).Elem()
 67405  }
 67406  
 67407  type RegisterKmsClusterResponse struct {
 67408  }
 67409  
 67410  // The parameters of `Folder.RegisterVM_Task`.
 67411  type RegisterVMRequestType struct {
 67412  	This ManagedObjectReference `xml:"_this" json:"-"`
 67413  	// A datastore path to the virtual machine.
 67414  	Path string `xml:"path" json:"path"`
 67415  	// The name to be assigned to the virtual machine. If this parameter is
 67416  	// not set, the displayName configuration parameter of the virtual machine is
 67417  	// used. An entity name must be a non-empty string of less than 80
 67418  	// characters. The slash (/), backslash (\\) and percent (%) will be
 67419  	// escaped using the URL syntax. For example, %2F.
 67420  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 67421  	// Flag to specify whether or not the virtual machine
 67422  	// should be marked as a template.
 67423  	AsTemplate bool `xml:"asTemplate" json:"asTemplate"`
 67424  	// The resource pool to which the virtual machine should be attached.
 67425  	// If imported as a template, this parameter is not set.
 67426  	//
 67427  	// Required privileges: Resource.AssignVMToPool
 67428  	//
 67429  	// Refers instance of `ResourcePool`.
 67430  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 67431  	// The target host on which the virtual machine will run. This parameter
 67432  	// must specify a host that is a member of the ComputeResource indirectly
 67433  	// specified by the pool. For a stand-alone host or a cluster,
 67434  	// the parameter can be omitted, and the system selects a default.
 67435  	//
 67436  	// Refers instance of `HostSystem`.
 67437  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 67438  }
 67439  
 67440  func init() {
 67441  	t["RegisterVMRequestType"] = reflect.TypeOf((*RegisterVMRequestType)(nil)).Elem()
 67442  }
 67443  
 67444  type RegisterVM_Task RegisterVMRequestType
 67445  
 67446  func init() {
 67447  	t["RegisterVM_Task"] = reflect.TypeOf((*RegisterVM_Task)(nil)).Elem()
 67448  }
 67449  
 67450  type RegisterVM_TaskResponse struct {
 67451  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67452  }
 67453  
 67454  type Relation struct {
 67455  	DynamicData
 67456  
 67457  	// If contraint is not set, the relation holds for all versions.
 67458  	//
 67459  	// and if a constraint is defined it will be one of
 67460  	// `SoftwarePackageConstraint_enum`.
 67461  	Constraint string `xml:"constraint,omitempty" json:"constraint,omitempty"`
 67462  	Name       string `xml:"name" json:"name"`
 67463  	Version    string `xml:"version,omitempty" json:"version,omitempty"`
 67464  }
 67465  
 67466  func init() {
 67467  	t["Relation"] = reflect.TypeOf((*Relation)(nil)).Elem()
 67468  }
 67469  
 67470  type ReleaseCredentialsInGuest ReleaseCredentialsInGuestRequestType
 67471  
 67472  func init() {
 67473  	t["ReleaseCredentialsInGuest"] = reflect.TypeOf((*ReleaseCredentialsInGuest)(nil)).Elem()
 67474  }
 67475  
 67476  // The parameters of `GuestAuthManager.ReleaseCredentialsInGuest`.
 67477  type ReleaseCredentialsInGuestRequestType struct {
 67478  	This ManagedObjectReference `xml:"_this" json:"-"`
 67479  	// MoRef of the VM to perform the operation on.
 67480  	//
 67481  	// Required privileges: VirtualMachine.GuestOperations.Query
 67482  	//
 67483  	// Refers instance of `VirtualMachine`.
 67484  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 67485  	// The guest authentication data. See
 67486  	// `GuestAuthentication`.
 67487  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 67488  }
 67489  
 67490  func init() {
 67491  	t["ReleaseCredentialsInGuestRequestType"] = reflect.TypeOf((*ReleaseCredentialsInGuestRequestType)(nil)).Elem()
 67492  }
 67493  
 67494  type ReleaseCredentialsInGuestResponse struct {
 67495  }
 67496  
 67497  type ReleaseIpAllocation ReleaseIpAllocationRequestType
 67498  
 67499  func init() {
 67500  	t["ReleaseIpAllocation"] = reflect.TypeOf((*ReleaseIpAllocation)(nil)).Elem()
 67501  }
 67502  
 67503  // The parameters of `IpPoolManager.ReleaseIpAllocation`.
 67504  type ReleaseIpAllocationRequestType struct {
 67505  	This ManagedObjectReference `xml:"_this" json:"-"`
 67506  	// The datacenter on which to find the pool
 67507  	//
 67508  	// Required privileges: Datacenter.IpPoolReleaseIp
 67509  	//
 67510  	// Refers instance of `Datacenter`.
 67511  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 67512  	// The unique ID of the pool
 67513  	PoolId int32 `xml:"poolId" json:"poolId"`
 67514  	// The unique ID for this allocation
 67515  	AllocationId string `xml:"allocationId" json:"allocationId"`
 67516  }
 67517  
 67518  func init() {
 67519  	t["ReleaseIpAllocationRequestType"] = reflect.TypeOf((*ReleaseIpAllocationRequestType)(nil)).Elem()
 67520  }
 67521  
 67522  type ReleaseIpAllocationResponse struct {
 67523  }
 67524  
 67525  type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType
 67526  
 67527  func init() {
 67528  	t["ReleaseManagedSnapshot"] = reflect.TypeOf((*ReleaseManagedSnapshot)(nil)).Elem()
 67529  }
 67530  
 67531  // The parameters of `VirtualDiskManager.ReleaseManagedSnapshot`.
 67532  type ReleaseManagedSnapshotRequestType struct {
 67533  	This ManagedObjectReference `xml:"_this" json:"-"`
 67534  	// \- The name of the disk to release, either a datastore path or a URL
 67535  	// referring to the virtual disk.
 67536  	Vdisk string `xml:"vdisk" json:"vdisk"`
 67537  	// If <code>vdisk</code> is a datastore path, the datacenter for
 67538  	// that datastore path. Not needed when invoked directly on ESX.
 67539  	// If not specified on a call to VirtualCenter,
 67540  	// <code>vdisk</code> must be a URL.
 67541  	//
 67542  	// Refers instance of `Datacenter`.
 67543  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 67544  }
 67545  
 67546  func init() {
 67547  	t["ReleaseManagedSnapshotRequestType"] = reflect.TypeOf((*ReleaseManagedSnapshotRequestType)(nil)).Elem()
 67548  }
 67549  
 67550  type ReleaseManagedSnapshotResponse struct {
 67551  }
 67552  
 67553  type Reload ReloadRequestType
 67554  
 67555  func init() {
 67556  	t["Reload"] = reflect.TypeOf((*Reload)(nil)).Elem()
 67557  }
 67558  
 67559  type ReloadRequestType struct {
 67560  	This ManagedObjectReference `xml:"_this" json:"-"`
 67561  }
 67562  
 67563  func init() {
 67564  	t["ReloadRequestType"] = reflect.TypeOf((*ReloadRequestType)(nil)).Elem()
 67565  }
 67566  
 67567  type ReloadResponse struct {
 67568  }
 67569  
 67570  // The parameters of `VirtualMachine.RelocateVM_Task`.
 67571  type RelocateVMRequestType struct {
 67572  	This ManagedObjectReference `xml:"_this" json:"-"`
 67573  	// The specification of where to relocate the virtual machine
 67574  	// (see `VirtualMachineRelocateSpec`).
 67575  	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
 67576  	// The task priority
 67577  	// (see `VirtualMachineMovePriority_enum`).
 67578  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 67579  }
 67580  
 67581  func init() {
 67582  	t["RelocateVMRequestType"] = reflect.TypeOf((*RelocateVMRequestType)(nil)).Elem()
 67583  }
 67584  
 67585  type RelocateVM_Task RelocateVMRequestType
 67586  
 67587  func init() {
 67588  	t["RelocateVM_Task"] = reflect.TypeOf((*RelocateVM_Task)(nil)).Elem()
 67589  }
 67590  
 67591  type RelocateVM_TaskResponse struct {
 67592  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67593  }
 67594  
 67595  // The parameters of `VcenterVStorageObjectManager.RelocateVStorageObject_Task`.
 67596  type RelocateVStorageObjectRequestType struct {
 67597  	This ManagedObjectReference `xml:"_this" json:"-"`
 67598  	// The ID of the virtual storage object.
 67599  	Id ID `xml:"id" json:"id"`
 67600  	// The datastore where the source virtual storage object
 67601  	// is located.
 67602  	//
 67603  	// Refers instance of `Datastore`.
 67604  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67605  	// The specification for relocation of the virtual
 67606  	// storage object.
 67607  	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
 67608  }
 67609  
 67610  func init() {
 67611  	t["RelocateVStorageObjectRequestType"] = reflect.TypeOf((*RelocateVStorageObjectRequestType)(nil)).Elem()
 67612  }
 67613  
 67614  type RelocateVStorageObject_Task RelocateVStorageObjectRequestType
 67615  
 67616  func init() {
 67617  	t["RelocateVStorageObject_Task"] = reflect.TypeOf((*RelocateVStorageObject_Task)(nil)).Elem()
 67618  }
 67619  
 67620  type RelocateVStorageObject_TaskResponse struct {
 67621  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67622  }
 67623  
 67624  // The virtual machine has a currently connected device with a remote backing.
 67625  //
 67626  // This is an error when migrating a powered-on virtual machine, and can be returned
 67627  // as a subfault of DisallowedMigrationDeviceAttached.
 67628  type RemoteDeviceNotSupported struct {
 67629  	DeviceNotSupported
 67630  }
 67631  
 67632  func init() {
 67633  	t["RemoteDeviceNotSupported"] = reflect.TypeOf((*RemoteDeviceNotSupported)(nil)).Elem()
 67634  }
 67635  
 67636  type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported
 67637  
 67638  func init() {
 67639  	t["RemoteDeviceNotSupportedFault"] = reflect.TypeOf((*RemoteDeviceNotSupportedFault)(nil)).Elem()
 67640  }
 67641  
 67642  // Remote Tech Support Mode for the host has been enabled.
 67643  type RemoteTSMEnabledEvent struct {
 67644  	HostEvent
 67645  }
 67646  
 67647  func init() {
 67648  	t["RemoteTSMEnabledEvent"] = reflect.TypeOf((*RemoteTSMEnabledEvent)(nil)).Elem()
 67649  }
 67650  
 67651  type RemoveAlarm RemoveAlarmRequestType
 67652  
 67653  func init() {
 67654  	t["RemoveAlarm"] = reflect.TypeOf((*RemoveAlarm)(nil)).Elem()
 67655  }
 67656  
 67657  type RemoveAlarmRequestType struct {
 67658  	This ManagedObjectReference `xml:"_this" json:"-"`
 67659  }
 67660  
 67661  func init() {
 67662  	t["RemoveAlarmRequestType"] = reflect.TypeOf((*RemoveAlarmRequestType)(nil)).Elem()
 67663  }
 67664  
 67665  type RemoveAlarmResponse struct {
 67666  }
 67667  
 67668  // The parameters of `VirtualMachine.RemoveAllSnapshots_Task`.
 67669  type RemoveAllSnapshotsRequestType struct {
 67670  	This ManagedObjectReference `xml:"_this" json:"-"`
 67671  	// (optional) If set to true, the virtual disks of the deleted
 67672  	// snapshot will be merged with other disk if possible. Default to true.
 67673  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 67674  	// (optional) When provided, only snapshots satisfying the
 67675  	// criteria described by the spec will be removed. If unset, all snapshots
 67676  	// will be removed.
 67677  	Spec *SnapshotSelectionSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.3.0"`
 67678  }
 67679  
 67680  func init() {
 67681  	t["RemoveAllSnapshotsRequestType"] = reflect.TypeOf((*RemoveAllSnapshotsRequestType)(nil)).Elem()
 67682  }
 67683  
 67684  type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType
 67685  
 67686  func init() {
 67687  	t["RemoveAllSnapshots_Task"] = reflect.TypeOf((*RemoveAllSnapshots_Task)(nil)).Elem()
 67688  }
 67689  
 67690  type RemoveAllSnapshots_TaskResponse struct {
 67691  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67692  }
 67693  
 67694  type RemoveAssignedLicense RemoveAssignedLicenseRequestType
 67695  
 67696  func init() {
 67697  	t["RemoveAssignedLicense"] = reflect.TypeOf((*RemoveAssignedLicense)(nil)).Elem()
 67698  }
 67699  
 67700  // The parameters of `LicenseAssignmentManager.RemoveAssignedLicense`.
 67701  type RemoveAssignedLicenseRequestType struct {
 67702  	This ManagedObjectReference `xml:"_this" json:"-"`
 67703  	// ID of the entity. E.g. HostSystem.
 67704  	EntityId string `xml:"entityId" json:"entityId"`
 67705  }
 67706  
 67707  func init() {
 67708  	t["RemoveAssignedLicenseRequestType"] = reflect.TypeOf((*RemoveAssignedLicenseRequestType)(nil)).Elem()
 67709  }
 67710  
 67711  type RemoveAssignedLicenseResponse struct {
 67712  }
 67713  
 67714  type RemoveAuthorizationRole RemoveAuthorizationRoleRequestType
 67715  
 67716  func init() {
 67717  	t["RemoveAuthorizationRole"] = reflect.TypeOf((*RemoveAuthorizationRole)(nil)).Elem()
 67718  }
 67719  
 67720  // The parameters of `AuthorizationManager.RemoveAuthorizationRole`.
 67721  type RemoveAuthorizationRoleRequestType struct {
 67722  	This   ManagedObjectReference `xml:"_this" json:"-"`
 67723  	RoleId int32                  `xml:"roleId" json:"roleId"`
 67724  	// If true, prevents the role from being
 67725  	// removed if any permissions are using it.
 67726  	FailIfUsed bool `xml:"failIfUsed" json:"failIfUsed"`
 67727  }
 67728  
 67729  func init() {
 67730  	t["RemoveAuthorizationRoleRequestType"] = reflect.TypeOf((*RemoveAuthorizationRoleRequestType)(nil)).Elem()
 67731  }
 67732  
 67733  type RemoveAuthorizationRoleResponse struct {
 67734  }
 67735  
 67736  type RemoveCustomFieldDef RemoveCustomFieldDefRequestType
 67737  
 67738  func init() {
 67739  	t["RemoveCustomFieldDef"] = reflect.TypeOf((*RemoveCustomFieldDef)(nil)).Elem()
 67740  }
 67741  
 67742  // The parameters of `CustomFieldsManager.RemoveCustomFieldDef`.
 67743  type RemoveCustomFieldDefRequestType struct {
 67744  	This ManagedObjectReference `xml:"_this" json:"-"`
 67745  	// The unique key for the field definition.
 67746  	Key int32 `xml:"key" json:"key"`
 67747  }
 67748  
 67749  func init() {
 67750  	t["RemoveCustomFieldDefRequestType"] = reflect.TypeOf((*RemoveCustomFieldDefRequestType)(nil)).Elem()
 67751  }
 67752  
 67753  type RemoveCustomFieldDefResponse struct {
 67754  }
 67755  
 67756  type RemoveDatastore RemoveDatastoreRequestType
 67757  
 67758  func init() {
 67759  	t["RemoveDatastore"] = reflect.TypeOf((*RemoveDatastore)(nil)).Elem()
 67760  }
 67761  
 67762  // The parameters of `HostDatastoreSystem.RemoveDatastoreEx_Task`.
 67763  type RemoveDatastoreExRequestType struct {
 67764  	This ManagedObjectReference `xml:"_this" json:"-"`
 67765  	// each element specifies one datastore to be removed.
 67766  	//
 67767  	// Refers instances of `Datastore`.
 67768  	Datastore []ManagedObjectReference `xml:"datastore" json:"datastore"`
 67769  }
 67770  
 67771  func init() {
 67772  	t["RemoveDatastoreExRequestType"] = reflect.TypeOf((*RemoveDatastoreExRequestType)(nil)).Elem()
 67773  }
 67774  
 67775  type RemoveDatastoreEx_Task RemoveDatastoreExRequestType
 67776  
 67777  func init() {
 67778  	t["RemoveDatastoreEx_Task"] = reflect.TypeOf((*RemoveDatastoreEx_Task)(nil)).Elem()
 67779  }
 67780  
 67781  type RemoveDatastoreEx_TaskResponse struct {
 67782  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67783  }
 67784  
 67785  // The parameters of `HostDatastoreSystem.RemoveDatastore`.
 67786  type RemoveDatastoreRequestType struct {
 67787  	This ManagedObjectReference `xml:"_this" json:"-"`
 67788  	// The datastore to be removed.
 67789  	//
 67790  	// Refers instance of `Datastore`.
 67791  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 67792  }
 67793  
 67794  func init() {
 67795  	t["RemoveDatastoreRequestType"] = reflect.TypeOf((*RemoveDatastoreRequestType)(nil)).Elem()
 67796  }
 67797  
 67798  type RemoveDatastoreResponse struct {
 67799  }
 67800  
 67801  // The parameters of `HostVsanSystem.RemoveDiskMapping_Task`.
 67802  type RemoveDiskMappingRequestType struct {
 67803  	This ManagedObjectReference `xml:"_this" json:"-"`
 67804  	// list of disk mappings to be removed from VSAN usage.
 67805  	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 67806  	// Any additional actions to move data out of the disk
 67807  	// before removing it. See `HostMaintenanceSpec`.
 67808  	// If unspecified, there is no action taken to move
 67809  	// data from the disk.
 67810  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 67811  	// Time to wait for the task to complete in seconds.
 67812  	// If the value is less than or equal to zero, there
 67813  	// is no timeout. The operation fails with a Timedout
 67814  	// exception if it timed out.
 67815  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 67816  }
 67817  
 67818  func init() {
 67819  	t["RemoveDiskMappingRequestType"] = reflect.TypeOf((*RemoveDiskMappingRequestType)(nil)).Elem()
 67820  }
 67821  
 67822  type RemoveDiskMapping_Task RemoveDiskMappingRequestType
 67823  
 67824  func init() {
 67825  	t["RemoveDiskMapping_Task"] = reflect.TypeOf((*RemoveDiskMapping_Task)(nil)).Elem()
 67826  }
 67827  
 67828  type RemoveDiskMapping_TaskResponse struct {
 67829  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67830  }
 67831  
 67832  // The parameters of `HostVsanSystem.RemoveDisk_Task`.
 67833  type RemoveDiskRequestType struct {
 67834  	This ManagedObjectReference `xml:"_this" json:"-"`
 67835  	// list of disks to be removed from use by the VSAN service.
 67836  	Disk []HostScsiDisk `xml:"disk" json:"disk"`
 67837  	// Any additional actions to move data out of the disk
 67838  	// before removing it. See `HostMaintenanceSpec`.
 67839  	// If unspecified, there is no action taken to move
 67840  	// data from the disk.
 67841  	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty"`
 67842  	// Time to wait for the task to complete in seconds.
 67843  	// If the value is less than or equal to zero, there
 67844  	// is no timeout. The operation fails with a Timedout
 67845  	// exception if it timed out.
 67846  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 67847  }
 67848  
 67849  func init() {
 67850  	t["RemoveDiskRequestType"] = reflect.TypeOf((*RemoveDiskRequestType)(nil)).Elem()
 67851  }
 67852  
 67853  type RemoveDisk_Task RemoveDiskRequestType
 67854  
 67855  func init() {
 67856  	t["RemoveDisk_Task"] = reflect.TypeOf((*RemoveDisk_Task)(nil)).Elem()
 67857  }
 67858  
 67859  type RemoveDisk_TaskResponse struct {
 67860  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 67861  }
 67862  
 67863  type RemoveEntityPermission RemoveEntityPermissionRequestType
 67864  
 67865  func init() {
 67866  	t["RemoveEntityPermission"] = reflect.TypeOf((*RemoveEntityPermission)(nil)).Elem()
 67867  }
 67868  
 67869  // The parameters of `AuthorizationManager.RemoveEntityPermission`.
 67870  type RemoveEntityPermissionRequestType struct {
 67871  	This ManagedObjectReference `xml:"_this" json:"-"`
 67872  	// Entity on which a permission is removed.
 67873  	//
 67874  	// Required privileges: Authorization.ModifyPermissions
 67875  	//
 67876  	// Refers instance of `ManagedEntity`.
 67877  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 67878  	// User or group for which the permission is defined.
 67879  	User string `xml:"user" json:"user"`
 67880  	// True, if user refers to a group name; false, for a user name.
 67881  	IsGroup bool `xml:"isGroup" json:"isGroup"`
 67882  }
 67883  
 67884  func init() {
 67885  	t["RemoveEntityPermissionRequestType"] = reflect.TypeOf((*RemoveEntityPermissionRequestType)(nil)).Elem()
 67886  }
 67887  
 67888  type RemoveEntityPermissionResponse struct {
 67889  }
 67890  
 67891  // This fault is thrown when the client attempts to remove an object that has
 67892  // active related objects (for example, a role that has active permissions).
 67893  type RemoveFailed struct {
 67894  	VimFault
 67895  }
 67896  
 67897  func init() {
 67898  	t["RemoveFailed"] = reflect.TypeOf((*RemoveFailed)(nil)).Elem()
 67899  }
 67900  
 67901  type RemoveFailedFault RemoveFailed
 67902  
 67903  func init() {
 67904  	t["RemoveFailedFault"] = reflect.TypeOf((*RemoveFailedFault)(nil)).Elem()
 67905  }
 67906  
 67907  type RemoveFilter RemoveFilterRequestType
 67908  
 67909  func init() {
 67910  	t["RemoveFilter"] = reflect.TypeOf((*RemoveFilter)(nil)).Elem()
 67911  }
 67912  
 67913  type RemoveFilterEntities RemoveFilterEntitiesRequestType
 67914  
 67915  func init() {
 67916  	t["RemoveFilterEntities"] = reflect.TypeOf((*RemoveFilterEntities)(nil)).Elem()
 67917  }
 67918  
 67919  // The parameters of `HealthUpdateManager.RemoveFilterEntities`.
 67920  type RemoveFilterEntitiesRequestType struct {
 67921  	This ManagedObjectReference `xml:"_this" json:"-"`
 67922  	// The filter id.
 67923  	FilterId string `xml:"filterId" json:"filterId"`
 67924  	// The list of removed managed entities.
 67925  	//
 67926  	// Refers instances of `ManagedEntity`.
 67927  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 67928  }
 67929  
 67930  func init() {
 67931  	t["RemoveFilterEntitiesRequestType"] = reflect.TypeOf((*RemoveFilterEntitiesRequestType)(nil)).Elem()
 67932  }
 67933  
 67934  type RemoveFilterEntitiesResponse struct {
 67935  }
 67936  
 67937  // The parameters of `HealthUpdateManager.RemoveFilter`.
 67938  type RemoveFilterRequestType struct {
 67939  	This ManagedObjectReference `xml:"_this" json:"-"`
 67940  	// The filter id.
 67941  	FilterId string `xml:"filterId" json:"filterId"`
 67942  }
 67943  
 67944  func init() {
 67945  	t["RemoveFilterRequestType"] = reflect.TypeOf((*RemoveFilterRequestType)(nil)).Elem()
 67946  }
 67947  
 67948  type RemoveFilterResponse struct {
 67949  }
 67950  
 67951  type RemoveGroup RemoveGroupRequestType
 67952  
 67953  func init() {
 67954  	t["RemoveGroup"] = reflect.TypeOf((*RemoveGroup)(nil)).Elem()
 67955  }
 67956  
 67957  // The parameters of `HostLocalAccountManager.RemoveGroup`.
 67958  type RemoveGroupRequestType struct {
 67959  	This ManagedObjectReference `xml:"_this" json:"-"`
 67960  	// Group ID of the group account being removed.
 67961  	GroupName string `xml:"groupName" json:"groupName"`
 67962  }
 67963  
 67964  func init() {
 67965  	t["RemoveGroupRequestType"] = reflect.TypeOf((*RemoveGroupRequestType)(nil)).Elem()
 67966  }
 67967  
 67968  type RemoveGroupResponse struct {
 67969  }
 67970  
 67971  type RemoveGuestAlias RemoveGuestAliasRequestType
 67972  
 67973  func init() {
 67974  	t["RemoveGuestAlias"] = reflect.TypeOf((*RemoveGuestAlias)(nil)).Elem()
 67975  }
 67976  
 67977  type RemoveGuestAliasByCert RemoveGuestAliasByCertRequestType
 67978  
 67979  func init() {
 67980  	t["RemoveGuestAliasByCert"] = reflect.TypeOf((*RemoveGuestAliasByCert)(nil)).Elem()
 67981  }
 67982  
 67983  // The parameters of `GuestAliasManager.RemoveGuestAliasByCert`.
 67984  type RemoveGuestAliasByCertRequestType struct {
 67985  	This ManagedObjectReference `xml:"_this" json:"-"`
 67986  	// Virtual machine to perform the operation on.
 67987  	//
 67988  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 67989  	//
 67990  	// Refers instance of `VirtualMachine`.
 67991  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 67992  	// The guest authentication data for this operation. See
 67993  	// `GuestAuthentication`. These credentials must satisfy
 67994  	// authentication requirements
 67995  	// for a guest account on the specified virtual machine.
 67996  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 67997  	// Username for the guest account on the virtual machine.
 67998  	Username string `xml:"username" json:"username"`
 67999  	// The X.509 certificate to be removed, in base64
 68000  	// encoded DER format.
 68001  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 68002  }
 68003  
 68004  func init() {
 68005  	t["RemoveGuestAliasByCertRequestType"] = reflect.TypeOf((*RemoveGuestAliasByCertRequestType)(nil)).Elem()
 68006  }
 68007  
 68008  type RemoveGuestAliasByCertResponse struct {
 68009  }
 68010  
 68011  // The parameters of `GuestAliasManager.RemoveGuestAlias`.
 68012  type RemoveGuestAliasRequestType struct {
 68013  	This ManagedObjectReference `xml:"_this" json:"-"`
 68014  	// Virtual machine to perform the operation on.
 68015  	//
 68016  	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
 68017  	//
 68018  	// Refers instance of `VirtualMachine`.
 68019  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 68020  	// The guest authentication data for this operation. See
 68021  	// `GuestAuthentication`. These credentials must satisfy
 68022  	// authentication requirements
 68023  	// for a guest account on the specified virtual machine.
 68024  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 68025  	// Username for the guest account on the virtual machine.
 68026  	Username string `xml:"username" json:"username"`
 68027  	// The X.509 certificate associated with the alias to be
 68028  	// removed, in base64 encoded DER format.
 68029  	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
 68030  	// The subject of the alias.
 68031  	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
 68032  }
 68033  
 68034  func init() {
 68035  	t["RemoveGuestAliasRequestType"] = reflect.TypeOf((*RemoveGuestAliasRequestType)(nil)).Elem()
 68036  }
 68037  
 68038  type RemoveGuestAliasResponse struct {
 68039  }
 68040  
 68041  type RemoveInternetScsiSendTargets RemoveInternetScsiSendTargetsRequestType
 68042  
 68043  func init() {
 68044  	t["RemoveInternetScsiSendTargets"] = reflect.TypeOf((*RemoveInternetScsiSendTargets)(nil)).Elem()
 68045  }
 68046  
 68047  // The parameters of `HostStorageSystem.RemoveInternetScsiSendTargets`.
 68048  type RemoveInternetScsiSendTargetsRequestType struct {
 68049  	This ManagedObjectReference `xml:"_this" json:"-"`
 68050  	// The device of the Internet SCSI HBA adapter.
 68051  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 68052  	// An array of iSCSI send targets to remove.
 68053  	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
 68054  	// flag for forced removal of iSCSI send targets.
 68055  	// If unset, force flag will be treated as false.
 68056  	Force *bool `xml:"force" json:"force,omitempty" vim:"7.0.1.0"`
 68057  }
 68058  
 68059  func init() {
 68060  	t["RemoveInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiSendTargetsRequestType)(nil)).Elem()
 68061  }
 68062  
 68063  type RemoveInternetScsiSendTargetsResponse struct {
 68064  }
 68065  
 68066  type RemoveInternetScsiStaticTargets RemoveInternetScsiStaticTargetsRequestType
 68067  
 68068  func init() {
 68069  	t["RemoveInternetScsiStaticTargets"] = reflect.TypeOf((*RemoveInternetScsiStaticTargets)(nil)).Elem()
 68070  }
 68071  
 68072  // The parameters of `HostStorageSystem.RemoveInternetScsiStaticTargets`.
 68073  type RemoveInternetScsiStaticTargetsRequestType struct {
 68074  	This ManagedObjectReference `xml:"_this" json:"-"`
 68075  	// The device of the Internet SCSI HBA adapter.
 68076  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 68077  	// An array of iSCSI static targets to remove.
 68078  	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
 68079  }
 68080  
 68081  func init() {
 68082  	t["RemoveInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiStaticTargetsRequestType)(nil)).Elem()
 68083  }
 68084  
 68085  type RemoveInternetScsiStaticTargetsResponse struct {
 68086  }
 68087  
 68088  type RemoveKey RemoveKeyRequestType
 68089  
 68090  func init() {
 68091  	t["RemoveKey"] = reflect.TypeOf((*RemoveKey)(nil)).Elem()
 68092  }
 68093  
 68094  // The parameters of `CryptoManager.RemoveKey`.
 68095  type RemoveKeyRequestType struct {
 68096  	This ManagedObjectReference `xml:"_this" json:"-"`
 68097  	// \[in\] The key to remove.
 68098  	Key CryptoKeyId `xml:"key" json:"key"`
 68099  	// \[in\] Remove the key even if in use or not existent.
 68100  	Force bool `xml:"force" json:"force"`
 68101  }
 68102  
 68103  func init() {
 68104  	t["RemoveKeyRequestType"] = reflect.TypeOf((*RemoveKeyRequestType)(nil)).Elem()
 68105  }
 68106  
 68107  type RemoveKeyResponse struct {
 68108  }
 68109  
 68110  type RemoveKeys RemoveKeysRequestType
 68111  
 68112  func init() {
 68113  	t["RemoveKeys"] = reflect.TypeOf((*RemoveKeys)(nil)).Elem()
 68114  }
 68115  
 68116  // The parameters of `CryptoManager.RemoveKeys`.
 68117  type RemoveKeysRequestType struct {
 68118  	This ManagedObjectReference `xml:"_this" json:"-"`
 68119  	// \[in\] List of keys to remove.
 68120  	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
 68121  	// \[in\] Remove the key even if in use. Always successful.
 68122  	Force bool `xml:"force" json:"force"`
 68123  }
 68124  
 68125  func init() {
 68126  	t["RemoveKeysRequestType"] = reflect.TypeOf((*RemoveKeysRequestType)(nil)).Elem()
 68127  }
 68128  
 68129  type RemoveKeysResponse struct {
 68130  	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 68131  }
 68132  
 68133  type RemoveKmipServer RemoveKmipServerRequestType
 68134  
 68135  func init() {
 68136  	t["RemoveKmipServer"] = reflect.TypeOf((*RemoveKmipServer)(nil)).Elem()
 68137  }
 68138  
 68139  // The parameters of `CryptoManagerKmip.RemoveKmipServer`.
 68140  type RemoveKmipServerRequestType struct {
 68141  	This ManagedObjectReference `xml:"_this" json:"-"`
 68142  	// \[in\] KMIP cluster ID.
 68143  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 68144  	// \[in\] KMIP server name.
 68145  	ServerName string `xml:"serverName" json:"serverName"`
 68146  }
 68147  
 68148  func init() {
 68149  	t["RemoveKmipServerRequestType"] = reflect.TypeOf((*RemoveKmipServerRequestType)(nil)).Elem()
 68150  }
 68151  
 68152  type RemoveKmipServerResponse struct {
 68153  }
 68154  
 68155  type RemoveLicense RemoveLicenseRequestType
 68156  
 68157  func init() {
 68158  	t["RemoveLicense"] = reflect.TypeOf((*RemoveLicense)(nil)).Elem()
 68159  }
 68160  
 68161  type RemoveLicenseLabel RemoveLicenseLabelRequestType
 68162  
 68163  func init() {
 68164  	t["RemoveLicenseLabel"] = reflect.TypeOf((*RemoveLicenseLabel)(nil)).Elem()
 68165  }
 68166  
 68167  // The parameters of `LicenseManager.RemoveLicenseLabel`.
 68168  type RemoveLicenseLabelRequestType struct {
 68169  	This ManagedObjectReference `xml:"_this" json:"-"`
 68170  	// A license.
 68171  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 68172  	// A label key.
 68173  	LabelKey string `xml:"labelKey" json:"labelKey"`
 68174  }
 68175  
 68176  func init() {
 68177  	t["RemoveLicenseLabelRequestType"] = reflect.TypeOf((*RemoveLicenseLabelRequestType)(nil)).Elem()
 68178  }
 68179  
 68180  type RemoveLicenseLabelResponse struct {
 68181  }
 68182  
 68183  // The parameters of `LicenseManager.RemoveLicense`.
 68184  type RemoveLicenseRequestType struct {
 68185  	This ManagedObjectReference `xml:"_this" json:"-"`
 68186  	// A licenses. E.g. a serial license.
 68187  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 68188  }
 68189  
 68190  func init() {
 68191  	t["RemoveLicenseRequestType"] = reflect.TypeOf((*RemoveLicenseRequestType)(nil)).Elem()
 68192  }
 68193  
 68194  type RemoveLicenseResponse struct {
 68195  }
 68196  
 68197  type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType
 68198  
 68199  func init() {
 68200  	t["RemoveMonitoredEntities"] = reflect.TypeOf((*RemoveMonitoredEntities)(nil)).Elem()
 68201  }
 68202  
 68203  // The parameters of `HealthUpdateManager.RemoveMonitoredEntities`.
 68204  type RemoveMonitoredEntitiesRequestType struct {
 68205  	This ManagedObjectReference `xml:"_this" json:"-"`
 68206  	// The provider id.
 68207  	ProviderId string `xml:"providerId" json:"providerId"`
 68208  	// The entities that are no longer monitored by
 68209  	// this provider.
 68210  	//
 68211  	// Refers instances of `ManagedEntity`.
 68212  	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
 68213  }
 68214  
 68215  func init() {
 68216  	t["RemoveMonitoredEntitiesRequestType"] = reflect.TypeOf((*RemoveMonitoredEntitiesRequestType)(nil)).Elem()
 68217  }
 68218  
 68219  type RemoveMonitoredEntitiesResponse struct {
 68220  }
 68221  
 68222  type RemoveNetworkResourcePool RemoveNetworkResourcePoolRequestType
 68223  
 68224  func init() {
 68225  	t["RemoveNetworkResourcePool"] = reflect.TypeOf((*RemoveNetworkResourcePool)(nil)).Elem()
 68226  }
 68227  
 68228  // The parameters of `DistributedVirtualSwitch.RemoveNetworkResourcePool`.
 68229  type RemoveNetworkResourcePoolRequestType struct {
 68230  	This ManagedObjectReference `xml:"_this" json:"-"`
 68231  	// The network resource pool key.
 68232  	Key []string `xml:"key" json:"key"`
 68233  }
 68234  
 68235  func init() {
 68236  	t["RemoveNetworkResourcePoolRequestType"] = reflect.TypeOf((*RemoveNetworkResourcePoolRequestType)(nil)).Elem()
 68237  }
 68238  
 68239  type RemoveNetworkResourcePoolResponse struct {
 68240  }
 68241  
 68242  type RemoveNvmeOverRdmaAdapter RemoveNvmeOverRdmaAdapterRequestType
 68243  
 68244  func init() {
 68245  	t["RemoveNvmeOverRdmaAdapter"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapter)(nil)).Elem()
 68246  }
 68247  
 68248  // The parameters of `HostStorageSystem.RemoveNvmeOverRdmaAdapter`.
 68249  type RemoveNvmeOverRdmaAdapterRequestType struct {
 68250  	This ManagedObjectReference `xml:"_this" json:"-"`
 68251  	// The device name of the NVME over RDMA adapter to be removed.
 68252  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 68253  }
 68254  
 68255  func init() {
 68256  	t["RemoveNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapterRequestType)(nil)).Elem()
 68257  }
 68258  
 68259  type RemoveNvmeOverRdmaAdapterResponse struct {
 68260  }
 68261  
 68262  type RemovePerfInterval RemovePerfIntervalRequestType
 68263  
 68264  func init() {
 68265  	t["RemovePerfInterval"] = reflect.TypeOf((*RemovePerfInterval)(nil)).Elem()
 68266  }
 68267  
 68268  // The parameters of `PerformanceManager.RemovePerfInterval`.
 68269  type RemovePerfIntervalRequestType struct {
 68270  	This ManagedObjectReference `xml:"_this" json:"-"`
 68271  	// The sampling period, in seconds, for the specified interval being
 68272  	// removed.
 68273  	SamplePeriod int32 `xml:"samplePeriod" json:"samplePeriod"`
 68274  }
 68275  
 68276  func init() {
 68277  	t["RemovePerfIntervalRequestType"] = reflect.TypeOf((*RemovePerfIntervalRequestType)(nil)).Elem()
 68278  }
 68279  
 68280  type RemovePerfIntervalResponse struct {
 68281  }
 68282  
 68283  type RemovePortGroup RemovePortGroupRequestType
 68284  
 68285  func init() {
 68286  	t["RemovePortGroup"] = reflect.TypeOf((*RemovePortGroup)(nil)).Elem()
 68287  }
 68288  
 68289  // The parameters of `HostNetworkSystem.RemovePortGroup`.
 68290  type RemovePortGroupRequestType struct {
 68291  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68292  	PgName string                 `xml:"pgName" json:"pgName"`
 68293  }
 68294  
 68295  func init() {
 68296  	t["RemovePortGroupRequestType"] = reflect.TypeOf((*RemovePortGroupRequestType)(nil)).Elem()
 68297  }
 68298  
 68299  type RemovePortGroupResponse struct {
 68300  }
 68301  
 68302  type RemoveScheduledTask RemoveScheduledTaskRequestType
 68303  
 68304  func init() {
 68305  	t["RemoveScheduledTask"] = reflect.TypeOf((*RemoveScheduledTask)(nil)).Elem()
 68306  }
 68307  
 68308  type RemoveScheduledTaskRequestType struct {
 68309  	This ManagedObjectReference `xml:"_this" json:"-"`
 68310  }
 68311  
 68312  func init() {
 68313  	t["RemoveScheduledTaskRequestType"] = reflect.TypeOf((*RemoveScheduledTaskRequestType)(nil)).Elem()
 68314  }
 68315  
 68316  type RemoveScheduledTaskResponse struct {
 68317  }
 68318  
 68319  type RemoveServiceConsoleVirtualNic RemoveServiceConsoleVirtualNicRequestType
 68320  
 68321  func init() {
 68322  	t["RemoveServiceConsoleVirtualNic"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNic)(nil)).Elem()
 68323  }
 68324  
 68325  // The parameters of `HostNetworkSystem.RemoveServiceConsoleVirtualNic`.
 68326  type RemoveServiceConsoleVirtualNicRequestType struct {
 68327  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68328  	Device string                 `xml:"device" json:"device"`
 68329  }
 68330  
 68331  func init() {
 68332  	t["RemoveServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNicRequestType)(nil)).Elem()
 68333  }
 68334  
 68335  type RemoveServiceConsoleVirtualNicResponse struct {
 68336  }
 68337  
 68338  type RemoveSmartCardTrustAnchor RemoveSmartCardTrustAnchorRequestType
 68339  
 68340  func init() {
 68341  	t["RemoveSmartCardTrustAnchor"] = reflect.TypeOf((*RemoveSmartCardTrustAnchor)(nil)).Elem()
 68342  }
 68343  
 68344  type RemoveSmartCardTrustAnchorByFingerprint RemoveSmartCardTrustAnchorByFingerprintRequestType
 68345  
 68346  func init() {
 68347  	t["RemoveSmartCardTrustAnchorByFingerprint"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprint)(nil)).Elem()
 68348  }
 68349  
 68350  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorByFingerprint`.
 68351  type RemoveSmartCardTrustAnchorByFingerprintRequestType struct {
 68352  	This ManagedObjectReference `xml:"_this" json:"-"`
 68353  	// Certificate fingerprint
 68354  	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
 68355  	// Digest function used to compute fingerprint. One of
 68356  	// `HostActiveDirectoryAuthenticationCertificateDigest_enum`.
 68357  	Digest string `xml:"digest" json:"digest"`
 68358  }
 68359  
 68360  func init() {
 68361  	t["RemoveSmartCardTrustAnchorByFingerprintRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprintRequestType)(nil)).Elem()
 68362  }
 68363  
 68364  type RemoveSmartCardTrustAnchorByFingerprintResponse struct {
 68365  }
 68366  
 68367  // The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchor`.
 68368  type RemoveSmartCardTrustAnchorRequestType struct {
 68369  	This ManagedObjectReference `xml:"_this" json:"-"`
 68370  	// Certificate issuer
 68371  	Issuer string `xml:"issuer" json:"issuer"`
 68372  	// Certificate serial number (decimal integer)
 68373  	Serial string `xml:"serial" json:"serial"`
 68374  }
 68375  
 68376  func init() {
 68377  	t["RemoveSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorRequestType)(nil)).Elem()
 68378  }
 68379  
 68380  type RemoveSmartCardTrustAnchorResponse struct {
 68381  }
 68382  
 68383  // The parameters of `VirtualMachineSnapshot.RemoveSnapshot_Task`.
 68384  type RemoveSnapshotRequestType struct {
 68385  	This ManagedObjectReference `xml:"_this" json:"-"`
 68386  	// Flag to specify removal of the entire snapshot subtree.
 68387  	RemoveChildren bool `xml:"removeChildren" json:"removeChildren"`
 68388  	// (optional) If set to true, the virtual disk associated
 68389  	// with this snapshot will be merged with other disk if possible. Defaults to true.
 68390  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 68391  }
 68392  
 68393  func init() {
 68394  	t["RemoveSnapshotRequestType"] = reflect.TypeOf((*RemoveSnapshotRequestType)(nil)).Elem()
 68395  }
 68396  
 68397  type RemoveSnapshot_Task RemoveSnapshotRequestType
 68398  
 68399  func init() {
 68400  	t["RemoveSnapshot_Task"] = reflect.TypeOf((*RemoveSnapshot_Task)(nil)).Elem()
 68401  }
 68402  
 68403  type RemoveSnapshot_TaskResponse struct {
 68404  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68405  }
 68406  
 68407  type RemoveSoftwareAdapter RemoveSoftwareAdapterRequestType
 68408  
 68409  func init() {
 68410  	t["RemoveSoftwareAdapter"] = reflect.TypeOf((*RemoveSoftwareAdapter)(nil)).Elem()
 68411  }
 68412  
 68413  // The parameters of `HostStorageSystem.RemoveSoftwareAdapter`.
 68414  type RemoveSoftwareAdapterRequestType struct {
 68415  	This ManagedObjectReference `xml:"_this" json:"-"`
 68416  	// The device name of the adapter to be removed.
 68417  	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
 68418  }
 68419  
 68420  func init() {
 68421  	t["RemoveSoftwareAdapterRequestType"] = reflect.TypeOf((*RemoveSoftwareAdapterRequestType)(nil)).Elem()
 68422  	minAPIVersionForType["RemoveSoftwareAdapterRequestType"] = "7.0.3.0"
 68423  }
 68424  
 68425  type RemoveSoftwareAdapterResponse struct {
 68426  }
 68427  
 68428  type RemoveUser RemoveUserRequestType
 68429  
 68430  func init() {
 68431  	t["RemoveUser"] = reflect.TypeOf((*RemoveUser)(nil)).Elem()
 68432  }
 68433  
 68434  // The parameters of `HostLocalAccountManager.RemoveUser`.
 68435  type RemoveUserRequestType struct {
 68436  	This ManagedObjectReference `xml:"_this" json:"-"`
 68437  	// User ID of the user account being removed.
 68438  	UserName string `xml:"userName" json:"userName"`
 68439  }
 68440  
 68441  func init() {
 68442  	t["RemoveUserRequestType"] = reflect.TypeOf((*RemoveUserRequestType)(nil)).Elem()
 68443  }
 68444  
 68445  type RemoveUserResponse struct {
 68446  }
 68447  
 68448  type RemoveVirtualNic RemoveVirtualNicRequestType
 68449  
 68450  func init() {
 68451  	t["RemoveVirtualNic"] = reflect.TypeOf((*RemoveVirtualNic)(nil)).Elem()
 68452  }
 68453  
 68454  // The parameters of `HostNetworkSystem.RemoveVirtualNic`.
 68455  type RemoveVirtualNicRequestType struct {
 68456  	This   ManagedObjectReference `xml:"_this" json:"-"`
 68457  	Device string                 `xml:"device" json:"device"`
 68458  }
 68459  
 68460  func init() {
 68461  	t["RemoveVirtualNicRequestType"] = reflect.TypeOf((*RemoveVirtualNicRequestType)(nil)).Elem()
 68462  }
 68463  
 68464  type RemoveVirtualNicResponse struct {
 68465  }
 68466  
 68467  type RemoveVirtualSwitch RemoveVirtualSwitchRequestType
 68468  
 68469  func init() {
 68470  	t["RemoveVirtualSwitch"] = reflect.TypeOf((*RemoveVirtualSwitch)(nil)).Elem()
 68471  }
 68472  
 68473  // The parameters of `HostNetworkSystem.RemoveVirtualSwitch`.
 68474  type RemoveVirtualSwitchRequestType struct {
 68475  	This        ManagedObjectReference `xml:"_this" json:"-"`
 68476  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 68477  }
 68478  
 68479  func init() {
 68480  	t["RemoveVirtualSwitchRequestType"] = reflect.TypeOf((*RemoveVirtualSwitchRequestType)(nil)).Elem()
 68481  }
 68482  
 68483  type RemoveVirtualSwitchResponse struct {
 68484  }
 68485  
 68486  type RenameCustomFieldDef RenameCustomFieldDefRequestType
 68487  
 68488  func init() {
 68489  	t["RenameCustomFieldDef"] = reflect.TypeOf((*RenameCustomFieldDef)(nil)).Elem()
 68490  }
 68491  
 68492  // The parameters of `CustomFieldsManager.RenameCustomFieldDef`.
 68493  type RenameCustomFieldDefRequestType struct {
 68494  	This ManagedObjectReference `xml:"_this" json:"-"`
 68495  	// The unique key for the field definition.
 68496  	Key int32 `xml:"key" json:"key"`
 68497  	// The new name for the field.
 68498  	Name string `xml:"name" json:"name"`
 68499  }
 68500  
 68501  func init() {
 68502  	t["RenameCustomFieldDefRequestType"] = reflect.TypeOf((*RenameCustomFieldDefRequestType)(nil)).Elem()
 68503  }
 68504  
 68505  type RenameCustomFieldDefResponse struct {
 68506  }
 68507  
 68508  type RenameCustomizationSpec RenameCustomizationSpecRequestType
 68509  
 68510  func init() {
 68511  	t["RenameCustomizationSpec"] = reflect.TypeOf((*RenameCustomizationSpec)(nil)).Elem()
 68512  }
 68513  
 68514  // The parameters of `CustomizationSpecManager.RenameCustomizationSpec`.
 68515  type RenameCustomizationSpecRequestType struct {
 68516  	This    ManagedObjectReference `xml:"_this" json:"-"`
 68517  	Name    string                 `xml:"name" json:"name"`
 68518  	NewName string                 `xml:"newName" json:"newName"`
 68519  }
 68520  
 68521  func init() {
 68522  	t["RenameCustomizationSpecRequestType"] = reflect.TypeOf((*RenameCustomizationSpecRequestType)(nil)).Elem()
 68523  }
 68524  
 68525  type RenameCustomizationSpecResponse struct {
 68526  }
 68527  
 68528  type RenameDatastore RenameDatastoreRequestType
 68529  
 68530  func init() {
 68531  	t["RenameDatastore"] = reflect.TypeOf((*RenameDatastore)(nil)).Elem()
 68532  }
 68533  
 68534  // The parameters of `Datastore.RenameDatastore`.
 68535  type RenameDatastoreRequestType struct {
 68536  	This ManagedObjectReference `xml:"_this" json:"-"`
 68537  	// The new name to assign to the datastore.
 68538  	NewName string `xml:"newName" json:"newName"`
 68539  }
 68540  
 68541  func init() {
 68542  	t["RenameDatastoreRequestType"] = reflect.TypeOf((*RenameDatastoreRequestType)(nil)).Elem()
 68543  }
 68544  
 68545  type RenameDatastoreResponse struct {
 68546  }
 68547  
 68548  // The parameters of `ManagedEntity.Rename_Task`.
 68549  type RenameRequestType struct {
 68550  	This    ManagedObjectReference `xml:"_this" json:"-"`
 68551  	NewName string                 `xml:"newName" json:"newName"`
 68552  }
 68553  
 68554  func init() {
 68555  	t["RenameRequestType"] = reflect.TypeOf((*RenameRequestType)(nil)).Elem()
 68556  }
 68557  
 68558  type RenameSnapshot RenameSnapshotRequestType
 68559  
 68560  func init() {
 68561  	t["RenameSnapshot"] = reflect.TypeOf((*RenameSnapshot)(nil)).Elem()
 68562  }
 68563  
 68564  // The parameters of `VirtualMachineSnapshot.RenameSnapshot`.
 68565  type RenameSnapshotRequestType struct {
 68566  	This ManagedObjectReference `xml:"_this" json:"-"`
 68567  	// New name for the snapshot.
 68568  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 68569  	// New description for the snapshot.
 68570  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 68571  }
 68572  
 68573  func init() {
 68574  	t["RenameSnapshotRequestType"] = reflect.TypeOf((*RenameSnapshotRequestType)(nil)).Elem()
 68575  }
 68576  
 68577  type RenameSnapshotResponse struct {
 68578  }
 68579  
 68580  type RenameVStorageObject RenameVStorageObjectRequestType
 68581  
 68582  func init() {
 68583  	t["RenameVStorageObject"] = reflect.TypeOf((*RenameVStorageObject)(nil)).Elem()
 68584  }
 68585  
 68586  type RenameVStorageObjectEx RenameVStorageObjectExRequestType
 68587  
 68588  func init() {
 68589  	t["RenameVStorageObjectEx"] = reflect.TypeOf((*RenameVStorageObjectEx)(nil)).Elem()
 68590  }
 68591  
 68592  // The parameters of `VStorageObjectManagerBase.RenameVStorageObjectEx`.
 68593  type RenameVStorageObjectExRequestType struct {
 68594  	This ManagedObjectReference `xml:"_this" json:"-"`
 68595  	// The ID of the virtual storage object to be renamed.
 68596  	Id ID `xml:"id" json:"id"`
 68597  	// The datastore where the virtual storage object is
 68598  	// located.
 68599  	//
 68600  	// Refers instance of `Datastore`.
 68601  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68602  	// The new name for the virtual storage object.
 68603  	Name string `xml:"name" json:"name"`
 68604  }
 68605  
 68606  func init() {
 68607  	t["RenameVStorageObjectExRequestType"] = reflect.TypeOf((*RenameVStorageObjectExRequestType)(nil)).Elem()
 68608  	minAPIVersionForType["RenameVStorageObjectExRequestType"] = "8.0.2.0"
 68609  }
 68610  
 68611  type RenameVStorageObjectExResponse struct {
 68612  	Returnval VslmVClockInfo `xml:"returnval" json:"returnval"`
 68613  }
 68614  
 68615  // The parameters of `VcenterVStorageObjectManager.RenameVStorageObject`.
 68616  type RenameVStorageObjectRequestType struct {
 68617  	This ManagedObjectReference `xml:"_this" json:"-"`
 68618  	// The ID of the virtual storage object to be renamed.
 68619  	Id ID `xml:"id" json:"id"`
 68620  	// The datastore where the virtual storage object is
 68621  	// located.
 68622  	//
 68623  	// Refers instance of `Datastore`.
 68624  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 68625  	// The new name for the virtual storage object.
 68626  	Name string `xml:"name" json:"name"`
 68627  }
 68628  
 68629  func init() {
 68630  	t["RenameVStorageObjectRequestType"] = reflect.TypeOf((*RenameVStorageObjectRequestType)(nil)).Elem()
 68631  }
 68632  
 68633  type RenameVStorageObjectResponse struct {
 68634  }
 68635  
 68636  type Rename_Task RenameRequestType
 68637  
 68638  func init() {
 68639  	t["Rename_Task"] = reflect.TypeOf((*Rename_Task)(nil)).Elem()
 68640  }
 68641  
 68642  type Rename_TaskResponse struct {
 68643  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 68644  }
 68645  
 68646  type ReplaceCACertificatesAndCRLs ReplaceCACertificatesAndCRLsRequestType
 68647  
 68648  func init() {
 68649  	t["ReplaceCACertificatesAndCRLs"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLs)(nil)).Elem()
 68650  }
 68651  
 68652  // The parameters of `HostCertificateManager.ReplaceCACertificatesAndCRLs`.
 68653  type ReplaceCACertificatesAndCRLsRequestType struct {
 68654  	This ManagedObjectReference `xml:"_this" json:"-"`
 68655  	// List of SSL certificates, in PEM format,
 68656  	// of all CAs that should be trusted
 68657  	CaCert []string `xml:"caCert" json:"caCert"`
 68658  	// List of SSL CRLs, in PEM format,
 68659  	// issued by trusted CAs from the above list
 68660  	CaCrl []string `xml:"caCrl,omitempty" json:"caCrl,omitempty"`
 68661  }
 68662  
 68663  func init() {
 68664  	t["ReplaceCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLsRequestType)(nil)).Elem()
 68665  }
 68666  
 68667  type ReplaceCACertificatesAndCRLsResponse struct {
 68668  }
 68669  
 68670  type ReplaceSmartCardTrustAnchors ReplaceSmartCardTrustAnchorsRequestType
 68671  
 68672  func init() {
 68673  	t["ReplaceSmartCardTrustAnchors"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchors)(nil)).Elem()
 68674  }
 68675  
 68676  // The parameters of `HostActiveDirectoryAuthentication.ReplaceSmartCardTrustAnchors`.
 68677  type ReplaceSmartCardTrustAnchorsRequestType struct {
 68678  	This ManagedObjectReference `xml:"_this" json:"-"`
 68679  	// List of trusted CA certificates in PEM format. If empty
 68680  	// then all existing trust anchors are removed.
 68681  	Certs []string `xml:"certs,omitempty" json:"certs,omitempty"`
 68682  }
 68683  
 68684  func init() {
 68685  	t["ReplaceSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchorsRequestType)(nil)).Elem()
 68686  }
 68687  
 68688  type ReplaceSmartCardTrustAnchorsResponse struct {
 68689  }
 68690  
 68691  // Base type for Replication-related configuration errors.
 68692  type ReplicationConfigFault struct {
 68693  	ReplicationFault
 68694  }
 68695  
 68696  func init() {
 68697  	t["ReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem()
 68698  }
 68699  
 68700  type ReplicationConfigFaultFault BaseReplicationConfigFault
 68701  
 68702  func init() {
 68703  	t["ReplicationConfigFaultFault"] = reflect.TypeOf((*ReplicationConfigFaultFault)(nil)).Elem()
 68704  }
 68705  
 68706  // The ReplicationConfigSpec object type encapsulates the replication
 68707  // configuration parameters for a virtual machine.
 68708  //
 68709  // It consists of two
 68710  // parts: 1) a set of virtual machine-wide replication properties; 2)
 68711  // a set of properties per replicated virtual disk. ReplicationSetting
 68712  // is passed as an argument for initial replication configuration
 68713  // (@see vim.HbrManager#enableReplication) as well as for
 68714  // re-configuration of a replicated VM's properties (@see
 68715  // vim.HbrManager#reconfigureReplication).
 68716  type ReplicationConfigSpec struct {
 68717  	DynamicData
 68718  
 68719  	// A generation number (&gt;=0) that reflects the "freshness" of the
 68720  	// ReplicationConfigSpec on which a re-configuration is based.
 68721  	//
 68722  	// The
 68723  	// generation number is used to detect and disallow concurrent
 68724  	// updates to a VM's replication settings.
 68725  	// For initial replication enablement, generation = 0. The
 68726  	// replication settings of every replication re-configuration
 68727  	// operation must reflect the latest generation number known to the
 68728  	// caller. It takes an explicit call to get the latest replication
 68729  	// settings to find out what the latest generation number is. The
 68730  	// update algorithm of the generation number is opaque to the
 68731  	// caller; e.g., the caller cannot assume that the generation
 68732  	// numbers are incremented by one every time replication is
 68733  	// (re)configured, not even that they are changing monotonically.
 68734  	Generation int64 `xml:"generation" json:"generation"`
 68735  	// An opaque identifier that uniquely identifies a replicated VM
 68736  	// between primary and secondary sites.
 68737  	VmReplicationId string `xml:"vmReplicationId" json:"vmReplicationId"`
 68738  	// The IP address of the HBR Server in the secondary site
 68739  	// where this VM is replicated to.
 68740  	//
 68741  	// Note: If net encryption is enabled, this is the address of the
 68742  	// encryption tunnelling agent.
 68743  	Destination string `xml:"destination" json:"destination"`
 68744  	// The port on the HBR Server in the secondary site where this VM
 68745  	// is replicated to.
 68746  	//
 68747  	// Note: If net encryption is enabled, this is the port of the
 68748  	// encryption tunneling agent.
 68749  	Port int32 `xml:"port" json:"port"`
 68750  	// The Recovery Point Objective specified for this VM, in minutes.
 68751  	//
 68752  	// Currently, valid values are in the range of 1 minute to 1440
 68753  	// minutes (24 hours).
 68754  	Rpo int64 `xml:"rpo" json:"rpo"`
 68755  	// Flag that indicates whether or not to quiesce the file system or
 68756  	// applications in the guest OS before a consistent replica is
 68757  	// created.
 68758  	QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled" json:"quiesceGuestEnabled"`
 68759  	// Flag that indicates whether or not the vm or group has been paused for
 68760  	// replication.
 68761  	Paused bool `xml:"paused" json:"paused"`
 68762  	// Flag that indicates whether or not to perform opportunistic
 68763  	// updates in-between consistent replicas.
 68764  	OppUpdatesEnabled bool `xml:"oppUpdatesEnabled" json:"oppUpdatesEnabled"`
 68765  	// Flag that indicates whether or not compression should
 68766  	// be used when sending traffic over the network.
 68767  	//
 68768  	// The primary will negotiate the best compression with
 68769  	// the server on the secondary if this is enabled.
 68770  	NetCompressionEnabled *bool `xml:"netCompressionEnabled" json:"netCompressionEnabled,omitempty"`
 68771  	// Flag that indicates whether or not encription should
 68772  	// be used when sending traffic over the network.
 68773  	//
 68774  	// The primary will use the remoteCertificateThumbprint
 68775  	// to verify the identity of the remote server.
 68776  	NetEncryptionEnabled *bool `xml:"netEncryptionEnabled" json:"netEncryptionEnabled,omitempty"`
 68777  	// The IP address of the remote HBR server, target for encrypted LWD.
 68778  	//
 68779  	// This field is required when net encryption is enabled, ignored otherwise.
 68780  	EncryptionDestination string `xml:"encryptionDestination,omitempty" json:"encryptionDestination,omitempty"`
 68781  	// The port on the remote HBR server, target for encrypted LWD.
 68782  	//
 68783  	// This field is only relevant when net encryption is enabled.
 68784  	EncryptionPort int32 `xml:"encryptionPort,omitempty" json:"encryptionPort,omitempty"`
 68785  	// Deprecated field is deprecated, use
 68786  	// `vim.HbrManager.configureReplicationTargets` instead.
 68787  	//
 68788  	// The SHA256 thumbprint of the remote server certificate.
 68789  	//
 68790  	// This field is only relevant when net encription is enabled.
 68791  	RemoteCertificateThumbprint string `xml:"remoteCertificateThumbprint,omitempty" json:"remoteCertificateThumbprint,omitempty"`
 68792  	// Flag that indicates whether DataSets files are replicated or not.
 68793  	DataSetsReplicationEnabled *bool `xml:"dataSetsReplicationEnabled" json:"dataSetsReplicationEnabled,omitempty" vim:"8.0.0.0"`
 68794  	// The set of the disks of this VM that are configured for
 68795  	// replication.
 68796  	Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty" json:"disk,omitempty"`
 68797  }
 68798  
 68799  func init() {
 68800  	t["ReplicationConfigSpec"] = reflect.TypeOf((*ReplicationConfigSpec)(nil)).Elem()
 68801  }
 68802  
 68803  // A ReplicationDiskConfigFault is thrown when there is an issue with
 68804  // configuring disk replication properties.
 68805  type ReplicationDiskConfigFault struct {
 68806  	ReplicationConfigFault
 68807  
 68808  	// The reason for the failure.
 68809  	//
 68810  	// One of the above.
 68811  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 68812  	// The virtual machine, for identification purposes.
 68813  	//
 68814  	// Refers instance of `VirtualMachine`.
 68815  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 68816  	// The disk (device) key in the parent VM for identification
 68817  	// purposes.
 68818  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 68819  }
 68820  
 68821  func init() {
 68822  	t["ReplicationDiskConfigFault"] = reflect.TypeOf((*ReplicationDiskConfigFault)(nil)).Elem()
 68823  }
 68824  
 68825  type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault
 68826  
 68827  func init() {
 68828  	t["ReplicationDiskConfigFaultFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultFault)(nil)).Elem()
 68829  }
 68830  
 68831  // Base type for Replication-related errors.
 68832  type ReplicationFault struct {
 68833  	VimFault
 68834  }
 68835  
 68836  func init() {
 68837  	t["ReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem()
 68838  }
 68839  
 68840  type ReplicationFaultFault BaseReplicationFault
 68841  
 68842  func init() {
 68843  	t["ReplicationFaultFault"] = reflect.TypeOf((*ReplicationFaultFault)(nil)).Elem()
 68844  }
 68845  
 68846  // The identity of a replication group.
 68847  //
 68848  // # A following well-known ReplicationGroupId
 68849  //
 68850  // {
 68851  //
 68852  // faultDomainId: <a validfaultdomainid>
 68853  //
 68854  // deviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff
 68855  //
 68856  // }
 68857  //
 68858  // means that VASA provider can create a new ReplicationGroupId
 68859  // on demand (this feature may not be supported in the first
 68860  // vSphere release that supports VVol replication).
 68861  type ReplicationGroupId struct {
 68862  	DynamicData
 68863  
 68864  	// ID of the fault domain to which the group belongs.
 68865  	//
 68866  	// Combined with the fault
 68867  	// domain id, the group id is unique. A group may (or may not) have the same
 68868  	// id in all the fault domains.
 68869  	FaultDomainId FaultDomainId `xml:"faultDomainId" json:"faultDomainId"`
 68870  	// Id of the replication device group.
 68871  	//
 68872  	// A group may have the same (or different) id in each fault
 68873  	// domain.
 68874  	DeviceGroupId DeviceGroupId `xml:"deviceGroupId" json:"deviceGroupId"`
 68875  }
 68876  
 68877  func init() {
 68878  	t["ReplicationGroupId"] = reflect.TypeOf((*ReplicationGroupId)(nil)).Elem()
 68879  }
 68880  
 68881  // Used to indicate that FT cannot be enabled on a replicated virtual machine
 68882  // (returned by `VirtualMachine.QueryFaultToleranceCompatibility`).
 68883  type ReplicationIncompatibleWithFT struct {
 68884  	ReplicationFault
 68885  }
 68886  
 68887  func init() {
 68888  	t["ReplicationIncompatibleWithFT"] = reflect.TypeOf((*ReplicationIncompatibleWithFT)(nil)).Elem()
 68889  }
 68890  
 68891  type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT
 68892  
 68893  func init() {
 68894  	t["ReplicationIncompatibleWithFTFault"] = reflect.TypeOf((*ReplicationIncompatibleWithFTFault)(nil)).Elem()
 68895  }
 68896  
 68897  // The ReplicationConfigSpec.DiskSettings object type encapsulates
 68898  // the replication properties of a replicated disk of a replicated
 68899  // virtual machine.
 68900  type ReplicationInfoDiskSettings struct {
 68901  	DynamicData
 68902  
 68903  	// The disk's device key in the VM's configuration.
 68904  	//
 68905  	// Used to
 68906  	// uniquely identify the disk to be configured for replication
 68907  	// in the primary VM.
 68908  	Key int32 `xml:"key" json:"key"`
 68909  	// An opaque identifier that uniquely identifies a replicated
 68910  	// disk between primary and secondary sites.
 68911  	DiskReplicationId string `xml:"diskReplicationId" json:"diskReplicationId"`
 68912  }
 68913  
 68914  func init() {
 68915  	t["ReplicationInfoDiskSettings"] = reflect.TypeOf((*ReplicationInfoDiskSettings)(nil)).Elem()
 68916  }
 68917  
 68918  // A ReplicationInvalidOptions fault is thrown when the options
 68919  // string passed contains invalid characters or broken format.
 68920  type ReplicationInvalidOptions struct {
 68921  	ReplicationFault
 68922  
 68923  	// The invalid options string.
 68924  	Options string `xml:"options" json:"options"`
 68925  	// Entity, if any, that has invalid options.
 68926  	//
 68927  	// Refers instance of `ManagedEntity`.
 68928  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 68929  }
 68930  
 68931  func init() {
 68932  	t["ReplicationInvalidOptions"] = reflect.TypeOf((*ReplicationInvalidOptions)(nil)).Elem()
 68933  }
 68934  
 68935  type ReplicationInvalidOptionsFault ReplicationInvalidOptions
 68936  
 68937  func init() {
 68938  	t["ReplicationInvalidOptionsFault"] = reflect.TypeOf((*ReplicationInvalidOptionsFault)(nil)).Elem()
 68939  }
 68940  
 68941  // Thrown if the replication module is not loaded in the host.
 68942  type ReplicationNotSupportedOnHost struct {
 68943  	ReplicationFault
 68944  }
 68945  
 68946  func init() {
 68947  	t["ReplicationNotSupportedOnHost"] = reflect.TypeOf((*ReplicationNotSupportedOnHost)(nil)).Elem()
 68948  }
 68949  
 68950  type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost
 68951  
 68952  func init() {
 68953  	t["ReplicationNotSupportedOnHostFault"] = reflect.TypeOf((*ReplicationNotSupportedOnHostFault)(nil)).Elem()
 68954  }
 68955  
 68956  type ReplicationSpec struct {
 68957  	DynamicData
 68958  
 68959  	// Replication Group id
 68960  	ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId" json:"replicationGroupId"`
 68961  }
 68962  
 68963  func init() {
 68964  	t["ReplicationSpec"] = reflect.TypeOf((*ReplicationSpec)(nil)).Elem()
 68965  }
 68966  
 68967  // A ReplicationVmConfigFault is thrown when there is an issue with
 68968  // configuring VM-wide replication properties.
 68969  type ReplicationVmConfigFault struct {
 68970  	ReplicationConfigFault
 68971  
 68972  	// The reason for the failure.
 68973  	//
 68974  	// One of the above `ReplicationVmConfigFaultReasonForFault_enum`.
 68975  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 68976  	// The virtual machine, for identification purposes.
 68977  	//
 68978  	// Refers instance of `VirtualMachine`.
 68979  	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
 68980  }
 68981  
 68982  func init() {
 68983  	t["ReplicationVmConfigFault"] = reflect.TypeOf((*ReplicationVmConfigFault)(nil)).Elem()
 68984  }
 68985  
 68986  type ReplicationVmConfigFaultFault ReplicationVmConfigFault
 68987  
 68988  func init() {
 68989  	t["ReplicationVmConfigFaultFault"] = reflect.TypeOf((*ReplicationVmConfigFaultFault)(nil)).Elem()
 68990  }
 68991  
 68992  // A ReplicationVmFault is thrown when there is an issue with
 68993  // an operation performed on a replicated `VirtualMachine`
 68994  type ReplicationVmFault struct {
 68995  	ReplicationFault
 68996  
 68997  	// The reason for the failure.
 68998  	//
 68999  	// One of the above.
 69000  	Reason string `xml:"reason" json:"reason"`
 69001  	// The current `ReplicationVmState_enum` of the
 69002  	// `VirtualMachine`
 69003  	State string `xml:"state,omitempty" json:"state,omitempty"`
 69004  	// The name of the instance currently being created.
 69005  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 69006  	// The virtual machine, for identification purposes.
 69007  	//
 69008  	// Refers instance of `VirtualMachine`.
 69009  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 69010  }
 69011  
 69012  func init() {
 69013  	t["ReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem()
 69014  }
 69015  
 69016  type ReplicationVmFaultFault BaseReplicationVmFault
 69017  
 69018  func init() {
 69019  	t["ReplicationVmFaultFault"] = reflect.TypeOf((*ReplicationVmFaultFault)(nil)).Elem()
 69020  }
 69021  
 69022  // A ReplicationVmInProgressFault is thrown when a replication operation
 69023  // failed to perform on a `VirtualMachine` because the VM is
 69024  // in the middle of another replication activity.
 69025  type ReplicationVmInProgressFault struct {
 69026  	ReplicationVmFault
 69027  
 69028  	// The requsted activity for VM replication
 69029  	RequestedActivity string `xml:"requestedActivity" json:"requestedActivity"`
 69030  	// The in-progress activity for VM replication
 69031  	InProgressActivity string `xml:"inProgressActivity" json:"inProgressActivity"`
 69032  }
 69033  
 69034  func init() {
 69035  	t["ReplicationVmInProgressFault"] = reflect.TypeOf((*ReplicationVmInProgressFault)(nil)).Elem()
 69036  }
 69037  
 69038  type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault
 69039  
 69040  func init() {
 69041  	t["ReplicationVmInProgressFaultFault"] = reflect.TypeOf((*ReplicationVmInProgressFaultFault)(nil)).Elem()
 69042  }
 69043  
 69044  // A set of statistics related to the progress of the current
 69045  // operation (full sync or lwd).
 69046  type ReplicationVmProgressInfo struct {
 69047  	DynamicData
 69048  
 69049  	// An estimation of the operation progress as a percentage completed,
 69050  	// from 0 to 100.
 69051  	Progress int32 `xml:"progress" json:"progress"`
 69052  	// Number of bytes transferred so far.
 69053  	//
 69054  	// For sync operations, this value includes (i.e. counts multiple
 69055  	// times) areas that were transferred multiple times (due to stopping
 69056  	// and continuing the operation, or for some errors).
 69057  	BytesTransferred int64 `xml:"bytesTransferred" json:"bytesTransferred"`
 69058  	// The total number of bytes to be transferred.
 69059  	//
 69060  	// For lwd operations, this is the total size of the disk images that
 69061  	// are transferring. This is known from the start and will not change
 69062  	// during a lwd operation.
 69063  	//
 69064  	// For sync operations, this is the total size of the blocks that have
 69065  	// been found not to match between the primary and secondary (by
 69066  	// comparing checksums). It starts from 0 and grows as the checksum
 69067  	// operations advance. The value includes (i.e. counts multiple times)
 69068  	// areas that will end up being transferred more than once (due to
 69069  	// stopping and continuing the operation, or for some errors).
 69070  	BytesToTransfer int64 `xml:"bytesToTransfer" json:"bytesToTransfer"`
 69071  	// The total number of bytes to be checksummed, only present for sync
 69072  	// tasks.
 69073  	//
 69074  	// This is the total size of all disks.
 69075  	ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty" json:"checksumTotalBytes,omitempty"`
 69076  	// The total number of bytes that were checksummed, only present for
 69077  	// sync tasks.
 69078  	ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty" json:"checksumComparedBytes,omitempty"`
 69079  }
 69080  
 69081  func init() {
 69082  	t["ReplicationVmProgressInfo"] = reflect.TypeOf((*ReplicationVmProgressInfo)(nil)).Elem()
 69083  }
 69084  
 69085  // A RequestCanceled fault is thrown if the user canceled the task.
 69086  type RequestCanceled struct {
 69087  	RuntimeFault
 69088  }
 69089  
 69090  func init() {
 69091  	t["RequestCanceled"] = reflect.TypeOf((*RequestCanceled)(nil)).Elem()
 69092  }
 69093  
 69094  type RequestCanceledFault RequestCanceled
 69095  
 69096  func init() {
 69097  	t["RequestCanceledFault"] = reflect.TypeOf((*RequestCanceledFault)(nil)).Elem()
 69098  }
 69099  
 69100  type RescanAllHba RescanAllHbaRequestType
 69101  
 69102  func init() {
 69103  	t["RescanAllHba"] = reflect.TypeOf((*RescanAllHba)(nil)).Elem()
 69104  }
 69105  
 69106  type RescanAllHbaRequestType struct {
 69107  	This ManagedObjectReference `xml:"_this" json:"-"`
 69108  }
 69109  
 69110  func init() {
 69111  	t["RescanAllHbaRequestType"] = reflect.TypeOf((*RescanAllHbaRequestType)(nil)).Elem()
 69112  }
 69113  
 69114  type RescanAllHbaResponse struct {
 69115  }
 69116  
 69117  type RescanHba RescanHbaRequestType
 69118  
 69119  func init() {
 69120  	t["RescanHba"] = reflect.TypeOf((*RescanHba)(nil)).Elem()
 69121  }
 69122  
 69123  // The parameters of `HostStorageSystem.RescanHba`.
 69124  type RescanHbaRequestType struct {
 69125  	This ManagedObjectReference `xml:"_this" json:"-"`
 69126  	// The device of the host bus adapter.
 69127  	HbaDevice string `xml:"hbaDevice" json:"hbaDevice"`
 69128  }
 69129  
 69130  func init() {
 69131  	t["RescanHbaRequestType"] = reflect.TypeOf((*RescanHbaRequestType)(nil)).Elem()
 69132  }
 69133  
 69134  type RescanHbaResponse struct {
 69135  }
 69136  
 69137  type RescanVffs RescanVffsRequestType
 69138  
 69139  func init() {
 69140  	t["RescanVffs"] = reflect.TypeOf((*RescanVffs)(nil)).Elem()
 69141  }
 69142  
 69143  type RescanVffsRequestType struct {
 69144  	This ManagedObjectReference `xml:"_this" json:"-"`
 69145  }
 69146  
 69147  func init() {
 69148  	t["RescanVffsRequestType"] = reflect.TypeOf((*RescanVffsRequestType)(nil)).Elem()
 69149  }
 69150  
 69151  type RescanVffsResponse struct {
 69152  }
 69153  
 69154  type RescanVmfs RescanVmfsRequestType
 69155  
 69156  func init() {
 69157  	t["RescanVmfs"] = reflect.TypeOf((*RescanVmfs)(nil)).Elem()
 69158  }
 69159  
 69160  type RescanVmfsRequestType struct {
 69161  	This ManagedObjectReference `xml:"_this" json:"-"`
 69162  }
 69163  
 69164  func init() {
 69165  	t["RescanVmfsRequestType"] = reflect.TypeOf((*RescanVmfsRequestType)(nil)).Elem()
 69166  }
 69167  
 69168  type RescanVmfsResponse struct {
 69169  }
 69170  
 69171  type ResetCollector ResetCollectorRequestType
 69172  
 69173  func init() {
 69174  	t["ResetCollector"] = reflect.TypeOf((*ResetCollector)(nil)).Elem()
 69175  }
 69176  
 69177  type ResetCollectorRequestType struct {
 69178  	This ManagedObjectReference `xml:"_this" json:"-"`
 69179  }
 69180  
 69181  func init() {
 69182  	t["ResetCollectorRequestType"] = reflect.TypeOf((*ResetCollectorRequestType)(nil)).Elem()
 69183  }
 69184  
 69185  type ResetCollectorResponse struct {
 69186  }
 69187  
 69188  type ResetCounterLevelMapping ResetCounterLevelMappingRequestType
 69189  
 69190  func init() {
 69191  	t["ResetCounterLevelMapping"] = reflect.TypeOf((*ResetCounterLevelMapping)(nil)).Elem()
 69192  }
 69193  
 69194  // The parameters of `PerformanceManager.ResetCounterLevelMapping`.
 69195  type ResetCounterLevelMappingRequestType struct {
 69196  	This ManagedObjectReference `xml:"_this" json:"-"`
 69197  	// An array of counter ids.
 69198  	Counters []int32 `xml:"counters" json:"counters"`
 69199  }
 69200  
 69201  func init() {
 69202  	t["ResetCounterLevelMappingRequestType"] = reflect.TypeOf((*ResetCounterLevelMappingRequestType)(nil)).Elem()
 69203  }
 69204  
 69205  type ResetCounterLevelMappingResponse struct {
 69206  }
 69207  
 69208  type ResetEntityPermissions ResetEntityPermissionsRequestType
 69209  
 69210  func init() {
 69211  	t["ResetEntityPermissions"] = reflect.TypeOf((*ResetEntityPermissions)(nil)).Elem()
 69212  }
 69213  
 69214  // The parameters of `AuthorizationManager.ResetEntityPermissions`.
 69215  type ResetEntityPermissionsRequestType struct {
 69216  	This ManagedObjectReference `xml:"_this" json:"-"`
 69217  	// The entity on which permissions are updated.
 69218  	//
 69219  	// Required privileges: Authorization.ModifyPermissions
 69220  	//
 69221  	// Refers instance of `ManagedEntity`.
 69222  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 69223  	// The list of Permission objects that define
 69224  	// the new rules for access to the entity and
 69225  	// potentially entities below it. If the list
 69226  	// is empty, all permissions on the entity are removed.
 69227  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 69228  }
 69229  
 69230  func init() {
 69231  	t["ResetEntityPermissionsRequestType"] = reflect.TypeOf((*ResetEntityPermissionsRequestType)(nil)).Elem()
 69232  }
 69233  
 69234  type ResetEntityPermissionsResponse struct {
 69235  }
 69236  
 69237  type ResetFirmwareToFactoryDefaults ResetFirmwareToFactoryDefaultsRequestType
 69238  
 69239  func init() {
 69240  	t["ResetFirmwareToFactoryDefaults"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaults)(nil)).Elem()
 69241  }
 69242  
 69243  type ResetFirmwareToFactoryDefaultsRequestType struct {
 69244  	This ManagedObjectReference `xml:"_this" json:"-"`
 69245  }
 69246  
 69247  func init() {
 69248  	t["ResetFirmwareToFactoryDefaultsRequestType"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaultsRequestType)(nil)).Elem()
 69249  }
 69250  
 69251  type ResetFirmwareToFactoryDefaultsResponse struct {
 69252  }
 69253  
 69254  type ResetGuestInformation ResetGuestInformationRequestType
 69255  
 69256  func init() {
 69257  	t["ResetGuestInformation"] = reflect.TypeOf((*ResetGuestInformation)(nil)).Elem()
 69258  }
 69259  
 69260  type ResetGuestInformationRequestType struct {
 69261  	This ManagedObjectReference `xml:"_this" json:"-"`
 69262  }
 69263  
 69264  func init() {
 69265  	t["ResetGuestInformationRequestType"] = reflect.TypeOf((*ResetGuestInformationRequestType)(nil)).Elem()
 69266  }
 69267  
 69268  type ResetGuestInformationResponse struct {
 69269  }
 69270  
 69271  type ResetListView ResetListViewRequestType
 69272  
 69273  func init() {
 69274  	t["ResetListView"] = reflect.TypeOf((*ResetListView)(nil)).Elem()
 69275  }
 69276  
 69277  type ResetListViewFromView ResetListViewFromViewRequestType
 69278  
 69279  func init() {
 69280  	t["ResetListViewFromView"] = reflect.TypeOf((*ResetListViewFromView)(nil)).Elem()
 69281  }
 69282  
 69283  // The parameters of `ListView.ResetListViewFromView`.
 69284  type ResetListViewFromViewRequestType struct {
 69285  	This ManagedObjectReference `xml:"_this" json:"-"`
 69286  	// The view to copy objects from.
 69287  	//
 69288  	// Refers instance of `View`.
 69289  	View ManagedObjectReference `xml:"view" json:"view"`
 69290  }
 69291  
 69292  func init() {
 69293  	t["ResetListViewFromViewRequestType"] = reflect.TypeOf((*ResetListViewFromViewRequestType)(nil)).Elem()
 69294  }
 69295  
 69296  type ResetListViewFromViewResponse struct {
 69297  }
 69298  
 69299  // The parameters of `ListView.ResetListView`.
 69300  type ResetListViewRequestType struct {
 69301  	This ManagedObjectReference `xml:"_this" json:"-"`
 69302  	// The new list of objects.
 69303  	//
 69304  	// Required privileges: System.View
 69305  	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 69306  }
 69307  
 69308  func init() {
 69309  	t["ResetListViewRequestType"] = reflect.TypeOf((*ResetListViewRequestType)(nil)).Elem()
 69310  }
 69311  
 69312  type ResetListViewResponse struct {
 69313  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 69314  }
 69315  
 69316  type ResetSystemHealthInfo ResetSystemHealthInfoRequestType
 69317  
 69318  func init() {
 69319  	t["ResetSystemHealthInfo"] = reflect.TypeOf((*ResetSystemHealthInfo)(nil)).Elem()
 69320  }
 69321  
 69322  type ResetSystemHealthInfoRequestType struct {
 69323  	This ManagedObjectReference `xml:"_this" json:"-"`
 69324  }
 69325  
 69326  func init() {
 69327  	t["ResetSystemHealthInfoRequestType"] = reflect.TypeOf((*ResetSystemHealthInfoRequestType)(nil)).Elem()
 69328  }
 69329  
 69330  type ResetSystemHealthInfoResponse struct {
 69331  }
 69332  
 69333  type ResetVMRequestType struct {
 69334  	This ManagedObjectReference `xml:"_this" json:"-"`
 69335  }
 69336  
 69337  func init() {
 69338  	t["ResetVMRequestType"] = reflect.TypeOf((*ResetVMRequestType)(nil)).Elem()
 69339  }
 69340  
 69341  type ResetVM_Task ResetVMRequestType
 69342  
 69343  func init() {
 69344  	t["ResetVM_Task"] = reflect.TypeOf((*ResetVM_Task)(nil)).Elem()
 69345  }
 69346  
 69347  type ResetVM_TaskResponse struct {
 69348  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69349  }
 69350  
 69351  // The parameters of `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`.
 69352  type ResignatureUnresolvedVmfsVolumeRequestType struct {
 69353  	This ManagedObjectReference `xml:"_this" json:"-"`
 69354  	// A data object that describes what the disk
 69355  	// extents to be used for creating the new
 69356  	// VMFS volume.
 69357  	ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69358  }
 69359  
 69360  func init() {
 69361  	t["ResignatureUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolumeRequestType)(nil)).Elem()
 69362  }
 69363  
 69364  type ResignatureUnresolvedVmfsVolume_Task ResignatureUnresolvedVmfsVolumeRequestType
 69365  
 69366  func init() {
 69367  	t["ResignatureUnresolvedVmfsVolume_Task"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolume_Task)(nil)).Elem()
 69368  }
 69369  
 69370  type ResignatureUnresolvedVmfsVolume_TaskResponse struct {
 69371  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69372  }
 69373  
 69374  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnCluster_Task`.
 69375  type ResolveInstallationErrorsOnClusterRequestType struct {
 69376  	This ManagedObjectReference `xml:"_this" json:"-"`
 69377  	// ID of the filter.
 69378  	FilterId string `xml:"filterId" json:"filterId"`
 69379  	// The cluster.
 69380  	//
 69381  	// Refers instance of `ClusterComputeResource`.
 69382  	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
 69383  }
 69384  
 69385  func init() {
 69386  	t["ResolveInstallationErrorsOnClusterRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnClusterRequestType)(nil)).Elem()
 69387  }
 69388  
 69389  type ResolveInstallationErrorsOnCluster_Task ResolveInstallationErrorsOnClusterRequestType
 69390  
 69391  func init() {
 69392  	t["ResolveInstallationErrorsOnCluster_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnCluster_Task)(nil)).Elem()
 69393  }
 69394  
 69395  type ResolveInstallationErrorsOnCluster_TaskResponse struct {
 69396  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69397  }
 69398  
 69399  // The parameters of `IoFilterManager.ResolveInstallationErrorsOnHost_Task`.
 69400  type ResolveInstallationErrorsOnHostRequestType struct {
 69401  	This ManagedObjectReference `xml:"_this" json:"-"`
 69402  	// ID of the filter.
 69403  	FilterId string `xml:"filterId" json:"filterId"`
 69404  	// The host.
 69405  	//
 69406  	// Refers instance of `HostSystem`.
 69407  	Host ManagedObjectReference `xml:"host" json:"host"`
 69408  }
 69409  
 69410  func init() {
 69411  	t["ResolveInstallationErrorsOnHostRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnHostRequestType)(nil)).Elem()
 69412  }
 69413  
 69414  type ResolveInstallationErrorsOnHost_Task ResolveInstallationErrorsOnHostRequestType
 69415  
 69416  func init() {
 69417  	t["ResolveInstallationErrorsOnHost_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnHost_Task)(nil)).Elem()
 69418  }
 69419  
 69420  type ResolveInstallationErrorsOnHost_TaskResponse struct {
 69421  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69422  }
 69423  
 69424  type ResolveMultipleUnresolvedVmfsVolumes ResolveMultipleUnresolvedVmfsVolumesRequestType
 69425  
 69426  func init() {
 69427  	t["ResolveMultipleUnresolvedVmfsVolumes"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumes)(nil)).Elem()
 69428  }
 69429  
 69430  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumesEx_Task`.
 69431  type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct {
 69432  	This ManagedObjectReference `xml:"_this" json:"-"`
 69433  	// List of data object that describes what the disk
 69434  	// extents to be used for creating the new
 69435  	// VMFS volume.
 69436  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69437  }
 69438  
 69439  func init() {
 69440  	t["ResolveMultipleUnresolvedVmfsVolumesExRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesExRequestType)(nil)).Elem()
 69441  }
 69442  
 69443  type ResolveMultipleUnresolvedVmfsVolumesEx_Task ResolveMultipleUnresolvedVmfsVolumesExRequestType
 69444  
 69445  func init() {
 69446  	t["ResolveMultipleUnresolvedVmfsVolumesEx_Task"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesEx_Task)(nil)).Elem()
 69447  }
 69448  
 69449  type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct {
 69450  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 69451  }
 69452  
 69453  // The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes`.
 69454  type ResolveMultipleUnresolvedVmfsVolumesRequestType struct {
 69455  	This ManagedObjectReference `xml:"_this" json:"-"`
 69456  	// List of data object that describes what the disk
 69457  	// extents to be used for creating the new
 69458  	// VMFS volume.
 69459  	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
 69460  }
 69461  
 69462  func init() {
 69463  	t["ResolveMultipleUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesRequestType)(nil)).Elem()
 69464  }
 69465  
 69466  type ResolveMultipleUnresolvedVmfsVolumesResponse struct {
 69467  	Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 69468  }
 69469  
 69470  // The ResourceAllocationInfo data object specifies the reserved resource
 69471  // requirement as well as the limit (maximum allowed usage) for a given
 69472  // kind of resource.
 69473  //
 69474  // This is specified for both memory
 69475  // allocation (specified in MB) and CPU allocation (specified in MHz).
 69476  //
 69477  // For a `ResourcePool`, the ResourceAllocationInfo object describes
 69478  // both the guaranteed amount of the resource (`ResourceAllocationInfo.reservation`)
 69479  // and whether or not it is expandable
 69480  // (`ResourceAllocationInfo.expandableReservation`).
 69481  // If expandableReservation is true, then the resource pool can grow its reservation
 69482  // dynamically by borrowing unreserved resources from its parent resource pool.
 69483  // For the methods `ResourcePool.CreateResourcePool`,
 69484  // `ResourcePool.CreateVApp` and `ResourcePool.ImportVApp`,
 69485  // you must provide values for all properties except overheadLimit; they are not optional.
 69486  // (Currently, overheadLimit is for vCenter Server use only.)
 69487  //
 69488  // If the limit is configured, it must be greater than or equal to the
 69489  // reservation.
 69490  type ResourceAllocationInfo struct {
 69491  	DynamicData
 69492  
 69493  	// Amount of resource that is guaranteed available to the virtual machine or
 69494  	// resource pool.
 69495  	//
 69496  	// Reserved resources are not wasted if they are not used. If
 69497  	// the utilization is less than the reservation, the resources can be utilized by
 69498  	// other running virtual machines. Units are MB for memory, MHz for CPU.
 69499  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 69500  	// In a resource pool with an expandable reservation, the reservation on a resource
 69501  	// pool can grow beyond the specified value, if the parent resource pool has
 69502  	// unreserved resources.
 69503  	//
 69504  	// A non-expandable reservation is called a fixed
 69505  	// reservation. This property is invalid for virtual machines.
 69506  	ExpandableReservation *bool `xml:"expandableReservation" json:"expandableReservation,omitempty"`
 69507  	// The utilization of a virtual machine/resource pool will not exceed this limit, even
 69508  	// if there are available resources.
 69509  	//
 69510  	// This is typically used to ensure a consistent
 69511  	// performance of virtual machines / resource pools independent of available resources.
 69512  	// If set to -1, then there is no fixed limit on resource usage (only bounded by available
 69513  	// resources and shares). Units are MB for memory, MHz for CPU.
 69514  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 69515  	// Memory shares are used in case of resource contention.
 69516  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 69517  	// The maximum allowed overhead memory.
 69518  	//
 69519  	// For a powered on virtual
 69520  	// machine, the overhead memory reservation cannot be larger than its
 69521  	// overheadLimit. This property is only applicable to powered on
 69522  	// virtual machines and is not persisted across reboots. This property
 69523  	// is not applicable for resource pools. If set to -1, then there is
 69524  	// no limit on reservation. Units are MB.
 69525  	//
 69526  	// Note: For vCenter Server use only. Not available for other clients
 69527  	// at this time.
 69528  	// The server will throw an exception if you attempt to set
 69529  	// this property.
 69530  	OverheadLimit *int64 `xml:"overheadLimit" json:"overheadLimit,omitempty"`
 69531  }
 69532  
 69533  func init() {
 69534  	t["ResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem()
 69535  }
 69536  
 69537  // The ResourceAllocationOption data object specifies value ranges and
 69538  // default values for `ResourceAllocationInfo`.
 69539  type ResourceAllocationOption struct {
 69540  	DynamicData
 69541  
 69542  	// Default value and value range for `ResourceAllocationInfo.shares`.
 69543  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 69544  }
 69545  
 69546  func init() {
 69547  	t["ResourceAllocationOption"] = reflect.TypeOf((*ResourceAllocationOption)(nil)).Elem()
 69548  }
 69549  
 69550  // This data object type is a default value and value range specification
 69551  // for `ResourceConfigSpec` object.
 69552  type ResourceConfigOption struct {
 69553  	DynamicData
 69554  
 69555  	// Resource allocation options for CPU.
 69556  	//
 69557  	// See also `ResourceAllocationInfo`.
 69558  	CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption" json:"cpuAllocationOption"`
 69559  	// Resource allocation options for memory.
 69560  	//
 69561  	// See also `ResourceAllocationInfo`.
 69562  	MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption" json:"memoryAllocationOption"`
 69563  }
 69564  
 69565  func init() {
 69566  	t["ResourceConfigOption"] = reflect.TypeOf((*ResourceConfigOption)(nil)).Elem()
 69567  }
 69568  
 69569  // This data object type is a specification for a set of resources
 69570  // allocated to a virtual machine or a resource pool.
 69571  type ResourceConfigSpec struct {
 69572  	DynamicData
 69573  
 69574  	// Reference to the entity with this resource specification:
 69575  	// either a VirtualMachine or a ResourcePool.
 69576  	//
 69577  	// Refers instance of `ManagedEntity`.
 69578  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 69579  	// The changeVersion is a unique identifier for a given version
 69580  	// of the configuration.
 69581  	//
 69582  	// Each change to the configuration will
 69583  	// update this value. This is typically implemented as an ever
 69584  	// increasing count or a time-stamp. However, a client should
 69585  	// always treat this as an opaque string.
 69586  	//
 69587  	// If specified when updating the resource config., the
 69588  	// changes will only be applied if the current changeVersion matches the
 69589  	// specified changeVersion. This field can be used to guard against updates that
 69590  	// has happened between the configInfo was read and until it is applied.
 69591  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 69592  	// Timestamp when the resources were last modified.
 69593  	//
 69594  	// This is ignored when
 69595  	// the object is used to update a configuration.
 69596  	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
 69597  	// Resource allocation for CPU.
 69598  	CpuAllocation ResourceAllocationInfo `xml:"cpuAllocation" json:"cpuAllocation"`
 69599  	// Resource allocation for memory.
 69600  	MemoryAllocation ResourceAllocationInfo `xml:"memoryAllocation" json:"memoryAllocation"`
 69601  	// Specifies the scaling behavior of the shares of all descendant resource
 69602  	// pools under a given resource pool.
 69603  	//
 69604  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. If any
 69605  	// scaling behavior other than `disabled` is
 69606  	// specified, the system will scale the CPU and memory shares allocated to
 69607  	// each descendant resource pool with the total shares of all powered on
 69608  	// virtual machines under each respective pool. The system will also use the
 69609  	// `SharesInfo` set on each descendant resource pool as a
 69610  	// multiplier for the scale. If a resource pool's shares are already
 69611  	// scalable through the `ResourceConfigSpec.scaleDescendantsShares` setting on an ancestor
 69612  	// resource pool, the system will not allow `ResourceConfigSpec.scaleDescendantsShares` to be set on the resource
 69613  	// pool. The `ResourcePoolRuntimeInfo.sharesScalable` property
 69614  	// indicates whether or not a resource pool's shares are scalable. This
 69615  	// property does not apply to virtual machines.
 69616  	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty"`
 69617  }
 69618  
 69619  func init() {
 69620  	t["ResourceConfigSpec"] = reflect.TypeOf((*ResourceConfigSpec)(nil)).Elem()
 69621  }
 69622  
 69623  // A ResourceInUse fault indicating that some error has occurred because a
 69624  // resource was in use.
 69625  //
 69626  // Information about the resource that is in use may
 69627  // be supplied.
 69628  type ResourceInUse struct {
 69629  	VimFault
 69630  
 69631  	// Type of resource that is in use.
 69632  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 69633  	// Name of the instance of the resource that is in use.
 69634  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 69635  }
 69636  
 69637  func init() {
 69638  	t["ResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem()
 69639  }
 69640  
 69641  type ResourceInUseFault BaseResourceInUse
 69642  
 69643  func init() {
 69644  	t["ResourceInUseFault"] = reflect.TypeOf((*ResourceInUseFault)(nil)).Elem()
 69645  }
 69646  
 69647  // A ResourceNotAvailable fault indicating that some error has occurred because a
 69648  // resource was not available.
 69649  //
 69650  // Information about the resource that is in use may
 69651  // be supplied.
 69652  type ResourceNotAvailable struct {
 69653  	VimFault
 69654  
 69655  	// Type of container that contains the resource.
 69656  	ContainerType string `xml:"containerType,omitempty" json:"containerType,omitempty"`
 69657  	// Name of container that contains the resource.
 69658  	//
 69659  	// .
 69660  	ContainerName string `xml:"containerName,omitempty" json:"containerName,omitempty"`
 69661  	// Type of resource that is not available.
 69662  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 69663  }
 69664  
 69665  func init() {
 69666  	t["ResourceNotAvailable"] = reflect.TypeOf((*ResourceNotAvailable)(nil)).Elem()
 69667  }
 69668  
 69669  type ResourceNotAvailableFault ResourceNotAvailable
 69670  
 69671  func init() {
 69672  	t["ResourceNotAvailableFault"] = reflect.TypeOf((*ResourceNotAvailableFault)(nil)).Elem()
 69673  }
 69674  
 69675  // This event records when a new resource pool is created.
 69676  type ResourcePoolCreatedEvent struct {
 69677  	ResourcePoolEvent
 69678  
 69679  	// The parent resource pool that new resource pool belongs to.
 69680  	Parent ResourcePoolEventArgument `xml:"parent" json:"parent"`
 69681  }
 69682  
 69683  func init() {
 69684  	t["ResourcePoolCreatedEvent"] = reflect.TypeOf((*ResourcePoolCreatedEvent)(nil)).Elem()
 69685  }
 69686  
 69687  // This event records when a resource pool is destroyed.
 69688  type ResourcePoolDestroyedEvent struct {
 69689  	ResourcePoolEvent
 69690  }
 69691  
 69692  func init() {
 69693  	t["ResourcePoolDestroyedEvent"] = reflect.TypeOf((*ResourcePoolDestroyedEvent)(nil)).Elem()
 69694  }
 69695  
 69696  // This event is the base class for all resource pool events.
 69697  type ResourcePoolEvent struct {
 69698  	Event
 69699  
 69700  	ResourcePool ResourcePoolEventArgument `xml:"resourcePool" json:"resourcePool"`
 69701  }
 69702  
 69703  func init() {
 69704  	t["ResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem()
 69705  }
 69706  
 69707  // The event argument is a ResourcePool object.
 69708  type ResourcePoolEventArgument struct {
 69709  	EntityEventArgument
 69710  
 69711  	// The ResourcePool object.
 69712  	//
 69713  	// Refers instance of `ResourcePool`.
 69714  	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
 69715  }
 69716  
 69717  func init() {
 69718  	t["ResourcePoolEventArgument"] = reflect.TypeOf((*ResourcePoolEventArgument)(nil)).Elem()
 69719  }
 69720  
 69721  // This event records when a resource pool is moved.
 69722  type ResourcePoolMovedEvent struct {
 69723  	ResourcePoolEvent
 69724  
 69725  	// The old parent of the resource Pool.
 69726  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 69727  	// The new parent of the resource Pool.
 69728  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 69729  }
 69730  
 69731  func init() {
 69732  	t["ResourcePoolMovedEvent"] = reflect.TypeOf((*ResourcePoolMovedEvent)(nil)).Elem()
 69733  }
 69734  
 69735  // A set of statistics that are typically updated with near real-time regularity.
 69736  //
 69737  // These statistics are aggregates of the corresponding statistics of all virtual
 69738  // machines in the given resource pool, and unless otherwise noted, only make sense
 69739  // when at least one virtual machine in the given resource pool is powered on.
 69740  // This data object type does not support notification, for scalability reasons.
 69741  // Therefore, changes in QuickStats do not generate property collector updates. To
 69742  // monitor statistics values, use the statistics and alarms modules instead.
 69743  type ResourcePoolQuickStats struct {
 69744  	DynamicData
 69745  
 69746  	// Basic CPU performance statistics, in MHz.
 69747  	OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 69748  	// Basic CPU performance statistics, in MHz.
 69749  	OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
 69750  	// Guest memory utilization statistics, in MB.
 69751  	//
 69752  	// This
 69753  	// is also known as active guest memory. The number
 69754  	// can be between 0 and the configured memory size of
 69755  	// a virtual machine.
 69756  	GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 69757  	// Host memory utilization statistics, in MB.
 69758  	//
 69759  	// This
 69760  	// is also known as consummed host memory. This is between 0 and
 69761  	// the configured resource limit. Valid while a virtual machine is
 69762  	// running. This includes the overhead memory of a virtual machine.
 69763  	HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 69764  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 69765  	// calculated by DRS.
 69766  	//
 69767  	// Valid only for a VM managed by DRS.
 69768  	DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 69769  	// This is the amount of memory, in MB, that this VM is entitled to, as
 69770  	// calculated by DRS.
 69771  	//
 69772  	// Valid only for a VM managed by DRS.
 69773  	DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 69774  	// The static CPU resource entitlement for a virtual machine.
 69775  	//
 69776  	// This value is
 69777  	// calculated based on this virtual machine's resource reservations, shares
 69778  	// and limit, and doesn't take into account current usage. This is the worst
 69779  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 69780  	// resource this virtual machine would receive if all virtual machines running
 69781  	// in the cluster went to maximum consumption. Units are MHz.
 69782  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
 69783  	// The static memory resource entitlement for a virtual machine.
 69784  	//
 69785  	// This value is
 69786  	// calculated based on this virtual machine's resource reservations, shares
 69787  	// and limit, and doesn't take into account current usage. This is the worst
 69788  	// case memory allocation for this virtual machine, that is, the amount of
 69789  	// memory this virtual machine would receive if all virtual machines running
 69790  	// in the cluster went to maximum consumption. Units are MB.
 69791  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
 69792  	// The portion of memory, in MB, that is granted to a virtual machine from
 69793  	// non-shared host memory.
 69794  	PrivateMemory int64 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
 69795  	// The portion of memory, in MB, that is granted to a virtual machine from host
 69796  	// memory that is shared between VMs.
 69797  	SharedMemory int64 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
 69798  	// The portion of memory, in MB, that is granted to a virtual machine from the
 69799  	// host's swap space.
 69800  	//
 69801  	// This is a sign that there is memory pressure on the host.
 69802  	SwappedMemory int64 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
 69803  	// The size of the balloon driver in a virtual machine, in MB.
 69804  	//
 69805  	// The host will
 69806  	// inflate the balloon driver to reclaim physical memory from a virtual machine.
 69807  	// This is a sign that there is memory pressure on the host.
 69808  	BalloonedMemory int64 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
 69809  	// The amount of memory resource (in MB) that will be used by
 69810  	// a virtual machine above its guest memory requirements.
 69811  	//
 69812  	// This value is set if and only if a virtual machine is registered
 69813  	// on a host that supports memory resource allocation features.
 69814  	// For powered off VMs, this is the minimum overhead required to
 69815  	// power on the VM on the registered host.
 69816  	// For powered on VMs, this is the current overhead reservation, a
 69817  	// value which is almost always larger than the minimum overhead, and
 69818  	// which grows with time.
 69819  	//
 69820  	// See also `HostSystem.QueryMemoryOverheadEx`.
 69821  	OverheadMemory int64 `xml:"overheadMemory,omitempty" json:"overheadMemory,omitempty"`
 69822  	// The amount of overhead memory, in MB, currently being consumed to run a VM.
 69823  	//
 69824  	// This value is limited by the overhead memory reservation for a VM, stored
 69825  	// in `ResourcePoolQuickStats.overheadMemory`.
 69826  	ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
 69827  	// The amount of compressed memory currently consumed by VM, in KB.
 69828  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty"`
 69829  }
 69830  
 69831  func init() {
 69832  	t["ResourcePoolQuickStats"] = reflect.TypeOf((*ResourcePoolQuickStats)(nil)).Elem()
 69833  }
 69834  
 69835  // This event records when a resource pool configuration is changed.
 69836  type ResourcePoolReconfiguredEvent struct {
 69837  	ResourcePoolEvent
 69838  
 69839  	// The configuration values changed during the reconfiguration.
 69840  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 69841  }
 69842  
 69843  func init() {
 69844  	t["ResourcePoolReconfiguredEvent"] = reflect.TypeOf((*ResourcePoolReconfiguredEvent)(nil)).Elem()
 69845  }
 69846  
 69847  // Specifies the resource usage for either memory
 69848  // or CPU.
 69849  //
 69850  // For CPU the unit is MHz, for memory the unit is bytes.
 69851  //
 69852  // In the typical case, where a resourcepool is in a consistent state,
 69853  // unreservedForVm will be equal to unreservedForPool. Hence, we
 69854  // can simply say talk about unreserved resources.
 69855  //
 69856  // If the reservation on the resource pool is not expandable, then
 69857  // the following is true:
 69858  //
 69859  //	reservation = reservationUsed + unreserved
 69860  //
 69861  // If the reservation on the resource pool is expandable, then
 69862  // the following is true:
 69863  //
 69864  //	reservation + parent.unreserved = reservationUsed + unreserved
 69865  type ResourcePoolResourceUsage struct {
 69866  	DynamicData
 69867  
 69868  	// Total amount of resources that have been used to satisfy the
 69869  	// reservation requirements of all descendants of this
 69870  	// resource pool (includes both resource pools and virtual
 69871  	// machines).
 69872  	ReservationUsed int64 `xml:"reservationUsed" json:"reservationUsed"`
 69873  	// Total amount of resources that have been used to satisfy the reservation
 69874  	// requirements of running virtual machines in this resource pool or any of its
 69875  	// child resource pools.
 69876  	ReservationUsedForVm int64 `xml:"reservationUsedForVm" json:"reservationUsedForVm"`
 69877  	// Total amount of resources available to satisfy a reservation
 69878  	// for a child resource pool.
 69879  	//
 69880  	// In the undercommitted state, this is
 69881  	// limited by the capacity at the root node. In the overcommitted case,
 69882  	// this could be higher since we do not perform the dynamic capacity
 69883  	// checks.
 69884  	UnreservedForPool int64 `xml:"unreservedForPool" json:"unreservedForPool"`
 69885  	// Total amount of resources available to satisfy a reservation for
 69886  	// a child virtual machine.
 69887  	//
 69888  	// In general, this should be the same as
 69889  	// `ResourcePoolResourceUsage.unreservedForPool`. However, in the overcommitted case, this
 69890  	// is limited by the remaining available resources at the root
 69891  	// node.
 69892  	UnreservedForVm int64 `xml:"unreservedForVm" json:"unreservedForVm"`
 69893  	// Deprecated as of vSphere API 6.5.
 69894  	// Use `ResourcePoolQuickStats.overallCpuUsage` and
 69895  	// `ResourcePoolQuickStats.hostMemoryUsage`.
 69896  	//
 69897  	// Close to real-time resource usage of all running child virtual
 69898  	// machines, including virtual machines in child resource pools.
 69899  	OverallUsage int64 `xml:"overallUsage" json:"overallUsage"`
 69900  	// Current upper-bound on usage.
 69901  	//
 69902  	// The upper-bound is based on the limit configured
 69903  	// on this resource pool, as well as limits configured on any parent resource
 69904  	// pool.
 69905  	MaxUsage int64 `xml:"maxUsage" json:"maxUsage"`
 69906  }
 69907  
 69908  func init() {
 69909  	t["ResourcePoolResourceUsage"] = reflect.TypeOf((*ResourcePoolResourceUsage)(nil)).Elem()
 69910  }
 69911  
 69912  // Current runtime resource usage and state of the resource pool
 69913  type ResourcePoolRuntimeInfo struct {
 69914  	DynamicData
 69915  
 69916  	// Runtime resource usage for memory.
 69917  	//
 69918  	// Values are in bytes.
 69919  	Memory ResourcePoolResourceUsage `xml:"memory" json:"memory"`
 69920  	// Runtime resource usage for CPU.
 69921  	//
 69922  	// Values are in Mhz.
 69923  	Cpu ResourcePoolResourceUsage `xml:"cpu" json:"cpu"`
 69924  	// Deprecated as of vSphere API 6.5.
 69925  	// Use `ManagedEntity.overallStatus`.
 69926  	//
 69927  	// Overall health of the tree.
 69928  	//
 69929  	// See header for description of various
 69930  	// statuses and when they are set.
 69931  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 69932  	// The scaling behavior of the shares of a given resource pool.
 69933  	//
 69934  	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. The
 69935  	// system will automatically compute this property based on the `ResourceConfigSpec.scaleDescendantsShares` setting on every
 69936  	// ancestor resource pool. This property does not apply to virtual
 69937  	// machines.
 69938  	SharesScalable string `xml:"sharesScalable,omitempty" json:"sharesScalable,omitempty"`
 69939  }
 69940  
 69941  func init() {
 69942  	t["ResourcePoolRuntimeInfo"] = reflect.TypeOf((*ResourcePoolRuntimeInfo)(nil)).Elem()
 69943  }
 69944  
 69945  // This data object type encapsulates a typical set of resource
 69946  // pool information that is useful for list views and summary pages.
 69947  type ResourcePoolSummary struct {
 69948  	DynamicData
 69949  
 69950  	// Name of resource pool.
 69951  	Name string `xml:"name" json:"name"`
 69952  	// Current configuration of the resource pool.
 69953  	Config ResourceConfigSpec `xml:"config" json:"config"`
 69954  	// Current runtime state of the resource pool.
 69955  	Runtime ResourcePoolRuntimeInfo `xml:"runtime" json:"runtime"`
 69956  	// A set of statistics that are typically updated with near real-time regularity.
 69957  	//
 69958  	// This data object type does not support notification, for scalability reasons.
 69959  	// Therefore, changes in QuickStats do not generate property collector updates.
 69960  	// To monitor statistics values, use the statistics and alarms modules instead.
 69961  	QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty" json:"quickStats,omitempty"`
 69962  	// Total configured memory of all virtual machines in the resource pool, in MB.
 69963  	ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty" json:"configuredMemoryMB,omitempty"`
 69964  }
 69965  
 69966  func init() {
 69967  	t["ResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem()
 69968  }
 69969  
 69970  // This event records when a conflict with a resource pool's resource
 69971  // configuration is detected.
 69972  type ResourceViolatedEvent struct {
 69973  	ResourcePoolEvent
 69974  }
 69975  
 69976  func init() {
 69977  	t["ResourceViolatedEvent"] = reflect.TypeOf((*ResourceViolatedEvent)(nil)).Elem()
 69978  }
 69979  
 69980  type RestartService RestartServiceRequestType
 69981  
 69982  func init() {
 69983  	t["RestartService"] = reflect.TypeOf((*RestartService)(nil)).Elem()
 69984  }
 69985  
 69986  type RestartServiceConsoleVirtualNic RestartServiceConsoleVirtualNicRequestType
 69987  
 69988  func init() {
 69989  	t["RestartServiceConsoleVirtualNic"] = reflect.TypeOf((*RestartServiceConsoleVirtualNic)(nil)).Elem()
 69990  }
 69991  
 69992  // The parameters of `HostNetworkSystem.RestartServiceConsoleVirtualNic`.
 69993  type RestartServiceConsoleVirtualNicRequestType struct {
 69994  	This   ManagedObjectReference `xml:"_this" json:"-"`
 69995  	Device string                 `xml:"device" json:"device"`
 69996  }
 69997  
 69998  func init() {
 69999  	t["RestartServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RestartServiceConsoleVirtualNicRequestType)(nil)).Elem()
 70000  }
 70001  
 70002  type RestartServiceConsoleVirtualNicResponse struct {
 70003  }
 70004  
 70005  // The parameters of `HostServiceSystem.RestartService`.
 70006  type RestartServiceRequestType struct {
 70007  	This ManagedObjectReference `xml:"_this" json:"-"`
 70008  	// Service identifier
 70009  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 70010  	Id string `xml:"id" json:"id"`
 70011  }
 70012  
 70013  func init() {
 70014  	t["RestartServiceRequestType"] = reflect.TypeOf((*RestartServiceRequestType)(nil)).Elem()
 70015  }
 70016  
 70017  type RestartServiceResponse struct {
 70018  }
 70019  
 70020  type RestoreFirmwareConfiguration RestoreFirmwareConfigurationRequestType
 70021  
 70022  func init() {
 70023  	t["RestoreFirmwareConfiguration"] = reflect.TypeOf((*RestoreFirmwareConfiguration)(nil)).Elem()
 70024  }
 70025  
 70026  // The parameters of `HostFirmwareSystem.RestoreFirmwareConfiguration`.
 70027  type RestoreFirmwareConfigurationRequestType struct {
 70028  	This ManagedObjectReference `xml:"_this" json:"-"`
 70029  	// Forces application of the configuration even if the bundle
 70030  	// is mismatched.
 70031  	Force bool `xml:"force" json:"force"`
 70032  }
 70033  
 70034  func init() {
 70035  	t["RestoreFirmwareConfigurationRequestType"] = reflect.TypeOf((*RestoreFirmwareConfigurationRequestType)(nil)).Elem()
 70036  }
 70037  
 70038  type RestoreFirmwareConfigurationResponse struct {
 70039  }
 70040  
 70041  // This fault is thrown when an operation cannot complete because of some
 70042  // restriction set by the server administrator.
 70043  type RestrictedByAdministrator struct {
 70044  	RuntimeFault
 70045  
 70046  	Details string `xml:"details" json:"details"`
 70047  }
 70048  
 70049  func init() {
 70050  	t["RestrictedByAdministrator"] = reflect.TypeOf((*RestrictedByAdministrator)(nil)).Elem()
 70051  }
 70052  
 70053  type RestrictedByAdministratorFault RestrictedByAdministrator
 70054  
 70055  func init() {
 70056  	t["RestrictedByAdministratorFault"] = reflect.TypeOf((*RestrictedByAdministratorFault)(nil)).Elem()
 70057  }
 70058  
 70059  // Thrown when the caller is not permitted to perform the specified
 70060  // operation due to product versioning restrictions.
 70061  type RestrictedVersion struct {
 70062  	SecurityError
 70063  }
 70064  
 70065  func init() {
 70066  	t["RestrictedVersion"] = reflect.TypeOf((*RestrictedVersion)(nil)).Elem()
 70067  }
 70068  
 70069  type RestrictedVersionFault RestrictedVersion
 70070  
 70071  func init() {
 70072  	t["RestrictedVersionFault"] = reflect.TypeOf((*RestrictedVersionFault)(nil)).Elem()
 70073  }
 70074  
 70075  type RetrieveAllPermissions RetrieveAllPermissionsRequestType
 70076  
 70077  func init() {
 70078  	t["RetrieveAllPermissions"] = reflect.TypeOf((*RetrieveAllPermissions)(nil)).Elem()
 70079  }
 70080  
 70081  type RetrieveAllPermissionsRequestType struct {
 70082  	This ManagedObjectReference `xml:"_this" json:"-"`
 70083  }
 70084  
 70085  func init() {
 70086  	t["RetrieveAllPermissionsRequestType"] = reflect.TypeOf((*RetrieveAllPermissionsRequestType)(nil)).Elem()
 70087  }
 70088  
 70089  type RetrieveAllPermissionsResponse struct {
 70090  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70091  }
 70092  
 70093  type RetrieveAnswerFile RetrieveAnswerFileRequestType
 70094  
 70095  func init() {
 70096  	t["RetrieveAnswerFile"] = reflect.TypeOf((*RetrieveAnswerFile)(nil)).Elem()
 70097  }
 70098  
 70099  type RetrieveAnswerFileForProfile RetrieveAnswerFileForProfileRequestType
 70100  
 70101  func init() {
 70102  	t["RetrieveAnswerFileForProfile"] = reflect.TypeOf((*RetrieveAnswerFileForProfile)(nil)).Elem()
 70103  }
 70104  
 70105  // The parameters of `HostProfileManager.RetrieveAnswerFileForProfile`.
 70106  type RetrieveAnswerFileForProfileRequestType struct {
 70107  	This ManagedObjectReference `xml:"_this" json:"-"`
 70108  	// Host with which the answer file is associated.
 70109  	//
 70110  	// Required privileges: Profile.Edit
 70111  	//
 70112  	// Refers instance of `HostSystem`.
 70113  	Host ManagedObjectReference `xml:"host" json:"host"`
 70114  	// Profile configuration used to generate answer file
 70115  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 70116  }
 70117  
 70118  func init() {
 70119  	t["RetrieveAnswerFileForProfileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileForProfileRequestType)(nil)).Elem()
 70120  }
 70121  
 70122  type RetrieveAnswerFileForProfileResponse struct {
 70123  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70124  }
 70125  
 70126  // The parameters of `HostProfileManager.RetrieveAnswerFile`.
 70127  type RetrieveAnswerFileRequestType struct {
 70128  	This ManagedObjectReference `xml:"_this" json:"-"`
 70129  	// Host with which the answer file is associated.
 70130  	//
 70131  	// Required privileges: Profile.Edit
 70132  	//
 70133  	// Refers instance of `HostSystem`.
 70134  	Host ManagedObjectReference `xml:"host" json:"host"`
 70135  }
 70136  
 70137  func init() {
 70138  	t["RetrieveAnswerFileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileRequestType)(nil)).Elem()
 70139  }
 70140  
 70141  type RetrieveAnswerFileResponse struct {
 70142  	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70143  }
 70144  
 70145  type RetrieveArgumentDescription RetrieveArgumentDescriptionRequestType
 70146  
 70147  func init() {
 70148  	t["RetrieveArgumentDescription"] = reflect.TypeOf((*RetrieveArgumentDescription)(nil)).Elem()
 70149  }
 70150  
 70151  // The parameters of `EventManager.RetrieveArgumentDescription`.
 70152  type RetrieveArgumentDescriptionRequestType struct {
 70153  	This        ManagedObjectReference `xml:"_this" json:"-"`
 70154  	EventTypeId string                 `xml:"eventTypeId" json:"eventTypeId"`
 70155  }
 70156  
 70157  func init() {
 70158  	t["RetrieveArgumentDescriptionRequestType"] = reflect.TypeOf((*RetrieveArgumentDescriptionRequestType)(nil)).Elem()
 70159  }
 70160  
 70161  type RetrieveArgumentDescriptionResponse struct {
 70162  	Returnval []EventArgDesc `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70163  }
 70164  
 70165  type RetrieveCertificateInfoList RetrieveCertificateInfoListRequestType
 70166  
 70167  func init() {
 70168  	t["RetrieveCertificateInfoList"] = reflect.TypeOf((*RetrieveCertificateInfoList)(nil)).Elem()
 70169  }
 70170  
 70171  type RetrieveCertificateInfoListRequestType struct {
 70172  	This ManagedObjectReference `xml:"_this" json:"-"`
 70173  }
 70174  
 70175  func init() {
 70176  	t["RetrieveCertificateInfoListRequestType"] = reflect.TypeOf((*RetrieveCertificateInfoListRequestType)(nil)).Elem()
 70177  }
 70178  
 70179  type RetrieveCertificateInfoListResponse struct {
 70180  	Returnval []HostCertificateManagerCertificateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70181  }
 70182  
 70183  type RetrieveClientCert RetrieveClientCertRequestType
 70184  
 70185  func init() {
 70186  	t["RetrieveClientCert"] = reflect.TypeOf((*RetrieveClientCert)(nil)).Elem()
 70187  }
 70188  
 70189  // The parameters of `CryptoManagerKmip.RetrieveClientCert`.
 70190  type RetrieveClientCertRequestType struct {
 70191  	This ManagedObjectReference `xml:"_this" json:"-"`
 70192  	// \[in\] KMIP cluster.
 70193  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 70194  }
 70195  
 70196  func init() {
 70197  	t["RetrieveClientCertRequestType"] = reflect.TypeOf((*RetrieveClientCertRequestType)(nil)).Elem()
 70198  }
 70199  
 70200  type RetrieveClientCertResponse struct {
 70201  	Returnval string `xml:"returnval" json:"returnval"`
 70202  }
 70203  
 70204  type RetrieveClientCsr RetrieveClientCsrRequestType
 70205  
 70206  func init() {
 70207  	t["RetrieveClientCsr"] = reflect.TypeOf((*RetrieveClientCsr)(nil)).Elem()
 70208  }
 70209  
 70210  // The parameters of `CryptoManagerKmip.RetrieveClientCsr`.
 70211  type RetrieveClientCsrRequestType struct {
 70212  	This ManagedObjectReference `xml:"_this" json:"-"`
 70213  	// \[in\] KMIP cluster.
 70214  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 70215  }
 70216  
 70217  func init() {
 70218  	t["RetrieveClientCsrRequestType"] = reflect.TypeOf((*RetrieveClientCsrRequestType)(nil)).Elem()
 70219  }
 70220  
 70221  type RetrieveClientCsrResponse struct {
 70222  	Returnval string `xml:"returnval" json:"returnval"`
 70223  }
 70224  
 70225  type RetrieveDasAdvancedRuntimeInfo RetrieveDasAdvancedRuntimeInfoRequestType
 70226  
 70227  func init() {
 70228  	t["RetrieveDasAdvancedRuntimeInfo"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfo)(nil)).Elem()
 70229  }
 70230  
 70231  type RetrieveDasAdvancedRuntimeInfoRequestType struct {
 70232  	This ManagedObjectReference `xml:"_this" json:"-"`
 70233  }
 70234  
 70235  func init() {
 70236  	t["RetrieveDasAdvancedRuntimeInfoRequestType"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfoRequestType)(nil)).Elem()
 70237  }
 70238  
 70239  type RetrieveDasAdvancedRuntimeInfoResponse struct {
 70240  	Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 70241  }
 70242  
 70243  type RetrieveDescription RetrieveDescriptionRequestType
 70244  
 70245  func init() {
 70246  	t["RetrieveDescription"] = reflect.TypeOf((*RetrieveDescription)(nil)).Elem()
 70247  }
 70248  
 70249  type RetrieveDescriptionRequestType struct {
 70250  	This ManagedObjectReference `xml:"_this" json:"-"`
 70251  }
 70252  
 70253  func init() {
 70254  	t["RetrieveDescriptionRequestType"] = reflect.TypeOf((*RetrieveDescriptionRequestType)(nil)).Elem()
 70255  }
 70256  
 70257  type RetrieveDescriptionResponse struct {
 70258  	Returnval *ProfileDescription `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70259  }
 70260  
 70261  type RetrieveDiskPartitionInfo RetrieveDiskPartitionInfoRequestType
 70262  
 70263  func init() {
 70264  	t["RetrieveDiskPartitionInfo"] = reflect.TypeOf((*RetrieveDiskPartitionInfo)(nil)).Elem()
 70265  }
 70266  
 70267  // The parameters of `HostStorageSystem.RetrieveDiskPartitionInfo`.
 70268  type RetrieveDiskPartitionInfoRequestType struct {
 70269  	This ManagedObjectReference `xml:"_this" json:"-"`
 70270  	// An array of device path names that identify disks.
 70271  	// See `ScsiDisk`.
 70272  	DevicePath []string `xml:"devicePath" json:"devicePath"`
 70273  }
 70274  
 70275  func init() {
 70276  	t["RetrieveDiskPartitionInfoRequestType"] = reflect.TypeOf((*RetrieveDiskPartitionInfoRequestType)(nil)).Elem()
 70277  }
 70278  
 70279  type RetrieveDiskPartitionInfoResponse struct {
 70280  	Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70281  }
 70282  
 70283  type RetrieveDynamicPassthroughInfo RetrieveDynamicPassthroughInfoRequestType
 70284  
 70285  func init() {
 70286  	t["RetrieveDynamicPassthroughInfo"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfo)(nil)).Elem()
 70287  }
 70288  
 70289  type RetrieveDynamicPassthroughInfoRequestType struct {
 70290  	This ManagedObjectReference `xml:"_this" json:"-"`
 70291  }
 70292  
 70293  func init() {
 70294  	t["RetrieveDynamicPassthroughInfoRequestType"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfoRequestType)(nil)).Elem()
 70295  }
 70296  
 70297  type RetrieveDynamicPassthroughInfoResponse struct {
 70298  	Returnval []VirtualMachineDynamicPassthroughInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70299  }
 70300  
 70301  type RetrieveEntityPermissions RetrieveEntityPermissionsRequestType
 70302  
 70303  func init() {
 70304  	t["RetrieveEntityPermissions"] = reflect.TypeOf((*RetrieveEntityPermissions)(nil)).Elem()
 70305  }
 70306  
 70307  // The parameters of `AuthorizationManager.RetrieveEntityPermissions`.
 70308  type RetrieveEntityPermissionsRequestType struct {
 70309  	This ManagedObjectReference `xml:"_this" json:"-"`
 70310  	// Required privileges: System.Read
 70311  	//
 70312  	// Refers instance of `ManagedEntity`.
 70313  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 70314  	// Whether or not to include propagating permissions
 70315  	// defined by parent entities.
 70316  	Inherited bool `xml:"inherited" json:"inherited"`
 70317  }
 70318  
 70319  func init() {
 70320  	t["RetrieveEntityPermissionsRequestType"] = reflect.TypeOf((*RetrieveEntityPermissionsRequestType)(nil)).Elem()
 70321  }
 70322  
 70323  type RetrieveEntityPermissionsResponse struct {
 70324  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70325  }
 70326  
 70327  type RetrieveEntityScheduledTask RetrieveEntityScheduledTaskRequestType
 70328  
 70329  func init() {
 70330  	t["RetrieveEntityScheduledTask"] = reflect.TypeOf((*RetrieveEntityScheduledTask)(nil)).Elem()
 70331  }
 70332  
 70333  // The parameters of `ScheduledTaskManager.RetrieveEntityScheduledTask`.
 70334  type RetrieveEntityScheduledTaskRequestType struct {
 70335  	This ManagedObjectReference `xml:"_this" json:"-"`
 70336  	// The entity. If null, all scheduled tasks are returned
 70337  	// for visible entities.
 70338  	//
 70339  	// Refers instance of `ManagedEntity`.
 70340  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 70341  }
 70342  
 70343  func init() {
 70344  	t["RetrieveEntityScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveEntityScheduledTaskRequestType)(nil)).Elem()
 70345  }
 70346  
 70347  type RetrieveEntityScheduledTaskResponse struct {
 70348  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70349  }
 70350  
 70351  type RetrieveFreeEpcMemory RetrieveFreeEpcMemoryRequestType
 70352  
 70353  func init() {
 70354  	t["RetrieveFreeEpcMemory"] = reflect.TypeOf((*RetrieveFreeEpcMemory)(nil)).Elem()
 70355  }
 70356  
 70357  type RetrieveFreeEpcMemoryRequestType struct {
 70358  	This ManagedObjectReference `xml:"_this" json:"-"`
 70359  }
 70360  
 70361  func init() {
 70362  	t["RetrieveFreeEpcMemoryRequestType"] = reflect.TypeOf((*RetrieveFreeEpcMemoryRequestType)(nil)).Elem()
 70363  }
 70364  
 70365  type RetrieveFreeEpcMemoryResponse struct {
 70366  	Returnval int64 `xml:"returnval" json:"returnval"`
 70367  }
 70368  
 70369  type RetrieveHardwareUptime RetrieveHardwareUptimeRequestType
 70370  
 70371  func init() {
 70372  	t["RetrieveHardwareUptime"] = reflect.TypeOf((*RetrieveHardwareUptime)(nil)).Elem()
 70373  }
 70374  
 70375  type RetrieveHardwareUptimeRequestType struct {
 70376  	This ManagedObjectReference `xml:"_this" json:"-"`
 70377  }
 70378  
 70379  func init() {
 70380  	t["RetrieveHardwareUptimeRequestType"] = reflect.TypeOf((*RetrieveHardwareUptimeRequestType)(nil)).Elem()
 70381  }
 70382  
 70383  type RetrieveHardwareUptimeResponse struct {
 70384  	Returnval int64 `xml:"returnval" json:"returnval"`
 70385  }
 70386  
 70387  type RetrieveHostAccessControlEntries RetrieveHostAccessControlEntriesRequestType
 70388  
 70389  func init() {
 70390  	t["RetrieveHostAccessControlEntries"] = reflect.TypeOf((*RetrieveHostAccessControlEntries)(nil)).Elem()
 70391  }
 70392  
 70393  type RetrieveHostAccessControlEntriesRequestType struct {
 70394  	This ManagedObjectReference `xml:"_this" json:"-"`
 70395  }
 70396  
 70397  func init() {
 70398  	t["RetrieveHostAccessControlEntriesRequestType"] = reflect.TypeOf((*RetrieveHostAccessControlEntriesRequestType)(nil)).Elem()
 70399  }
 70400  
 70401  type RetrieveHostAccessControlEntriesResponse struct {
 70402  	Returnval []HostAccessControlEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70403  }
 70404  
 70405  type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType
 70406  
 70407  func init() {
 70408  	t["RetrieveHostCustomizations"] = reflect.TypeOf((*RetrieveHostCustomizations)(nil)).Elem()
 70409  }
 70410  
 70411  type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType
 70412  
 70413  func init() {
 70414  	t["RetrieveHostCustomizationsForProfile"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfile)(nil)).Elem()
 70415  }
 70416  
 70417  // The parameters of `HostProfileManager.RetrieveHostCustomizationsForProfile`.
 70418  type RetrieveHostCustomizationsForProfileRequestType struct {
 70419  	This ManagedObjectReference `xml:"_this" json:"-"`
 70420  	// Hosts with which the answer files are associated.
 70421  	//
 70422  	// Required privileges: Profile.Edit
 70423  	//
 70424  	// Refers instances of `HostSystem`.
 70425  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 70426  	// Profile configuration used to generate answer file
 70427  	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
 70428  }
 70429  
 70430  func init() {
 70431  	t["RetrieveHostCustomizationsForProfileRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfileRequestType)(nil)).Elem()
 70432  }
 70433  
 70434  type RetrieveHostCustomizationsForProfileResponse struct {
 70435  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70436  }
 70437  
 70438  // The parameters of `HostProfileManager.RetrieveHostCustomizations`.
 70439  type RetrieveHostCustomizationsRequestType struct {
 70440  	This ManagedObjectReference `xml:"_this" json:"-"`
 70441  	// Hosts with which the answer files are associated.
 70442  	//
 70443  	// Required privileges: Profile.Edit
 70444  	//
 70445  	// Refers instances of `HostSystem`.
 70446  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 70447  }
 70448  
 70449  func init() {
 70450  	t["RetrieveHostCustomizationsRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsRequestType)(nil)).Elem()
 70451  }
 70452  
 70453  type RetrieveHostCustomizationsResponse struct {
 70454  	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70455  }
 70456  
 70457  type RetrieveHostSpecification RetrieveHostSpecificationRequestType
 70458  
 70459  func init() {
 70460  	t["RetrieveHostSpecification"] = reflect.TypeOf((*RetrieveHostSpecification)(nil)).Elem()
 70461  }
 70462  
 70463  // The parameters of `HostSpecificationManager.RetrieveHostSpecification`.
 70464  type RetrieveHostSpecificationRequestType struct {
 70465  	This ManagedObjectReference `xml:"_this" json:"-"`
 70466  	// The specified host whose host specification will be retrieved.
 70467  	//
 70468  	// Refers instance of `HostSystem`.
 70469  	Host ManagedObjectReference `xml:"host" json:"host"`
 70470  	// Whether retrieve from the host.
 70471  	FromHost bool `xml:"fromHost" json:"fromHost"`
 70472  }
 70473  
 70474  func init() {
 70475  	t["RetrieveHostSpecificationRequestType"] = reflect.TypeOf((*RetrieveHostSpecificationRequestType)(nil)).Elem()
 70476  }
 70477  
 70478  type RetrieveHostSpecificationResponse struct {
 70479  	Returnval HostSpecification `xml:"returnval" json:"returnval"`
 70480  }
 70481  
 70482  type RetrieveKmipServerCert RetrieveKmipServerCertRequestType
 70483  
 70484  func init() {
 70485  	t["RetrieveKmipServerCert"] = reflect.TypeOf((*RetrieveKmipServerCert)(nil)).Elem()
 70486  }
 70487  
 70488  // The parameters of `CryptoManagerKmip.RetrieveKmipServerCert`.
 70489  type RetrieveKmipServerCertRequestType struct {
 70490  	This ManagedObjectReference `xml:"_this" json:"-"`
 70491  	// \[in\] KMIP cluster in which the server is placed
 70492  	// or will be created.
 70493  	KeyProvider KeyProviderId `xml:"keyProvider" json:"keyProvider"`
 70494  	// \[in\] KMIP server.
 70495  	Server KmipServerInfo `xml:"server" json:"server"`
 70496  }
 70497  
 70498  func init() {
 70499  	t["RetrieveKmipServerCertRequestType"] = reflect.TypeOf((*RetrieveKmipServerCertRequestType)(nil)).Elem()
 70500  }
 70501  
 70502  type RetrieveKmipServerCertResponse struct {
 70503  	Returnval CryptoManagerKmipServerCertInfo `xml:"returnval" json:"returnval"`
 70504  }
 70505  
 70506  // The parameters of `CryptoManagerKmip.RetrieveKmipServersStatus_Task`.
 70507  type RetrieveKmipServersStatusRequestType struct {
 70508  	This ManagedObjectReference `xml:"_this" json:"-"`
 70509  	// \[in\] KMIP clusters and their servers.
 70510  	Clusters []KmipClusterInfo `xml:"clusters,omitempty" json:"clusters,omitempty"`
 70511  }
 70512  
 70513  func init() {
 70514  	t["RetrieveKmipServersStatusRequestType"] = reflect.TypeOf((*RetrieveKmipServersStatusRequestType)(nil)).Elem()
 70515  }
 70516  
 70517  type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType
 70518  
 70519  func init() {
 70520  	t["RetrieveKmipServersStatus_Task"] = reflect.TypeOf((*RetrieveKmipServersStatus_Task)(nil)).Elem()
 70521  }
 70522  
 70523  type RetrieveKmipServersStatus_TaskResponse struct {
 70524  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 70525  }
 70526  
 70527  type RetrieveObjectScheduledTask RetrieveObjectScheduledTaskRequestType
 70528  
 70529  func init() {
 70530  	t["RetrieveObjectScheduledTask"] = reflect.TypeOf((*RetrieveObjectScheduledTask)(nil)).Elem()
 70531  }
 70532  
 70533  // The parameters of `ScheduledTaskManager.RetrieveObjectScheduledTask`.
 70534  type RetrieveObjectScheduledTaskRequestType struct {
 70535  	This ManagedObjectReference `xml:"_this" json:"-"`
 70536  	// The object. If not specified, all scheduled tasks are returned
 70537  	// for visible entities and visible ManagedObjects.
 70538  	Obj *ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
 70539  }
 70540  
 70541  func init() {
 70542  	t["RetrieveObjectScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveObjectScheduledTaskRequestType)(nil)).Elem()
 70543  }
 70544  
 70545  type RetrieveObjectScheduledTaskResponse struct {
 70546  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70547  }
 70548  
 70549  // Options for `PropertyCollector.RetrievePropertiesEx`.
 70550  type RetrieveOptions struct {
 70551  	DynamicData
 70552  
 70553  	// The maximum number of `ObjectContent` data
 70554  	// objects that should be returned in a single result from `PropertyCollector.RetrievePropertiesEx`.
 70555  	//
 70556  	// An unset value indicates that there is no maximum. In this
 70557  	// case `PropertyCollector` policy may still limit the number
 70558  	// of objects. Any remaining objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 70559  	//
 70560  	// A positive value causes `PropertyCollector.RetrievePropertiesEx` to
 70561  	// suspend the retrieval when the count of objects reaches the
 70562  	// specified maximum. `PropertyCollector` policy may still
 70563  	// limit the count to something less than `RetrieveOptions.maxObjects`. Any remaining
 70564  	// objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
 70565  	//
 70566  	// A value less than or equal to 0 is illegal.
 70567  	MaxObjects int32 `xml:"maxObjects,omitempty" json:"maxObjects,omitempty"`
 70568  }
 70569  
 70570  func init() {
 70571  	t["RetrieveOptions"] = reflect.TypeOf((*RetrieveOptions)(nil)).Elem()
 70572  }
 70573  
 70574  type RetrieveProductComponents RetrieveProductComponentsRequestType
 70575  
 70576  func init() {
 70577  	t["RetrieveProductComponents"] = reflect.TypeOf((*RetrieveProductComponents)(nil)).Elem()
 70578  }
 70579  
 70580  type RetrieveProductComponentsRequestType struct {
 70581  	This ManagedObjectReference `xml:"_this" json:"-"`
 70582  }
 70583  
 70584  func init() {
 70585  	t["RetrieveProductComponentsRequestType"] = reflect.TypeOf((*RetrieveProductComponentsRequestType)(nil)).Elem()
 70586  }
 70587  
 70588  type RetrieveProductComponentsResponse struct {
 70589  	Returnval []ProductComponentInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70590  }
 70591  
 70592  type RetrieveProperties RetrievePropertiesRequestType
 70593  
 70594  func init() {
 70595  	t["RetrieveProperties"] = reflect.TypeOf((*RetrieveProperties)(nil)).Elem()
 70596  }
 70597  
 70598  type RetrievePropertiesEx RetrievePropertiesExRequestType
 70599  
 70600  func init() {
 70601  	t["RetrievePropertiesEx"] = reflect.TypeOf((*RetrievePropertiesEx)(nil)).Elem()
 70602  }
 70603  
 70604  // The parameters of `PropertyCollector.RetrievePropertiesEx`.
 70605  type RetrievePropertiesExRequestType struct {
 70606  	This ManagedObjectReference `xml:"_this" json:"-"`
 70607  	// Specifies the properties to retrieve.
 70608  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 70609  	// Additional method options. If omitted, equivalent to an options
 70610  	// argument with no fields set.
 70611  	Options RetrieveOptions `xml:"options" json:"options"`
 70612  }
 70613  
 70614  func init() {
 70615  	t["RetrievePropertiesExRequestType"] = reflect.TypeOf((*RetrievePropertiesExRequestType)(nil)).Elem()
 70616  }
 70617  
 70618  type RetrievePropertiesExResponse struct {
 70619  	Returnval *RetrieveResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70620  }
 70621  
 70622  // The parameters of `PropertyCollector.RetrieveProperties`.
 70623  type RetrievePropertiesRequestType struct {
 70624  	This ManagedObjectReference `xml:"_this" json:"-"`
 70625  	// Specifies the properties to retrieve.
 70626  	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
 70627  }
 70628  
 70629  func init() {
 70630  	t["RetrievePropertiesRequestType"] = reflect.TypeOf((*RetrievePropertiesRequestType)(nil)).Elem()
 70631  }
 70632  
 70633  type RetrievePropertiesResponse struct {
 70634  	Returnval []ObjectContent `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70635  }
 70636  
 70637  // Result of `PropertyCollector.RetrievePropertiesEx` and `PropertyCollector.ContinueRetrievePropertiesEx`
 70638  type RetrieveResult struct {
 70639  	DynamicData
 70640  
 70641  	// A token used to retrieve further retrieve results.
 70642  	//
 70643  	// If set, the token should be passed to `PropertyCollector.ContinueRetrievePropertiesEx` to retrieve more results. Each token
 70644  	// may be passed to continueRetrievePropertiesEx only once, and only in
 70645  	// the same session in which it was returned and to the same
 70646  	// `PropertyCollector` object that returned it.
 70647  	//
 70648  	// If unset, there are no further results to retrieve after this
 70649  	// `RetrieveResult`.
 70650  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 70651  	// retrieved objects.
 70652  	Objects []ObjectContent `xml:"objects" json:"objects"`
 70653  }
 70654  
 70655  func init() {
 70656  	t["RetrieveResult"] = reflect.TypeOf((*RetrieveResult)(nil)).Elem()
 70657  }
 70658  
 70659  type RetrieveRolePermissions RetrieveRolePermissionsRequestType
 70660  
 70661  func init() {
 70662  	t["RetrieveRolePermissions"] = reflect.TypeOf((*RetrieveRolePermissions)(nil)).Elem()
 70663  }
 70664  
 70665  // The parameters of `AuthorizationManager.RetrieveRolePermissions`.
 70666  type RetrieveRolePermissionsRequestType struct {
 70667  	This   ManagedObjectReference `xml:"_this" json:"-"`
 70668  	RoleId int32                  `xml:"roleId" json:"roleId"`
 70669  }
 70670  
 70671  func init() {
 70672  	t["RetrieveRolePermissionsRequestType"] = reflect.TypeOf((*RetrieveRolePermissionsRequestType)(nil)).Elem()
 70673  }
 70674  
 70675  type RetrieveRolePermissionsResponse struct {
 70676  	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70677  }
 70678  
 70679  type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType
 70680  
 70681  func init() {
 70682  	t["RetrieveSelfSignedClientCert"] = reflect.TypeOf((*RetrieveSelfSignedClientCert)(nil)).Elem()
 70683  }
 70684  
 70685  // The parameters of `CryptoManagerKmip.RetrieveSelfSignedClientCert`.
 70686  type RetrieveSelfSignedClientCertRequestType struct {
 70687  	This ManagedObjectReference `xml:"_this" json:"-"`
 70688  	// \[in\] KMIP cluster.
 70689  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 70690  }
 70691  
 70692  func init() {
 70693  	t["RetrieveSelfSignedClientCertRequestType"] = reflect.TypeOf((*RetrieveSelfSignedClientCertRequestType)(nil)).Elem()
 70694  }
 70695  
 70696  type RetrieveSelfSignedClientCertResponse struct {
 70697  	Returnval string `xml:"returnval" json:"returnval"`
 70698  }
 70699  
 70700  type RetrieveServiceContent RetrieveServiceContentRequestType
 70701  
 70702  func init() {
 70703  	t["RetrieveServiceContent"] = reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem()
 70704  }
 70705  
 70706  type RetrieveServiceContentRequestType struct {
 70707  	This ManagedObjectReference `xml:"_this" json:"-"`
 70708  }
 70709  
 70710  func init() {
 70711  	t["RetrieveServiceContentRequestType"] = reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem()
 70712  }
 70713  
 70714  type RetrieveServiceContentResponse struct {
 70715  	Returnval ServiceContent `xml:"returnval" json:"returnval"`
 70716  }
 70717  
 70718  type RetrieveServiceProviderEntities RetrieveServiceProviderEntitiesRequestType
 70719  
 70720  func init() {
 70721  	t["RetrieveServiceProviderEntities"] = reflect.TypeOf((*RetrieveServiceProviderEntities)(nil)).Elem()
 70722  }
 70723  
 70724  type RetrieveServiceProviderEntitiesRequestType struct {
 70725  	This ManagedObjectReference `xml:"_this" json:"-"`
 70726  }
 70727  
 70728  func init() {
 70729  	t["RetrieveServiceProviderEntitiesRequestType"] = reflect.TypeOf((*RetrieveServiceProviderEntitiesRequestType)(nil)).Elem()
 70730  }
 70731  
 70732  type RetrieveServiceProviderEntitiesResponse struct {
 70733  	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70734  }
 70735  
 70736  type RetrieveSnapshotDetails RetrieveSnapshotDetailsRequestType
 70737  
 70738  func init() {
 70739  	t["RetrieveSnapshotDetails"] = reflect.TypeOf((*RetrieveSnapshotDetails)(nil)).Elem()
 70740  }
 70741  
 70742  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotDetails`.
 70743  type RetrieveSnapshotDetailsRequestType struct {
 70744  	This ManagedObjectReference `xml:"_this" json:"-"`
 70745  	// The ID of the virtual storage object.
 70746  	Id ID `xml:"id" json:"id"`
 70747  	// The datastore where the source virtual storage object
 70748  	// is located.
 70749  	//
 70750  	// Refers instance of `Datastore`.
 70751  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70752  	// The ID of the snapshot of a virtual storage object.
 70753  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 70754  }
 70755  
 70756  func init() {
 70757  	t["RetrieveSnapshotDetailsRequestType"] = reflect.TypeOf((*RetrieveSnapshotDetailsRequestType)(nil)).Elem()
 70758  }
 70759  
 70760  type RetrieveSnapshotDetailsResponse struct {
 70761  	Returnval VStorageObjectSnapshotDetails `xml:"returnval" json:"returnval"`
 70762  }
 70763  
 70764  type RetrieveSnapshotInfo RetrieveSnapshotInfoRequestType
 70765  
 70766  func init() {
 70767  	t["RetrieveSnapshotInfo"] = reflect.TypeOf((*RetrieveSnapshotInfo)(nil)).Elem()
 70768  }
 70769  
 70770  // The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotInfo`.
 70771  type RetrieveSnapshotInfoRequestType struct {
 70772  	This ManagedObjectReference `xml:"_this" json:"-"`
 70773  	// The ID of the virtual storage object.
 70774  	Id ID `xml:"id" json:"id"`
 70775  	// The datastore where the source virtual storage object
 70776  	// is located.
 70777  	//
 70778  	// Refers instance of `Datastore`.
 70779  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70780  }
 70781  
 70782  func init() {
 70783  	t["RetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*RetrieveSnapshotInfoRequestType)(nil)).Elem()
 70784  }
 70785  
 70786  type RetrieveSnapshotInfoResponse struct {
 70787  	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
 70788  }
 70789  
 70790  type RetrieveUserGroups RetrieveUserGroupsRequestType
 70791  
 70792  func init() {
 70793  	t["RetrieveUserGroups"] = reflect.TypeOf((*RetrieveUserGroups)(nil)).Elem()
 70794  }
 70795  
 70796  // The parameters of `UserDirectory.RetrieveUserGroups`.
 70797  type RetrieveUserGroupsRequestType struct {
 70798  	This ManagedObjectReference `xml:"_this" json:"-"`
 70799  	// Domain to be searched. If not set, then the method searches
 70800  	// the local machine.
 70801  	Domain string `xml:"domain,omitempty" json:"domain,omitempty"`
 70802  	// Case insensitive substring used to filter results;
 70803  	// the search string is compared to the login and full name for users,
 70804  	// and the name and description for groups. Leave
 70805  	// this blank to match all users.
 70806  	SearchStr string `xml:"searchStr" json:"searchStr"`
 70807  	// If present, the returned list contains only users or groups
 70808  	// that directly belong to the specified group. Users or groups that
 70809  	// have indirect membership will not be included in the list.
 70810  	BelongsToGroup string `xml:"belongsToGroup,omitempty" json:"belongsToGroup,omitempty"`
 70811  	// If present, the returned list contains only groups that directly
 70812  	// contain the specified user. Groups that indirectly contain
 70813  	// the user will not be included in the list.
 70814  	BelongsToUser string `xml:"belongsToUser,omitempty" json:"belongsToUser,omitempty"`
 70815  	// Indicates the searchStr passed should match a user or
 70816  	// group name exactly.
 70817  	ExactMatch bool `xml:"exactMatch" json:"exactMatch"`
 70818  	// True, if users should be included in the result.
 70819  	FindUsers bool `xml:"findUsers" json:"findUsers"`
 70820  	// True, if groups should be included in the result.
 70821  	FindGroups bool `xml:"findGroups" json:"findGroups"`
 70822  }
 70823  
 70824  func init() {
 70825  	t["RetrieveUserGroupsRequestType"] = reflect.TypeOf((*RetrieveUserGroupsRequestType)(nil)).Elem()
 70826  }
 70827  
 70828  type RetrieveUserGroupsResponse struct {
 70829  	Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 70830  }
 70831  
 70832  type RetrieveVStorageInfrastructureObjectPolicy RetrieveVStorageInfrastructureObjectPolicyRequestType
 70833  
 70834  func init() {
 70835  	t["RetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem()
 70836  }
 70837  
 70838  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageInfrastructureObjectPolicy`.
 70839  type RetrieveVStorageInfrastructureObjectPolicyRequestType struct {
 70840  	This ManagedObjectReference `xml:"_this" json:"-"`
 70841  	// Datastore on which policy needs to be retrieved.
 70842  	//
 70843  	// Refers instance of `Datastore`.
 70844  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70845  }
 70846  
 70847  func init() {
 70848  	t["RetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 70849  }
 70850  
 70851  type RetrieveVStorageInfrastructureObjectPolicyResponse struct {
 70852  	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70853  }
 70854  
 70855  // This data object is a pair of the virtural storage object id and
 70856  // its datastore.
 70857  type RetrieveVStorageObjSpec struct {
 70858  	DynamicData
 70859  
 70860  	// ID of this virtual storage object.
 70861  	Id ID `xml:"id" json:"id"`
 70862  	// Datastore where the object is located.
 70863  	//
 70864  	// Refers instance of `Datastore`.
 70865  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70866  }
 70867  
 70868  func init() {
 70869  	t["RetrieveVStorageObjSpec"] = reflect.TypeOf((*RetrieveVStorageObjSpec)(nil)).Elem()
 70870  }
 70871  
 70872  type RetrieveVStorageObject RetrieveVStorageObjectRequestType
 70873  
 70874  func init() {
 70875  	t["RetrieveVStorageObject"] = reflect.TypeOf((*RetrieveVStorageObject)(nil)).Elem()
 70876  }
 70877  
 70878  type RetrieveVStorageObjectAssociations RetrieveVStorageObjectAssociationsRequestType
 70879  
 70880  func init() {
 70881  	t["RetrieveVStorageObjectAssociations"] = reflect.TypeOf((*RetrieveVStorageObjectAssociations)(nil)).Elem()
 70882  }
 70883  
 70884  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectAssociations`.
 70885  type RetrieveVStorageObjectAssociationsRequestType struct {
 70886  	This ManagedObjectReference `xml:"_this" json:"-"`
 70887  	// The IDs of the virtual storage objects of the query.
 70888  	Ids []RetrieveVStorageObjSpec `xml:"ids,omitempty" json:"ids,omitempty"`
 70889  }
 70890  
 70891  func init() {
 70892  	t["RetrieveVStorageObjectAssociationsRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectAssociationsRequestType)(nil)).Elem()
 70893  }
 70894  
 70895  type RetrieveVStorageObjectAssociationsResponse struct {
 70896  	Returnval []VStorageObjectAssociations `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70897  }
 70898  
 70899  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObject`.
 70900  type RetrieveVStorageObjectRequestType struct {
 70901  	This ManagedObjectReference `xml:"_this" json:"-"`
 70902  	// The ID of the virtual storage object to be retrieved.
 70903  	Id ID `xml:"id" json:"id"`
 70904  	// The datastore where the virtual storage object is
 70905  	// located.
 70906  	//
 70907  	// Refers instance of `Datastore`.
 70908  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70909  	// Flags indicating the FCD information to be
 70910  	// retrieved. If diskInfoFlags is unset, then all FCD
 70911  	// information will be retrieved. See
 70912  	// `vslmDiskInfoFlag_enum` for the list of
 70913  	// supported values.
 70914  	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
 70915  }
 70916  
 70917  func init() {
 70918  	t["RetrieveVStorageObjectRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectRequestType)(nil)).Elem()
 70919  }
 70920  
 70921  type RetrieveVStorageObjectResponse struct {
 70922  	Returnval VStorageObject `xml:"returnval" json:"returnval"`
 70923  }
 70924  
 70925  type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType
 70926  
 70927  func init() {
 70928  	t["RetrieveVStorageObjectState"] = reflect.TypeOf((*RetrieveVStorageObjectState)(nil)).Elem()
 70929  }
 70930  
 70931  // The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectState`.
 70932  type RetrieveVStorageObjectStateRequestType struct {
 70933  	This ManagedObjectReference `xml:"_this" json:"-"`
 70934  	// The ID of the virtual storage object the state to be retrieved.
 70935  	Id ID `xml:"id" json:"id"`
 70936  	// The datastore where the virtual storage object is
 70937  	// located.
 70938  	//
 70939  	// Refers instance of `Datastore`.
 70940  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 70941  }
 70942  
 70943  func init() {
 70944  	t["RetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectStateRequestType)(nil)).Elem()
 70945  }
 70946  
 70947  type RetrieveVStorageObjectStateResponse struct {
 70948  	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
 70949  }
 70950  
 70951  type RetrieveVendorDeviceGroupInfo RetrieveVendorDeviceGroupInfoRequestType
 70952  
 70953  func init() {
 70954  	t["RetrieveVendorDeviceGroupInfo"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfo)(nil)).Elem()
 70955  }
 70956  
 70957  type RetrieveVendorDeviceGroupInfoRequestType struct {
 70958  	This ManagedObjectReference `xml:"_this" json:"-"`
 70959  }
 70960  
 70961  func init() {
 70962  	t["RetrieveVendorDeviceGroupInfoRequestType"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfoRequestType)(nil)).Elem()
 70963  }
 70964  
 70965  type RetrieveVendorDeviceGroupInfoResponse struct {
 70966  	Returnval []VirtualMachineVendorDeviceGroupInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70967  }
 70968  
 70969  type RetrieveVgpuDeviceInfo RetrieveVgpuDeviceInfoRequestType
 70970  
 70971  func init() {
 70972  	t["RetrieveVgpuDeviceInfo"] = reflect.TypeOf((*RetrieveVgpuDeviceInfo)(nil)).Elem()
 70973  }
 70974  
 70975  type RetrieveVgpuDeviceInfoRequestType struct {
 70976  	This ManagedObjectReference `xml:"_this" json:"-"`
 70977  }
 70978  
 70979  func init() {
 70980  	t["RetrieveVgpuDeviceInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuDeviceInfoRequestType)(nil)).Elem()
 70981  }
 70982  
 70983  type RetrieveVgpuDeviceInfoResponse struct {
 70984  	Returnval []VirtualMachineVgpuDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 70985  }
 70986  
 70987  type RetrieveVgpuProfileInfo RetrieveVgpuProfileInfoRequestType
 70988  
 70989  func init() {
 70990  	t["RetrieveVgpuProfileInfo"] = reflect.TypeOf((*RetrieveVgpuProfileInfo)(nil)).Elem()
 70991  }
 70992  
 70993  type RetrieveVgpuProfileInfoRequestType struct {
 70994  	This ManagedObjectReference `xml:"_this" json:"-"`
 70995  }
 70996  
 70997  func init() {
 70998  	t["RetrieveVgpuProfileInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuProfileInfoRequestType)(nil)).Elem()
 70999  }
 71000  
 71001  type RetrieveVgpuProfileInfoResponse struct {
 71002  	Returnval []VirtualMachineVgpuProfileInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
 71003  }
 71004  
 71005  // The parameters of `VirtualMachine.RevertToCurrentSnapshot_Task`.
 71006  type RevertToCurrentSnapshotRequestType struct {
 71007  	This ManagedObjectReference `xml:"_this" json:"-"`
 71008  	// (optional) Choice of host for the virtual machine,
 71009  	// in case this operation causes the virtual machine to power on.
 71010  	//
 71011  	// If a snapshot was taken while a virtual machine was powered on,
 71012  	// and this operation is invoked after the virtual machine was
 71013  	// powered off, the operation causes the virtual machine to power
 71014  	// on to reach the snapshot state. This parameter can be used to
 71015  	// specify a choice of host where the virtual machine should power
 71016  	// on.
 71017  	//
 71018  	// If this parameter is not set, and the vBalance feature is
 71019  	// configured for automatic load balancing, a host is
 71020  	// automatically selected. Otherwise, the virtual machine keeps
 71021  	// its existing host affiliation.
 71022  	//
 71023  	// This is not supported for virtual machines associated with hosts on ESX 2.x
 71024  	// servers.
 71025  	//
 71026  	// Refers instance of `HostSystem`.
 71027  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 71028  	// (optional) If set to true, the virtual
 71029  	// machine will not be powered on regardless of the power state when
 71030  	// the current snapshot was created. Default to false.
 71031  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty"`
 71032  }
 71033  
 71034  func init() {
 71035  	t["RevertToCurrentSnapshotRequestType"] = reflect.TypeOf((*RevertToCurrentSnapshotRequestType)(nil)).Elem()
 71036  }
 71037  
 71038  type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType
 71039  
 71040  func init() {
 71041  	t["RevertToCurrentSnapshot_Task"] = reflect.TypeOf((*RevertToCurrentSnapshot_Task)(nil)).Elem()
 71042  }
 71043  
 71044  type RevertToCurrentSnapshot_TaskResponse struct {
 71045  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71046  }
 71047  
 71048  // The parameters of `VirtualMachineSnapshot.RevertToSnapshot_Task`.
 71049  type RevertToSnapshotRequestType struct {
 71050  	This ManagedObjectReference `xml:"_this" json:"-"`
 71051  	// (optional) Choice of host for the virtual machine, in case this
 71052  	// operation causes the virtual machine to power on.
 71053  	//
 71054  	// If a snapshot was taken while a virtual machine was powered on, and this operation
 71055  	// is invoked after the virtual machine was powered off, the operation causes the
 71056  	// virtual machine to power on to reach the snapshot state. This parameter can be
 71057  	// used to specify a choice of host where the virtual machine should power on.
 71058  	//
 71059  	// If this parameter is not set and the vBalance feature is configured for automatic
 71060  	// load balancing, a host is automatically selected. Otherwise, the virtual machine
 71061  	// keeps its existing host affiliation.
 71062  	//
 71063  	// Refers instance of `HostSystem`.
 71064  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 71065  	// (optional) If set to true, the virtual
 71066  	// machine will not be powered on regardless of the power state when
 71067  	// the snapshot was created. Default to false.
 71068  	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty"`
 71069  }
 71070  
 71071  func init() {
 71072  	t["RevertToSnapshotRequestType"] = reflect.TypeOf((*RevertToSnapshotRequestType)(nil)).Elem()
 71073  }
 71074  
 71075  type RevertToSnapshot_Task RevertToSnapshotRequestType
 71076  
 71077  func init() {
 71078  	t["RevertToSnapshot_Task"] = reflect.TypeOf((*RevertToSnapshot_Task)(nil)).Elem()
 71079  }
 71080  
 71081  type RevertToSnapshot_TaskResponse struct {
 71082  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71083  }
 71084  
 71085  // The parameters of `VStorageObjectManagerBase.RevertVStorageObjectEx_Task`.
 71086  type RevertVStorageObjectExRequestType struct {
 71087  	This ManagedObjectReference `xml:"_this" json:"-"`
 71088  	// The ID of the virtual storage object.
 71089  	Id ID `xml:"id" json:"id"`
 71090  	// The datastore where the source virtual storage object
 71091  	// is located.
 71092  	//
 71093  	// Refers instance of `Datastore`.
 71094  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71095  	// The ID of the snapshot of a virtual storage object.
 71096  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 71097  }
 71098  
 71099  func init() {
 71100  	t["RevertVStorageObjectExRequestType"] = reflect.TypeOf((*RevertVStorageObjectExRequestType)(nil)).Elem()
 71101  	minAPIVersionForType["RevertVStorageObjectExRequestType"] = "8.0.2.0"
 71102  }
 71103  
 71104  type RevertVStorageObjectEx_Task RevertVStorageObjectExRequestType
 71105  
 71106  func init() {
 71107  	t["RevertVStorageObjectEx_Task"] = reflect.TypeOf((*RevertVStorageObjectEx_Task)(nil)).Elem()
 71108  }
 71109  
 71110  type RevertVStorageObjectEx_TaskResponse struct {
 71111  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71112  }
 71113  
 71114  // The parameters of `VcenterVStorageObjectManager.RevertVStorageObject_Task`.
 71115  type RevertVStorageObjectRequestType struct {
 71116  	This ManagedObjectReference `xml:"_this" json:"-"`
 71117  	// The ID of the virtual storage object.
 71118  	Id ID `xml:"id" json:"id"`
 71119  	// The datastore where the source virtual storage object
 71120  	// is located.
 71121  	//
 71122  	// Refers instance of `Datastore`.
 71123  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71124  	// The ID of the snapshot of a virtual storage object.
 71125  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 71126  }
 71127  
 71128  func init() {
 71129  	t["RevertVStorageObjectRequestType"] = reflect.TypeOf((*RevertVStorageObjectRequestType)(nil)).Elem()
 71130  }
 71131  
 71132  type RevertVStorageObject_Task RevertVStorageObjectRequestType
 71133  
 71134  func init() {
 71135  	t["RevertVStorageObject_Task"] = reflect.TypeOf((*RevertVStorageObject_Task)(nil)).Elem()
 71136  }
 71137  
 71138  type RevertVStorageObject_TaskResponse struct {
 71139  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71140  }
 71141  
 71142  type RewindCollector RewindCollectorRequestType
 71143  
 71144  func init() {
 71145  	t["RewindCollector"] = reflect.TypeOf((*RewindCollector)(nil)).Elem()
 71146  }
 71147  
 71148  type RewindCollectorRequestType struct {
 71149  	This ManagedObjectReference `xml:"_this" json:"-"`
 71150  }
 71151  
 71152  func init() {
 71153  	t["RewindCollectorRequestType"] = reflect.TypeOf((*RewindCollectorRequestType)(nil)).Elem()
 71154  }
 71155  
 71156  type RewindCollectorResponse struct {
 71157  }
 71158  
 71159  // This event records the creation of a role.
 71160  type RoleAddedEvent struct {
 71161  	RoleEvent
 71162  
 71163  	// The privileges granted to the role.
 71164  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 71165  }
 71166  
 71167  func init() {
 71168  	t["RoleAddedEvent"] = reflect.TypeOf((*RoleAddedEvent)(nil)).Elem()
 71169  }
 71170  
 71171  // This event records a role operation.
 71172  type RoleEvent struct {
 71173  	AuthorizationEvent
 71174  
 71175  	// The associated role.
 71176  	Role RoleEventArgument `xml:"role" json:"role"`
 71177  }
 71178  
 71179  func init() {
 71180  	t["RoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem()
 71181  }
 71182  
 71183  // The event argument is a Role object.
 71184  type RoleEventArgument struct {
 71185  	EventArgument
 71186  
 71187  	// The ID of the role.
 71188  	RoleId int32 `xml:"roleId" json:"roleId"`
 71189  	// The name of the role.
 71190  	Name string `xml:"name" json:"name"`
 71191  }
 71192  
 71193  func init() {
 71194  	t["RoleEventArgument"] = reflect.TypeOf((*RoleEventArgument)(nil)).Elem()
 71195  }
 71196  
 71197  // This class records the removal of a role.
 71198  type RoleRemovedEvent struct {
 71199  	RoleEvent
 71200  }
 71201  
 71202  func init() {
 71203  	t["RoleRemovedEvent"] = reflect.TypeOf((*RoleRemovedEvent)(nil)).Elem()
 71204  }
 71205  
 71206  // This event records the creation of a role.
 71207  type RoleUpdatedEvent struct {
 71208  	RoleEvent
 71209  
 71210  	// The privileges granted to the role.
 71211  	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
 71212  	// The name of the previous role.
 71213  	PrevRoleName string `xml:"prevRoleName,omitempty" json:"prevRoleName,omitempty"`
 71214  	// The privileges added to the role.
 71215  	PrivilegesAdded []string `xml:"privilegesAdded,omitempty" json:"privilegesAdded,omitempty"`
 71216  	// The privileges removed from the role.
 71217  	PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty" json:"privilegesRemoved,omitempty"`
 71218  }
 71219  
 71220  func init() {
 71221  	t["RoleUpdatedEvent"] = reflect.TypeOf((*RoleUpdatedEvent)(nil)).Elem()
 71222  }
 71223  
 71224  // This event is generated when network configuration rollback
 71225  // occurs on a host due configuration change that disconnected
 71226  // the host from vSphere server
 71227  type RollbackEvent struct {
 71228  	DvsEvent
 71229  
 71230  	// The host on which rollback happened
 71231  	HostName string `xml:"hostName" json:"hostName"`
 71232  	// The API method that was rolled back
 71233  	MethodName string `xml:"methodName,omitempty" json:"methodName,omitempty"`
 71234  }
 71235  
 71236  func init() {
 71237  	t["RollbackEvent"] = reflect.TypeOf((*RollbackEvent)(nil)).Elem()
 71238  }
 71239  
 71240  // Thrown if a Rollback operation fails
 71241  type RollbackFailure struct {
 71242  	DvsFault
 71243  
 71244  	// The entity name on which rollback failed
 71245  	EntityName string `xml:"entityName" json:"entityName"`
 71246  	// The entity type on which rollback failed
 71247  	EntityType string `xml:"entityType" json:"entityType"`
 71248  }
 71249  
 71250  func init() {
 71251  	t["RollbackFailure"] = reflect.TypeOf((*RollbackFailure)(nil)).Elem()
 71252  }
 71253  
 71254  type RollbackFailureFault RollbackFailure
 71255  
 71256  func init() {
 71257  	t["RollbackFailureFault"] = reflect.TypeOf((*RollbackFailureFault)(nil)).Elem()
 71258  }
 71259  
 71260  // The virtual machine if powered on, would violate an
 71261  // affinity/anti-affinity rule.
 71262  //
 71263  // In this case, the VM can still be powered
 71264  // on manually by a user who knows what they are doing, but VirtualCenter
 71265  // will never automatically move or power on a VM such that it triggers
 71266  // the violation.
 71267  type RuleViolation struct {
 71268  	VmConfigFault
 71269  
 71270  	// The host that the virtual machine can not be powered on without
 71271  	// violate a rule.
 71272  	//
 71273  	// Refers instance of `HostSystem`.
 71274  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 71275  	// The rule that is violated.
 71276  	//
 71277  	// It can be an affinity or anti-affinity rule.
 71278  	Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 71279  }
 71280  
 71281  func init() {
 71282  	t["RuleViolation"] = reflect.TypeOf((*RuleViolation)(nil)).Elem()
 71283  }
 71284  
 71285  type RuleViolationFault RuleViolation
 71286  
 71287  func init() {
 71288  	t["RuleViolationFault"] = reflect.TypeOf((*RuleViolationFault)(nil)).Elem()
 71289  }
 71290  
 71291  type RunScheduledTask RunScheduledTaskRequestType
 71292  
 71293  func init() {
 71294  	t["RunScheduledTask"] = reflect.TypeOf((*RunScheduledTask)(nil)).Elem()
 71295  }
 71296  
 71297  type RunScheduledTaskRequestType struct {
 71298  	This ManagedObjectReference `xml:"_this" json:"-"`
 71299  }
 71300  
 71301  func init() {
 71302  	t["RunScheduledTaskRequestType"] = reflect.TypeOf((*RunScheduledTaskRequestType)(nil)).Elem()
 71303  }
 71304  
 71305  type RunScheduledTaskResponse struct {
 71306  }
 71307  
 71308  // This data object type specifies a script that is triggered by an alarm.
 71309  //
 71310  // You can use any elements of the
 71311  // `ActionParameter` enumerated list
 71312  // as part of your script to provide information available at runtime.
 71313  type RunScriptAction struct {
 71314  	Action
 71315  
 71316  	// The fully-qualified path to a shell script that runs on the
 71317  	// VirtualCenter server as a result of an alarm.
 71318  	Script string `xml:"script" json:"script"`
 71319  }
 71320  
 71321  func init() {
 71322  	t["RunScriptAction"] = reflect.TypeOf((*RunScriptAction)(nil)).Elem()
 71323  }
 71324  
 71325  type RunVsanPhysicalDiskDiagnostics RunVsanPhysicalDiskDiagnosticsRequestType
 71326  
 71327  func init() {
 71328  	t["RunVsanPhysicalDiskDiagnostics"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnostics)(nil)).Elem()
 71329  }
 71330  
 71331  // The parameters of `HostVsanInternalSystem.RunVsanPhysicalDiskDiagnostics`.
 71332  type RunVsanPhysicalDiskDiagnosticsRequestType struct {
 71333  	This ManagedObjectReference `xml:"_this" json:"-"`
 71334  	// List of VSAN disk UUIDs. If specified restricts the
 71335  	// diagnostics run to VSAN disks present in the provided list.
 71336  	Disks []string `xml:"disks,omitempty" json:"disks,omitempty"`
 71337  }
 71338  
 71339  func init() {
 71340  	t["RunVsanPhysicalDiskDiagnosticsRequestType"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnosticsRequestType)(nil)).Elem()
 71341  }
 71342  
 71343  type RunVsanPhysicalDiskDiagnosticsResponse struct {
 71344  	Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval" json:"returnval"`
 71345  }
 71346  
 71347  // The base data object type for all runtime faults that can be
 71348  // thrown by a method.
 71349  type RuntimeFault struct {
 71350  	MethodFault
 71351  }
 71352  
 71353  func init() {
 71354  	t["RuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem()
 71355  }
 71356  
 71357  type RuntimeFaultFault BaseRuntimeFault
 71358  
 71359  func init() {
 71360  	t["RuntimeFaultFault"] = reflect.TypeOf((*RuntimeFaultFault)(nil)).Elem()
 71361  }
 71362  
 71363  // SAMLTokenAuthentication contains the information necessary to authenticate
 71364  // within a guest using a SAML bearer token.
 71365  //
 71366  // SAML token authentication relies on a guest alias that associates a guest
 71367  // account with the subject and certificate
 71368  // encoded in a SAML token obtained from the VMware SSO Server.
 71369  //   - Use the `GuestAliasManager`.
 71370  //     `GuestAliasManager.AddGuestAlias` method to create a guest
 71371  //     alias.
 71372  //   - Use a SAMLTokenAuthentication object for the
 71373  //     auth parameter to guest operations methods.
 71374  //
 71375  // After you have created an alias, you can use SAML token authentication
 71376  // for guest operations methods.
 71377  // Do not use SAML token authentication for the
 71378  // `GuestAuthManager.AcquireCredentialsInGuest` and
 71379  // `GuestAuthManager.ReleaseCredentialsInGuest` methods.
 71380  type SAMLTokenAuthentication struct {
 71381  	GuestAuthentication
 71382  
 71383  	// The SAML bearer token.
 71384  	Token string `xml:"token" json:"token"`
 71385  	// This is the guest user to be associated with the authentication.
 71386  	//
 71387  	// If none is specified, a guest dependent mapping will decide what
 71388  	// user account is applied.
 71389  	Username string `xml:"username,omitempty" json:"username,omitempty"`
 71390  }
 71391  
 71392  func init() {
 71393  	t["SAMLTokenAuthentication"] = reflect.TypeOf((*SAMLTokenAuthentication)(nil)).Elem()
 71394  }
 71395  
 71396  // An empty data object which can be used as the base class for data objects
 71397  // outside VIM namespace which have to be proxied through vCenter opaquely.
 71398  //
 71399  // For example, vSan configuration spec will extend from this which will
 71400  // allow HCI API to pass the spec to set up vSan on the cluster.
 71401  type SDDCBase struct {
 71402  	DynamicData
 71403  }
 71404  
 71405  func init() {
 71406  	t["SDDCBase"] = reflect.TypeOf((*SDDCBase)(nil)).Elem()
 71407  }
 71408  
 71409  // A SSLDisabledFault fault occurs when a host does not have ssl enabled.
 71410  type SSLDisabledFault struct {
 71411  	HostConnectFault
 71412  }
 71413  
 71414  func init() {
 71415  	t["SSLDisabledFault"] = reflect.TypeOf((*SSLDisabledFault)(nil)).Elem()
 71416  }
 71417  
 71418  type SSLDisabledFaultFault SSLDisabledFault
 71419  
 71420  func init() {
 71421  	t["SSLDisabledFaultFault"] = reflect.TypeOf((*SSLDisabledFaultFault)(nil)).Elem()
 71422  }
 71423  
 71424  // SSLVerifyFault is thrown by the host connect method if the VC
 71425  // server could not verify the authenticity of the host's SSL
 71426  // certificate.
 71427  //
 71428  // Currently, we do not distinguish the various possible reasons why
 71429  // the certificate could not be verified because we don't provide a
 71430  // way for the user to overwrite these reasons other than turning off
 71431  // SSL certificate verification completely.
 71432  // The only exception is the case when the certificate was rejected
 71433  // because it was self-signed. This is the most likely case when the
 71434  // user may want to overwrite the behavior by specifying the
 71435  // certificate's thumbprint in the ConnectSpec the next time the user
 71436  // connects to the host.
 71437  type SSLVerifyFault struct {
 71438  	HostConnectFault
 71439  
 71440  	// Whether the host's certificate was self signed
 71441  	SelfSigned bool `xml:"selfSigned" json:"selfSigned"`
 71442  	// The thumbprint of the host's certificate.
 71443  	//
 71444  	// This field is optional since vSphere 8.0u2.
 71445  	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
 71446  }
 71447  
 71448  func init() {
 71449  	t["SSLVerifyFault"] = reflect.TypeOf((*SSLVerifyFault)(nil)).Elem()
 71450  }
 71451  
 71452  type SSLVerifyFaultFault SSLVerifyFault
 71453  
 71454  func init() {
 71455  	t["SSLVerifyFaultFault"] = reflect.TypeOf((*SSLVerifyFaultFault)(nil)).Elem()
 71456  }
 71457  
 71458  // SSPIAuthentication contains the information necessary to
 71459  // initiate a ticketed authentication session in the guest
 71460  // using SSPI credentials.
 71461  //
 71462  // The ticketed session is not stateless and stores state inside of the guest.
 71463  //
 71464  // To use SSPIAuthentication, populate sspiToken with a base64 encoded SSPI token.
 71465  // Then call `GuestAuthManager.AcquireCredentialsInGuest` with
 71466  // the SSPIAuthentication object and no sessionID.
 71467  // After issuing the `GuestAuthManager.AcquireCredentialsInGuest` call, a
 71468  // `GuestAuthenticationChallenge` will be thrown.
 71469  // Use the serverChallenge sspiToken in `GuestAuthenticationChallenge`
 71470  // to generate the proper SSPI response token.
 71471  // Populate an SSPIAuthentication object with the base64 encoded SSPI response token, and
 71472  // call `GuestAuthManager.AcquireCredentialsInGuest` with the SSPIAuthentication object and
 71473  // the sessionID found in `GuestAuthenticationChallenge`.
 71474  //
 71475  // Successful authentication will result in a `TicketedSessionAuthentication`
 71476  // object being returned. You can use the `TicketedSessionAuthentication` in any
 71477  // guest operations function call. You should NOT attempt to use SSPIAuthentication in any guest
 71478  // operations function call.
 71479  //
 71480  // When you no longer need the `TicketedSessionAuthentication` object, you should
 71481  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 71482  // and session data.
 71483  //
 71484  // Usage notes: SSPI authentication has the same limitations as a duplicated primary token obtained
 71485  // from the Windows API function LogonUser with the LOGON32\_LOGON\_NETWORK logon type. This will affect
 71486  // programs started with `GuestProcessManager.StartProgramInGuest`. For example, launched
 71487  // programs will be unable to use WMI functions unless the "Remote Enable" privilege is enabled for
 71488  // the user. Similarly, access to network resources may fail due to the limitations of the token.
 71489  type SSPIAuthentication struct {
 71490  	GuestAuthentication
 71491  
 71492  	// This contains a base64 encoded SSPI Token.
 71493  	SspiToken string `xml:"sspiToken" json:"sspiToken"`
 71494  }
 71495  
 71496  func init() {
 71497  	t["SSPIAuthentication"] = reflect.TypeOf((*SSPIAuthentication)(nil)).Elem()
 71498  }
 71499  
 71500  // Thrown during SSPI pass-through authentication if further
 71501  // negotiation is required.
 71502  type SSPIChallenge struct {
 71503  	VimFault
 71504  
 71505  	// The opaque server response token, base-64 encoded.
 71506  	Base64Token string `xml:"base64Token" json:"base64Token"`
 71507  }
 71508  
 71509  func init() {
 71510  	t["SSPIChallenge"] = reflect.TypeOf((*SSPIChallenge)(nil)).Elem()
 71511  }
 71512  
 71513  type SSPIChallengeFault SSPIChallenge
 71514  
 71515  func init() {
 71516  	t["SSPIChallengeFault"] = reflect.TypeOf((*SSPIChallengeFault)(nil)).Elem()
 71517  }
 71518  
 71519  // The parameters of `HostPatchManager.ScanHostPatch_Task`.
 71520  type ScanHostPatchRequestType struct {
 71521  	This ManagedObjectReference `xml:"_this" json:"-"`
 71522  	// Location of the repository that contains the
 71523  	// bulletin depot. The depot must be organized as a flat
 71524  	// collection of bulletins with each one being a folder named
 71525  	// after the bulletin ID. Each folder must contain the full
 71526  	// update metadata.
 71527  	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
 71528  	// The updates to scan. Wildcards can be used to specify
 71529  	// the update IDs. The wildcards will be expanded to include all
 71530  	// updates whose IDs match the specified wildcard and whose metadata
 71531  	// is available in the repository. Specifying no update is
 71532  	// equivalent to a wildcard "\*". In this case all updates available
 71533  	// in the repository will be scanned.
 71534  	UpdateID []string `xml:"updateID,omitempty" json:"updateID,omitempty"`
 71535  }
 71536  
 71537  func init() {
 71538  	t["ScanHostPatchRequestType"] = reflect.TypeOf((*ScanHostPatchRequestType)(nil)).Elem()
 71539  }
 71540  
 71541  // The parameters of `HostPatchManager.ScanHostPatchV2_Task`.
 71542  type ScanHostPatchV2RequestType struct {
 71543  	This ManagedObjectReference `xml:"_this" json:"-"`
 71544  	// a list of urls pointing to metadata.zip.
 71545  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 71546  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 71547  	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 71548  	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 71549  }
 71550  
 71551  func init() {
 71552  	t["ScanHostPatchV2RequestType"] = reflect.TypeOf((*ScanHostPatchV2RequestType)(nil)).Elem()
 71553  }
 71554  
 71555  type ScanHostPatchV2_Task ScanHostPatchV2RequestType
 71556  
 71557  func init() {
 71558  	t["ScanHostPatchV2_Task"] = reflect.TypeOf((*ScanHostPatchV2_Task)(nil)).Elem()
 71559  }
 71560  
 71561  type ScanHostPatchV2_TaskResponse struct {
 71562  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71563  }
 71564  
 71565  type ScanHostPatch_Task ScanHostPatchRequestType
 71566  
 71567  func init() {
 71568  	t["ScanHostPatch_Task"] = reflect.TypeOf((*ScanHostPatch_Task)(nil)).Elem()
 71569  }
 71570  
 71571  type ScanHostPatch_TaskResponse struct {
 71572  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 71573  }
 71574  
 71575  type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType
 71576  
 71577  func init() {
 71578  	t["ScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventory)(nil)).Elem()
 71579  }
 71580  
 71581  // The parameters of `VcenterVStorageObjectManager.ScheduleReconcileDatastoreInventory`.
 71582  type ScheduleReconcileDatastoreInventoryRequestType struct {
 71583  	This ManagedObjectReference `xml:"_this" json:"-"`
 71584  	// The datastore that needs to be reconciled.
 71585  	//
 71586  	// Refers instance of `Datastore`.
 71587  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 71588  }
 71589  
 71590  func init() {
 71591  	t["ScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem()
 71592  }
 71593  
 71594  type ScheduleReconcileDatastoreInventoryResponse struct {
 71595  }
 71596  
 71597  // Data object type containing settings for the scheduled hardware upgrades.
 71598  type ScheduledHardwareUpgradeInfo struct {
 71599  	DynamicData
 71600  
 71601  	// Scheduled hardware upgrade policy setting for the virtual machine.
 71602  	//
 71603  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum`.
 71604  	UpgradePolicy string `xml:"upgradePolicy,omitempty" json:"upgradePolicy,omitempty"`
 71605  	// Key for target hardware version to be used on next scheduled upgrade
 71606  	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
 71607  	VersionKey string `xml:"versionKey,omitempty" json:"versionKey,omitempty"`
 71608  	// Status for last attempt to run scheduled hardware upgrade.
 71609  	//
 71610  	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum`.
 71611  	ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty" json:"scheduledHardwareUpgradeStatus,omitempty"`
 71612  	// Contains information about the failure of last attempt to run
 71613  	// scheduled hardware upgrade.
 71614  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 71615  }
 71616  
 71617  func init() {
 71618  	t["ScheduledHardwareUpgradeInfo"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfo)(nil)).Elem()
 71619  }
 71620  
 71621  // This event records the completion of a scheduled task.
 71622  type ScheduledTaskCompletedEvent struct {
 71623  	ScheduledTaskEvent
 71624  }
 71625  
 71626  func init() {
 71627  	t["ScheduledTaskCompletedEvent"] = reflect.TypeOf((*ScheduledTaskCompletedEvent)(nil)).Elem()
 71628  }
 71629  
 71630  // This event records the creation of a scheduled task.
 71631  type ScheduledTaskCreatedEvent struct {
 71632  	ScheduledTaskEvent
 71633  }
 71634  
 71635  func init() {
 71636  	t["ScheduledTaskCreatedEvent"] = reflect.TypeOf((*ScheduledTaskCreatedEvent)(nil)).Elem()
 71637  }
 71638  
 71639  // Static strings for scheduled tasks.
 71640  //
 71641  // These strings are locale-specific.
 71642  type ScheduledTaskDescription struct {
 71643  	DynamicData
 71644  
 71645  	// Action class descriptions for a scheduled task.
 71646  	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
 71647  	// Scheduler class description details.
 71648  	SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo" json:"schedulerInfo"`
 71649  	// *TaskInfo State enum*
 71650  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 71651  	// *MonthlyByWeekdayTaskScheduler Days of the week enum description*
 71652  	DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr" json:"dayOfWeek"`
 71653  	// *MonthlyByWeekdayTaskScheduler Week of the month enum description*
 71654  	WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr" json:"weekOfMonth"`
 71655  }
 71656  
 71657  func init() {
 71658  	t["ScheduledTaskDescription"] = reflect.TypeOf((*ScheduledTaskDescription)(nil)).Elem()
 71659  }
 71660  
 71661  // Descriptive detail for each scheduler type.
 71662  type ScheduledTaskDetail struct {
 71663  	TypeDescription
 71664  
 71665  	// Scheduler frequency description.
 71666  	Frequency string `xml:"frequency" json:"frequency"`
 71667  }
 71668  
 71669  func init() {
 71670  	t["ScheduledTaskDetail"] = reflect.TypeOf((*ScheduledTaskDetail)(nil)).Elem()
 71671  }
 71672  
 71673  // This event records the sending of a notification via email for a scheduled task.
 71674  type ScheduledTaskEmailCompletedEvent struct {
 71675  	ScheduledTaskEvent
 71676  
 71677  	// The destination email address.
 71678  	To string `xml:"to" json:"to"`
 71679  }
 71680  
 71681  func init() {
 71682  	t["ScheduledTaskEmailCompletedEvent"] = reflect.TypeOf((*ScheduledTaskEmailCompletedEvent)(nil)).Elem()
 71683  }
 71684  
 71685  // This event records the failure of an attempt to send a notification via email
 71686  // for a scheduled task.
 71687  type ScheduledTaskEmailFailedEvent struct {
 71688  	ScheduledTaskEvent
 71689  
 71690  	// The destination email address.
 71691  	To string `xml:"to" json:"to"`
 71692  	// The reason for the failure.
 71693  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 71694  }
 71695  
 71696  func init() {
 71697  	t["ScheduledTaskEmailFailedEvent"] = reflect.TypeOf((*ScheduledTaskEmailFailedEvent)(nil)).Elem()
 71698  }
 71699  
 71700  // These events are scheduled task events.
 71701  type ScheduledTaskEvent struct {
 71702  	Event
 71703  
 71704  	// The scheduled task object.
 71705  	ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask" json:"scheduledTask"`
 71706  	// The entity on which the scheduled task registered.
 71707  	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
 71708  }
 71709  
 71710  func init() {
 71711  	t["ScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem()
 71712  }
 71713  
 71714  // The event argument is a scheduled task object.
 71715  type ScheduledTaskEventArgument struct {
 71716  	EntityEventArgument
 71717  
 71718  	// The scheduled task object.
 71719  	//
 71720  	// Refers instance of `ScheduledTask`.
 71721  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 71722  }
 71723  
 71724  func init() {
 71725  	t["ScheduledTaskEventArgument"] = reflect.TypeOf((*ScheduledTaskEventArgument)(nil)).Elem()
 71726  }
 71727  
 71728  // This event records the failure of a scheduled task.
 71729  type ScheduledTaskFailedEvent struct {
 71730  	ScheduledTaskEvent
 71731  
 71732  	// The reason for the failure.
 71733  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 71734  }
 71735  
 71736  func init() {
 71737  	t["ScheduledTaskFailedEvent"] = reflect.TypeOf((*ScheduledTaskFailedEvent)(nil)).Elem()
 71738  }
 71739  
 71740  // The scheduled task details.
 71741  type ScheduledTaskInfo struct {
 71742  	ScheduledTaskSpec
 71743  
 71744  	// Scheduled task object.
 71745  	//
 71746  	// Refers instance of `ScheduledTask`.
 71747  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 71748  	// The entity on which related events will be logged.
 71749  	//
 71750  	// If the task is scheduled on a ManagedEntity, this
 71751  	// field will also reflect the same ManagedEntity.
 71752  	// If task is scheduled on a ManagedObject, this field
 71753  	// will have information about the entity on which
 71754  	// the events will be logged on behalf of the ManagedObject.
 71755  	// ManagedObject itself will be denoted by `ScheduledTaskInfo.taskObject`
 71756  	//
 71757  	// Refers instance of `ManagedEntity`.
 71758  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 71759  	// The time the scheduled task is created or modified.
 71760  	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
 71761  	// Last user that modified the scheduled task.
 71762  	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
 71763  	// The next time the scheduled task will run.
 71764  	NextRunTime *time.Time `xml:"nextRunTime" json:"nextRunTime,omitempty"`
 71765  	// The last time the scheduled task ran.
 71766  	PrevRunTime *time.Time `xml:"prevRunTime" json:"prevRunTime,omitempty"`
 71767  	// Scheduled task state.
 71768  	State TaskInfoState `xml:"state" json:"state"`
 71769  	// The fault code when the scheduled task state is "error".
 71770  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 71771  	// The operation result when the scheduled task state is "success".
 71772  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 71773  	// The task progress when the scheduled task state is "running".
 71774  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 71775  	// The running task instance when the scheduled task state is "running".
 71776  	//
 71777  	// Refers instance of `Task`.
 71778  	ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty" json:"activeTask,omitempty"`
 71779  	// The object on which the scheduled task is defined.
 71780  	//
 71781  	// This field will have information about either the
 71782  	// ManagedEntity or the ManagedObject on which the scheduled
 71783  	// task is defined.
 71784  	TaskObject *ManagedObjectReference `xml:"taskObject,omitempty" json:"taskObject,omitempty"`
 71785  }
 71786  
 71787  func init() {
 71788  	t["ScheduledTaskInfo"] = reflect.TypeOf((*ScheduledTaskInfo)(nil)).Elem()
 71789  }
 71790  
 71791  // This event records the reconfiguration of a scheduled task.
 71792  type ScheduledTaskReconfiguredEvent struct {
 71793  	ScheduledTaskEvent
 71794  
 71795  	// The configuration values changed during the reconfiguration.
 71796  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 71797  }
 71798  
 71799  func init() {
 71800  	t["ScheduledTaskReconfiguredEvent"] = reflect.TypeOf((*ScheduledTaskReconfiguredEvent)(nil)).Elem()
 71801  }
 71802  
 71803  // This event records the removal of a scheduled task.
 71804  type ScheduledTaskRemovedEvent struct {
 71805  	ScheduledTaskEvent
 71806  }
 71807  
 71808  func init() {
 71809  	t["ScheduledTaskRemovedEvent"] = reflect.TypeOf((*ScheduledTaskRemovedEvent)(nil)).Elem()
 71810  }
 71811  
 71812  // Parameters for scheduled task creation.
 71813  type ScheduledTaskSpec struct {
 71814  	DynamicData
 71815  
 71816  	// Name of the scheduled task.
 71817  	Name string `xml:"name" json:"name"`
 71818  	// Description of the scheduled task.
 71819  	Description string `xml:"description" json:"description"`
 71820  	// Flag to indicate whether the scheduled task is enabled or disabled.
 71821  	Enabled bool `xml:"enabled" json:"enabled"`
 71822  	// The time scheduler that determines when the scheduled task runs.
 71823  	Scheduler BaseTaskScheduler `xml:"scheduler,typeattr" json:"scheduler"`
 71824  	// The action of the scheduled task, to be done when the scheduled task runs.
 71825  	Action BaseAction `xml:"action,typeattr" json:"action"`
 71826  	// The email notification.
 71827  	//
 71828  	// If not set, this property is set to empty string, indicating no notification.
 71829  	Notification string `xml:"notification,omitempty" json:"notification,omitempty"`
 71830  }
 71831  
 71832  func init() {
 71833  	t["ScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem()
 71834  }
 71835  
 71836  // This event records when a scheduled task started.
 71837  type ScheduledTaskStartedEvent struct {
 71838  	ScheduledTaskEvent
 71839  }
 71840  
 71841  func init() {
 71842  	t["ScheduledTaskStartedEvent"] = reflect.TypeOf((*ScheduledTaskStartedEvent)(nil)).Elem()
 71843  }
 71844  
 71845  // The `ScsiLun` data object describes a SCSI logical unit.
 71846  //
 71847  // A SCSI logical unit is a host device that an ESX Server or virtual machine
 71848  // can use for I/O operations.
 71849  //
 71850  // An ESX Server creates SCSI logical unit objects to represent
 71851  // devices in the host configuration. (See the definition of
 71852  // `ScsiLunType_enum` for a list of the supported device types.)
 71853  // The vSphere API uses one of two object types to represent a SCSI
 71854  // logical unit, depending on the device type.
 71855  //   - Disks containing file system volumes or parts of volumes for hosts
 71856  //     or raw disks for virtual machines. To represent disks, the ESX Server
 71857  //     creates a `HostScsiDisk` object, which inherits properties from
 71858  //     the `ScsiLun` base class.
 71859  //   - Other SCSI devices, for example SCSI passthrough devices
 71860  //     for virtual machines. To represent one of these devices,
 71861  //     the ESX Server creates a `ScsiLun` object.
 71862  //
 71863  // When the Server creates a `HostScsiDisk` or `ScsiLun` object,
 71864  // it specifies a valid device name and type:
 71865  //   - `HostDevice.deviceName` - A string representing the name of the device
 71866  //     that is meaningful to the host. The following are some examples of
 71867  //     device names.
 71868  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/dev/cdrom</code>
 71869  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/vmkdev/vmhba0:0:1:0</code>
 71870  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>PhysicalDrive0</code>
 71871  //   - `HostDevice.deviceType` - A string describing the type of device.
 71872  //     The following are some examples of device types.
 71873  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-cdrom</code>
 71874  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-tape</code>
 71875  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-disk</code>
 71876  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-processor</code>
 71877  //     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-unknown</code>
 71878  type ScsiLun struct {
 71879  	HostDevice
 71880  
 71881  	// Linkable identifier
 71882  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 71883  	// Universally unique identifier for the LUN used to identify ScsiLun across
 71884  	// multiple servers.
 71885  	//
 71886  	// This identifier can be used to identify analogous objects in other views
 71887  	// such as `HostMultipathInfoLogicalUnit` and `HostScsiTopologyLun`.
 71888  	//
 71889  	// See also `HostMultipathInfoLogicalUnit`, `HostScsiTopologyLun`.
 71890  	Uuid string `xml:"uuid" json:"uuid"`
 71891  	// List of descriptors that can be used to identify the LUN object.
 71892  	//
 71893  	// The
 71894  	// uuid will also appear as a descriptor.
 71895  	//
 71896  	// The id field in the descriptor is a string that can be used to correlate
 71897  	// the ScsiLun across multiple servers. A ScsiLun may have multiple
 71898  	// descriptors. The choice and order of these descriptors may be different
 71899  	// on different servers.
 71900  	//
 71901  	// Not all descriptors are suitable for correlation. Some descriptors are
 71902  	// only sufficient to identify the ScsiLun within a single host. Each
 71903  	// descriptor contains a quality property that indicates whether or not
 71904  	// the descriptor is suitable for correlation.
 71905  	Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty" json:"descriptor,omitempty"`
 71906  	// Canonical name of the SCSI logical unit.
 71907  	//
 71908  	// Disk partition or extent identifiers refer to this name when
 71909  	// referring to a disk. Use this property to correlate a partition
 71910  	// or extent to a specific SCSI disk.
 71911  	//
 71912  	// See also `HostScsiDiskPartition.diskName`.
 71913  	CanonicalName string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
 71914  	// User configurable display name of the SCSI logical unit.
 71915  	//
 71916  	// A default
 71917  	// display name will be used if available. If the display name is not
 71918  	// supported, it will be unset. The display name does not have to be
 71919  	// unique but it is recommended that it be unique.
 71920  	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
 71921  	// The type of SCSI device.
 71922  	//
 71923  	// Must be one of the values of
 71924  	// `ScsiLunType_enum`.
 71925  	LunType string `xml:"lunType" json:"lunType"`
 71926  	// The vendor of the SCSI device.
 71927  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 71928  	// The model number of the SCSI device.
 71929  	Model string `xml:"model,omitempty" json:"model,omitempty"`
 71930  	// The revision of the SCSI device.
 71931  	Revision string `xml:"revision,omitempty" json:"revision,omitempty"`
 71932  	// The SCSI level of the SCSI device.
 71933  	ScsiLevel int32 `xml:"scsiLevel,omitempty" json:"scsiLevel,omitempty"`
 71934  	// The serial number of the SCSI device.
 71935  	//
 71936  	// For a device that is SCSI-3 compliant, this property is derived
 71937  	// from page 80h of the Vital Product Data (VPD), as defined by the
 71938  	// SCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant
 71939  	// devices provide this information. For devices that are not
 71940  	// SCSI-3 compliant, this property is not defined.
 71941  	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
 71942  	// The durable name of the SCSI device.
 71943  	//
 71944  	// For a SCSI-3 compliant device this property is derived from the
 71945  	// payloads of pages 80h and 83h of the Vital Product Data (VPD) as
 71946  	// defined by the T10 and SMI standards. For devices that do not provide
 71947  	// this information, this property is not defined.
 71948  	DurableName *ScsiLunDurableName `xml:"durableName,omitempty" json:"durableName,omitempty"`
 71949  	// Alternate durable names.
 71950  	//
 71951  	// Records all available durable names derived from page 80h of the Vital
 71952  	// Product Data (VPD) and the Identification Vital Product Data (VPD) page
 71953  	// 83h as defined by the SCSI-3 Primary Commands. For devices that are not
 71954  	// SCSI-3 compliant this property is not defined.
 71955  	AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty" json:"alternateName,omitempty"`
 71956  	// Standard Inquiry payload.
 71957  	//
 71958  	// For a SCSI-3 compliant device this property is derived from the
 71959  	// standard inquiry data. For devices that are not SCSI-3 compliant this
 71960  	// property is not defined.
 71961  	StandardInquiry ByteSlice `xml:"standardInquiry,omitempty" json:"standardInquiry,omitempty"`
 71962  	// The queue depth of SCSI device.
 71963  	QueueDepth int32 `xml:"queueDepth,omitempty" json:"queueDepth,omitempty"`
 71964  	// The operational states of the LUN.
 71965  	//
 71966  	// When more than one item is present in the array, the first state
 71967  	// should be considered the primary state. For example, a LUN may
 71968  	// be "ok" and "degraded" indicating I/O is still possible to the LUN, but
 71969  	// it is operating in a degraded mode.
 71970  	//
 71971  	// See also `ScsiLunState_enum`.
 71972  	OperationalState []string `xml:"operationalState" json:"operationalState"`
 71973  	// Capabilities of SCSI device.
 71974  	Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
 71975  	// vStorage hardware acceleration support status.
 71976  	//
 71977  	// This property
 71978  	// represents storage acceleration provided by the SCSI logical unit.
 71979  	// See `ScsiLunVStorageSupportStatus_enum` for valid values.
 71980  	//
 71981  	// If a storage device supports hardware acceleration,
 71982  	// the ESX host can offload specific virtual machine management
 71983  	// operations to the storage device. With hardware assistance,
 71984  	// the host performs storage operations faster and consumes
 71985  	// less CPU, memory, and storage fabric bandwidth.
 71986  	//
 71987  	// For vSphere 4.0 or earlier hosts, this value will be unset.
 71988  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 71989  	// Indicates that this SCSI LUN is protocol endpoint.
 71990  	//
 71991  	// This
 71992  	// property will be populated if and only if host supports
 71993  	// VirtualVolume based Datastore. Check the host capability
 71994  	// `HostCapability.virtualVolumeDatastoreSupported`.
 71995  	// See `HostProtocolEndpoint`.
 71996  	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty"`
 71997  	// Indicates the state of a perennially reserved flag for a LUN.
 71998  	//
 71999  	// If
 72000  	// set for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan
 72001  	// take comparatively shorter duration than when it is unset.
 72002  	PerenniallyReserved *bool `xml:"perenniallyReserved" json:"perenniallyReserved,omitempty"`
 72003  	// Indicates if LUN has the prequisite properties to enable Clustered Vmdk
 72004  	// feature once formatted into VMFS Datastore.
 72005  	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty"`
 72006  	// Indicates the current device protocol.
 72007  	//
 72008  	// Application protocol for a device which is set based on input
 72009  	// from vmkctl storage control plane. Must be one of the values of
 72010  	// `DeviceProtocol_enum`.
 72011  	ApplicationProtocol string `xml:"applicationProtocol,omitempty" json:"applicationProtocol,omitempty" vim:"8.0.1.0"`
 72012  	// Indicates whether namespace is dispersed.
 72013  	//
 72014  	// Set to true when the namespace of LUN is dispersed.
 72015  	DispersedNs *bool `xml:"dispersedNs" json:"dispersedNs,omitempty" vim:"8.0.1.0"`
 72016  	// Indicates whether a device is under SCSI/NVMe reservation.
 72017  	//
 72018  	// Device reservation for a SCSI/NVMe device set based on
 72019  	// values received from vmkernel. The list of supported values is defined in
 72020  	// `ScsiLunLunReservationStatus_enum`.
 72021  	// If unset, the reservation status is unknown.
 72022  	DeviceReservation string `xml:"deviceReservation,omitempty" json:"deviceReservation,omitempty" vim:"8.0.3.0"`
 72023  }
 72024  
 72025  func init() {
 72026  	t["ScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem()
 72027  }
 72028  
 72029  // Scsi device specific capabilities.
 72030  type ScsiLunCapabilities struct {
 72031  	DynamicData
 72032  
 72033  	// Can the display name of the SCSI device be updated?
 72034  	UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported" json:"updateDisplayNameSupported"`
 72035  }
 72036  
 72037  func init() {
 72038  	t["ScsiLunCapabilities"] = reflect.TypeOf((*ScsiLunCapabilities)(nil)).Elem()
 72039  }
 72040  
 72041  // A structure that encapsulates an identifier and its properties for the
 72042  // ScsiLun object.
 72043  type ScsiLunDescriptor struct {
 72044  	DynamicData
 72045  
 72046  	// An indicator of the utility of the descriptor as an identifier that
 72047  	// is stable, unique, and correlatable.
 72048  	//
 72049  	// See also `ScsiLunDescriptorQuality_enum`.
 72050  	Quality string `xml:"quality" json:"quality"`
 72051  	// The identifier represented as a string.
 72052  	Id string `xml:"id" json:"id"`
 72053  }
 72054  
 72055  func init() {
 72056  	t["ScsiLunDescriptor"] = reflect.TypeOf((*ScsiLunDescriptor)(nil)).Elem()
 72057  }
 72058  
 72059  // This data object type represents an SMI-S "Correlatable and
 72060  // Durable Name" which is an
 72061  // identifier for a logical unit number (LUN) that is generated using
 72062  // a common algorithm.
 72063  //
 72064  // The algorithm divides the identifier into
 72065  // multiple namespaces where each
 72066  // namespace uses a different set of properties of the LUN to generate
 72067  // the identifier. The namespace itself is encoded in the identifier.
 72068  type ScsiLunDurableName struct {
 72069  	DynamicData
 72070  
 72071  	// The string describing the namespace used for the durable name.
 72072  	Namespace string `xml:"namespace" json:"namespace"`
 72073  	// The byte used by the ESX Server product to represent the namespace.
 72074  	NamespaceId byte `xml:"namespaceId" json:"namespaceId"`
 72075  	// The variable length byte array containing the namespace-specific data.
 72076  	//
 72077  	// For a SCSI-3 compliant device this field is the descriptor header
 72078  	// along with the payload for data obtained from page 83h, and is the
 72079  	// payload for data obtained from page 80h of the Vital Product Data
 72080  	// (VPD).
 72081  	Data ByteSlice `xml:"data,omitempty" json:"data,omitempty"`
 72082  }
 72083  
 72084  func init() {
 72085  	t["ScsiLunDurableName"] = reflect.TypeOf((*ScsiLunDurableName)(nil)).Elem()
 72086  }
 72087  
 72088  // Specification used to create an Flex-SE based virtual disk
 72089  type SeSparseVirtualDiskSpec struct {
 72090  	FileBackedVirtualDiskSpec
 72091  
 72092  	// The grain size in kB for Flex-SE disk types.
 72093  	//
 72094  	// Default value will
 72095  	// be used if unset.
 72096  	GrainSizeKb int32 `xml:"grainSizeKb,omitempty" json:"grainSizeKb,omitempty"`
 72097  }
 72098  
 72099  func init() {
 72100  	t["SeSparseVirtualDiskSpec"] = reflect.TypeOf((*SeSparseVirtualDiskSpec)(nil)).Elem()
 72101  }
 72102  
 72103  // The parameters of `HostDatastoreBrowser.SearchDatastore_Task`.
 72104  type SearchDatastoreRequestType struct {
 72105  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 72106  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 72107  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 72108  }
 72109  
 72110  func init() {
 72111  	t["SearchDatastoreRequestType"] = reflect.TypeOf((*SearchDatastoreRequestType)(nil)).Elem()
 72112  }
 72113  
 72114  // The parameters of `HostDatastoreBrowser.SearchDatastoreSubFolders_Task`.
 72115  type SearchDatastoreSubFoldersRequestType struct {
 72116  	This          ManagedObjectReference          `xml:"_this" json:"-"`
 72117  	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
 72118  	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
 72119  }
 72120  
 72121  func init() {
 72122  	t["SearchDatastoreSubFoldersRequestType"] = reflect.TypeOf((*SearchDatastoreSubFoldersRequestType)(nil)).Elem()
 72123  }
 72124  
 72125  type SearchDatastoreSubFolders_Task SearchDatastoreSubFoldersRequestType
 72126  
 72127  func init() {
 72128  	t["SearchDatastoreSubFolders_Task"] = reflect.TypeOf((*SearchDatastoreSubFolders_Task)(nil)).Elem()
 72129  }
 72130  
 72131  type SearchDatastoreSubFolders_TaskResponse struct {
 72132  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72133  }
 72134  
 72135  type SearchDatastore_Task SearchDatastoreRequestType
 72136  
 72137  func init() {
 72138  	t["SearchDatastore_Task"] = reflect.TypeOf((*SearchDatastore_Task)(nil)).Elem()
 72139  }
 72140  
 72141  type SearchDatastore_TaskResponse struct {
 72142  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 72143  }
 72144  
 72145  // This fault is thrown when an attempt is made to disable a secondary
 72146  // virtual machine that has already been disabled.
 72147  type SecondaryVmAlreadyDisabled struct {
 72148  	VmFaultToleranceIssue
 72149  
 72150  	// Instance UUID of the secondary virtual machine.
 72151  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72152  }
 72153  
 72154  func init() {
 72155  	t["SecondaryVmAlreadyDisabled"] = reflect.TypeOf((*SecondaryVmAlreadyDisabled)(nil)).Elem()
 72156  }
 72157  
 72158  type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled
 72159  
 72160  func init() {
 72161  	t["SecondaryVmAlreadyDisabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyDisabledFault)(nil)).Elem()
 72162  }
 72163  
 72164  // This fault is thrown when an attempt is made to enable a secondary
 72165  // virtual machine that has already been enabled.
 72166  type SecondaryVmAlreadyEnabled struct {
 72167  	VmFaultToleranceIssue
 72168  
 72169  	// Instance UUID of the secondary virtual machine.
 72170  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72171  }
 72172  
 72173  func init() {
 72174  	t["SecondaryVmAlreadyEnabled"] = reflect.TypeOf((*SecondaryVmAlreadyEnabled)(nil)).Elem()
 72175  }
 72176  
 72177  type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled
 72178  
 72179  func init() {
 72180  	t["SecondaryVmAlreadyEnabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyEnabledFault)(nil)).Elem()
 72181  }
 72182  
 72183  // This fault is thrown when an attempt is made to register a secondary
 72184  // virtual machine with a primary virtual machine with whom it is
 72185  // already registered.
 72186  type SecondaryVmAlreadyRegistered struct {
 72187  	VmFaultToleranceIssue
 72188  
 72189  	// Instance UUID of the secondary virtual machine.
 72190  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72191  }
 72192  
 72193  func init() {
 72194  	t["SecondaryVmAlreadyRegistered"] = reflect.TypeOf((*SecondaryVmAlreadyRegistered)(nil)).Elem()
 72195  }
 72196  
 72197  type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered
 72198  
 72199  func init() {
 72200  	t["SecondaryVmAlreadyRegisteredFault"] = reflect.TypeOf((*SecondaryVmAlreadyRegisteredFault)(nil)).Elem()
 72201  }
 72202  
 72203  // This fault is thrown when an attempt is made to unregister a secondary
 72204  // virtual machine from a primary virtual machine with whom it has not
 72205  // been previously registered.
 72206  type SecondaryVmNotRegistered struct {
 72207  	VmFaultToleranceIssue
 72208  
 72209  	// Instance UUID of the secondary virtual machine.
 72210  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72211  }
 72212  
 72213  func init() {
 72214  	t["SecondaryVmNotRegistered"] = reflect.TypeOf((*SecondaryVmNotRegistered)(nil)).Elem()
 72215  }
 72216  
 72217  type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered
 72218  
 72219  func init() {
 72220  	t["SecondaryVmNotRegisteredFault"] = reflect.TypeOf((*SecondaryVmNotRegisteredFault)(nil)).Elem()
 72221  }
 72222  
 72223  // Thrown when the client is not allowed access to the property or method.
 72224  type SecurityError struct {
 72225  	RuntimeFault
 72226  }
 72227  
 72228  func init() {
 72229  	t["SecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem()
 72230  }
 72231  
 72232  type SecurityErrorFault BaseSecurityError
 72233  
 72234  func init() {
 72235  	t["SecurityErrorFault"] = reflect.TypeOf((*SecurityErrorFault)(nil)).Elem()
 72236  }
 72237  
 72238  // The `SecurityProfile` data object represents host security configuration.
 72239  //
 72240  // If a profile plug-in defines policies or subprofiles, use the
 72241  // `ApplyProfile.policy` or `ApplyProfile.property`
 72242  // list to access the additional configuration data.
 72243  type SecurityProfile struct {
 72244  	ApplyProfile
 72245  
 72246  	// Permission configuration.
 72247  	Permission []PermissionProfile `xml:"permission,omitempty" json:"permission,omitempty"`
 72248  }
 72249  
 72250  func init() {
 72251  	t["SecurityProfile"] = reflect.TypeOf((*SecurityProfile)(nil)).Elem()
 72252  }
 72253  
 72254  type SelectActivePartition SelectActivePartitionRequestType
 72255  
 72256  func init() {
 72257  	t["SelectActivePartition"] = reflect.TypeOf((*SelectActivePartition)(nil)).Elem()
 72258  }
 72259  
 72260  // The parameters of `HostDiagnosticSystem.SelectActivePartition`.
 72261  type SelectActivePartitionRequestType struct {
 72262  	This      ManagedObjectReference `xml:"_this" json:"-"`
 72263  	Partition *HostScsiDiskPartition `xml:"partition,omitempty" json:"partition,omitempty"`
 72264  }
 72265  
 72266  func init() {
 72267  	t["SelectActivePartitionRequestType"] = reflect.TypeOf((*SelectActivePartitionRequestType)(nil)).Elem()
 72268  }
 72269  
 72270  type SelectActivePartitionResponse struct {
 72271  }
 72272  
 72273  type SelectVnic SelectVnicRequestType
 72274  
 72275  func init() {
 72276  	t["SelectVnic"] = reflect.TypeOf((*SelectVnic)(nil)).Elem()
 72277  }
 72278  
 72279  type SelectVnicForNicType SelectVnicForNicTypeRequestType
 72280  
 72281  func init() {
 72282  	t["SelectVnicForNicType"] = reflect.TypeOf((*SelectVnicForNicType)(nil)).Elem()
 72283  }
 72284  
 72285  // The parameters of `HostVirtualNicManager.SelectVnicForNicType`.
 72286  type SelectVnicForNicTypeRequestType struct {
 72287  	This ManagedObjectReference `xml:"_this" json:"-"`
 72288  	// The type of VirtualNic that would be selected
 72289  	NicType string `xml:"nicType" json:"nicType"`
 72290  	// The device that uniquely identifies the VirtualNic.
 72291  	Device string `xml:"device" json:"device"`
 72292  }
 72293  
 72294  func init() {
 72295  	t["SelectVnicForNicTypeRequestType"] = reflect.TypeOf((*SelectVnicForNicTypeRequestType)(nil)).Elem()
 72296  }
 72297  
 72298  type SelectVnicForNicTypeResponse struct {
 72299  }
 72300  
 72301  // The parameters of `HostVMotionSystem.SelectVnic`.
 72302  type SelectVnicRequestType struct {
 72303  	This ManagedObjectReference `xml:"_this" json:"-"`
 72304  	// The device that uniquely identifies the VirtualNic.
 72305  	Device string `xml:"device" json:"device"`
 72306  }
 72307  
 72308  func init() {
 72309  	t["SelectVnicRequestType"] = reflect.TypeOf((*SelectVnicRequestType)(nil)).Elem()
 72310  }
 72311  
 72312  type SelectVnicResponse struct {
 72313  }
 72314  
 72315  // Base class for selecting entities
 72316  type SelectionSet struct {
 72317  	DynamicData
 72318  }
 72319  
 72320  func init() {
 72321  	t["SelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem()
 72322  }
 72323  
 72324  // The `SelectionSpec` is the base type for data
 72325  // object types that specify what additional objects to filter.
 72326  //
 72327  // The base
 72328  // type contains only an optional "name" field, which allows a selection to
 72329  // be named for future reference. More information is available in the
 72330  // subtype.
 72331  //
 72332  // Named selections support recursive specifications on an object
 72333  // hierarchy. When used by a derived object, the "name" field allows other
 72334  // `SelectionSpec` objects to refer to the object by
 72335  // name. When used as the base type only, the "name" field indicates
 72336  // recursion to the derived object by name.
 72337  //
 72338  // Names are meaningful only within the same FilterSpec.
 72339  type SelectionSpec struct {
 72340  	DynamicData
 72341  
 72342  	// Name of the selection specification.
 72343  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 72344  }
 72345  
 72346  func init() {
 72347  	t["SelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem()
 72348  }
 72349  
 72350  // This data object type defines an email that is triggered by an
 72351  // alarm.
 72352  //
 72353  // You can use any
 72354  // elements of the `ActionParameter`
 72355  // enumerated list as part of your strings to provide information available
 72356  // at runtime.
 72357  type SendEmailAction struct {
 72358  	Action
 72359  
 72360  	// A comma-separated list of addresses to which the email notification is sent.
 72361  	ToList string `xml:"toList" json:"toList"`
 72362  	// A comma-separated list of addresses that are cc'ed on the email notification.
 72363  	CcList string `xml:"ccList" json:"ccList"`
 72364  	// Subject of the email notification.
 72365  	Subject string `xml:"subject" json:"subject"`
 72366  	// Content of the email notification.
 72367  	Body string `xml:"body" json:"body"`
 72368  }
 72369  
 72370  func init() {
 72371  	t["SendEmailAction"] = reflect.TypeOf((*SendEmailAction)(nil)).Elem()
 72372  }
 72373  
 72374  type SendNMI SendNMIRequestType
 72375  
 72376  func init() {
 72377  	t["SendNMI"] = reflect.TypeOf((*SendNMI)(nil)).Elem()
 72378  }
 72379  
 72380  type SendNMIRequestType struct {
 72381  	This ManagedObjectReference `xml:"_this" json:"-"`
 72382  }
 72383  
 72384  func init() {
 72385  	t["SendNMIRequestType"] = reflect.TypeOf((*SendNMIRequestType)(nil)).Elem()
 72386  }
 72387  
 72388  type SendNMIResponse struct {
 72389  }
 72390  
 72391  // This data object type specifies an SNMP trap that is triggered by an alarm.
 72392  type SendSNMPAction struct {
 72393  	Action
 72394  }
 72395  
 72396  func init() {
 72397  	t["SendSNMPAction"] = reflect.TypeOf((*SendSNMPAction)(nil)).Elem()
 72398  }
 72399  
 72400  type SendTestNotification SendTestNotificationRequestType
 72401  
 72402  func init() {
 72403  	t["SendTestNotification"] = reflect.TypeOf((*SendTestNotification)(nil)).Elem()
 72404  }
 72405  
 72406  type SendTestNotificationRequestType struct {
 72407  	This ManagedObjectReference `xml:"_this" json:"-"`
 72408  }
 72409  
 72410  func init() {
 72411  	t["SendTestNotificationRequestType"] = reflect.TypeOf((*SendTestNotificationRequestType)(nil)).Elem()
 72412  }
 72413  
 72414  type SendTestNotificationResponse struct {
 72415  }
 72416  
 72417  // This event records an expired VirtualCenter server license.
 72418  type ServerLicenseExpiredEvent struct {
 72419  	LicenseEvent
 72420  
 72421  	Product string `xml:"product" json:"product"`
 72422  }
 72423  
 72424  func init() {
 72425  	t["ServerLicenseExpiredEvent"] = reflect.TypeOf((*ServerLicenseExpiredEvent)(nil)).Elem()
 72426  }
 72427  
 72428  // This event records the starting of the VirtualCenter server.
 72429  type ServerStartedSessionEvent struct {
 72430  	SessionEvent
 72431  }
 72432  
 72433  func init() {
 72434  	t["ServerStartedSessionEvent"] = reflect.TypeOf((*ServerStartedSessionEvent)(nil)).Elem()
 72435  }
 72436  
 72437  // The `ServiceConsolePortGroupProfile` data object represents
 72438  // the profile for a port group that will be used by the service console.
 72439  //
 72440  // If a profile plug-in defines policies or subprofiles, use the
 72441  // `ApplyProfile.policy` or `ApplyProfile.property`
 72442  // list to access the additional configuration data.
 72443  type ServiceConsolePortGroupProfile struct {
 72444  	PortGroupProfile
 72445  
 72446  	// IP address configuration for the service console network.
 72447  	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
 72448  }
 72449  
 72450  func init() {
 72451  	t["ServiceConsolePortGroupProfile"] = reflect.TypeOf((*ServiceConsolePortGroupProfile)(nil)).Elem()
 72452  }
 72453  
 72454  // The ServiceConsoleReservationInfo data object type describes the
 72455  // amount of memory that is being reserved by the service console.
 72456  //
 72457  // Memory reserved for use by the service console is a hard reservation
 72458  // that cannot be changed except across hardware restarts.
 72459  //
 72460  // This memory that is reserved for the service console is used primarily
 72461  // to provide system management services. In addition, a small overhead
 72462  // is needed by each virtual machine on the service console.
 72463  //
 72464  // The only property of the data object that can be changed directly is the
 72465  // serviceConsoleReservedCfg property. This property indicates how much
 72466  // memory should be reserved for the service console on the next boot. In
 72467  // most cases, this amount is the same as the current reservation.
 72468  type ServiceConsoleReservationInfo struct {
 72469  	DynamicData
 72470  
 72471  	// The amount of memory that should be reserved for the service console on
 72472  	// the next boot.
 72473  	ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg" json:"serviceConsoleReservedCfg"`
 72474  	// The amount of memory that is currently reserved for the service console.
 72475  	ServiceConsoleReserved int64 `xml:"serviceConsoleReserved" json:"serviceConsoleReserved"`
 72476  	// The amount of memory that is not reserved for use by the service console.
 72477  	Unreserved int64 `xml:"unreserved" json:"unreserved"`
 72478  }
 72479  
 72480  func init() {
 72481  	t["ServiceConsoleReservationInfo"] = reflect.TypeOf((*ServiceConsoleReservationInfo)(nil)).Elem()
 72482  }
 72483  
 72484  // The `ServiceContent` data object defines properties for the ServiceInstance
 72485  // managed object.
 72486  //
 72487  // The ServiceInstance itself does not have directly-accessible
 72488  // properties because reading the properties of a managed object requires
 72489  // the use of a property collector, and the property collector itself
 72490  // is a property of the `ServiceInstance`.
 72491  // For this reason, use the method `ServiceInstance.RetrieveServiceContent`
 72492  // to retrieve the `ServiceContent` object.
 72493  type ServiceContent struct {
 72494  	DynamicData
 72495  
 72496  	// Reference to the top of the inventory managed by this service.
 72497  	//
 72498  	// Refers instance of `Folder`.
 72499  	RootFolder ManagedObjectReference `xml:"rootFolder" json:"rootFolder"`
 72500  	// Reference to a per-session object for retrieving properties and updates.
 72501  	//
 72502  	// Refers instance of `PropertyCollector`.
 72503  	PropertyCollector ManagedObjectReference `xml:"propertyCollector" json:"propertyCollector"`
 72504  	// A singleton managed object for tracking custom sets of objects.
 72505  	//
 72506  	// Refers instance of `ViewManager`.
 72507  	ViewManager *ManagedObjectReference `xml:"viewManager,omitempty" json:"viewManager,omitempty"`
 72508  	// Information about the service, such as the software version.
 72509  	About AboutInfo `xml:"about" json:"about"`
 72510  	// Generic configuration for a management server.
 72511  	//
 72512  	// This is for example by
 72513  	// vCenter to store the vCenter Settings. This is not used for a
 72514  	// stand-alone host, instead the vim.host.ConfigManager.advancedOption is used.
 72515  	//
 72516  	// See also `HostConfigManager`.
 72517  	//
 72518  	// Refers instance of `OptionManager`.
 72519  	Setting *ManagedObjectReference `xml:"setting,omitempty" json:"setting,omitempty"`
 72520  	// A user directory managed object.
 72521  	//
 72522  	// Refers instance of `UserDirectory`.
 72523  	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
 72524  	// Managed object for logging in and managing sessions.
 72525  	//
 72526  	// Refers instance of `SessionManager`.
 72527  	SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty" json:"sessionManager,omitempty"`
 72528  	// Manages permissions for managed entities in the service.
 72529  	//
 72530  	// Refers instance of `AuthorizationManager`.
 72531  	AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty" json:"authorizationManager,omitempty"`
 72532  	// A singleton managed object that manages local services.
 72533  	//
 72534  	// Refers instance of `ServiceManager`.
 72535  	ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty" json:"serviceManager,omitempty"`
 72536  	// A singleton managed object that manages the collection and reporting
 72537  	// of performance statistics.
 72538  	//
 72539  	// Refers instance of `PerformanceManager`.
 72540  	PerfManager *ManagedObjectReference `xml:"perfManager,omitempty" json:"perfManager,omitempty"`
 72541  	// A singleton managed object that manages scheduled tasks.
 72542  	//
 72543  	// Refers instance of `ScheduledTaskManager`.
 72544  	ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty" json:"scheduledTaskManager,omitempty"`
 72545  	// A singleton managed object that manages alarms.
 72546  	//
 72547  	// Refers instance of `AlarmManager`.
 72548  	AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty" json:"alarmManager,omitempty"`
 72549  	// A singleton managed object that manages events.
 72550  	//
 72551  	// Refers instance of `EventManager`.
 72552  	EventManager *ManagedObjectReference `xml:"eventManager,omitempty" json:"eventManager,omitempty"`
 72553  	// A singleton managed object that manages tasks.
 72554  	//
 72555  	// Refers instance of `TaskManager`.
 72556  	TaskManager *ManagedObjectReference `xml:"taskManager,omitempty" json:"taskManager,omitempty"`
 72557  	// A singleton managed object that manages extensions.
 72558  	//
 72559  	// Refers instance of `ExtensionManager`.
 72560  	ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty" json:"extensionManager,omitempty"`
 72561  	// A singleton managed object that manages saved guest customization
 72562  	// specifications.
 72563  	//
 72564  	// Refers instance of `CustomizationSpecManager`.
 72565  	CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty" json:"customizationSpecManager,omitempty"`
 72566  	// A singleton managed object that manages guest customization of
 72567  	// a running VM.
 72568  	//
 72569  	// The typical usage is for the guest customization after the
 72570  	// InstantClone operation. See `VirtualMachine.InstantClone_Task`.
 72571  	//
 72572  	// Refers instance of `VirtualMachineGuestCustomizationManager`.
 72573  	GuestCustomizationManager *ManagedObjectReference `xml:"guestCustomizationManager,omitempty" json:"guestCustomizationManager,omitempty"`
 72574  	// A singleton managed object that managed custom fields.
 72575  	//
 72576  	// Refers instance of `CustomFieldsManager`.
 72577  	CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty" json:"customFieldsManager,omitempty"`
 72578  	// A singleton managed object that manages host local user and group accounts.
 72579  	//
 72580  	// Refers instance of `HostLocalAccountManager`.
 72581  	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
 72582  	// A singleton managed object that provides access to low-level log files.
 72583  	//
 72584  	// Refers instance of `DiagnosticManager`.
 72585  	DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty" json:"diagnosticManager,omitempty"`
 72586  	// A singleton managed object that manages licensing
 72587  	//
 72588  	// Refers instance of `LicenseManager`.
 72589  	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
 72590  	// A singleton managed object that allows search of the inventory
 72591  	//
 72592  	// Refers instance of `SearchIndex`.
 72593  	SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty" json:"searchIndex,omitempty"`
 72594  	// A singleton managed object that allows management of files present
 72595  	// on datastores.
 72596  	//
 72597  	// Refers instance of `FileManager`.
 72598  	FileManager *ManagedObjectReference `xml:"fileManager,omitempty" json:"fileManager,omitempty"`
 72599  	// Datastore Namespace manager.
 72600  	//
 72601  	// A singleton managed object that is used to manage manipulations
 72602  	// related to datastores' namespaces.
 72603  	//
 72604  	// Refers instance of `DatastoreNamespaceManager`.
 72605  	DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty" json:"datastoreNamespaceManager,omitempty"`
 72606  	// A singleton managed object that allows management of virtual disks
 72607  	// on datastores.
 72608  	//
 72609  	// Refers instance of `VirtualDiskManager`.
 72610  	VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty" json:"virtualDiskManager,omitempty"`
 72611  	// Deprecated as of VI API 2.5, use the VMware vCenter Converter plug-in.
 72612  	//
 72613  	// A singleton managed object that manages the discovery, analysis,
 72614  	// recommendation and virtualization of physical machines
 72615  	//
 72616  	// Refers instance of `VirtualizationManager`.
 72617  	VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty" json:"virtualizationManager,omitempty"`
 72618  	// A singleton managed object that allows SNMP configuration.
 72619  	//
 72620  	// Not set if not supported on a particular platform.
 72621  	//
 72622  	// Refers instance of `HostSnmpSystem`.
 72623  	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
 72624  	// A singleton managed object that can answer questions about the
 72625  	// feasibility of certain provisioning operations.
 72626  	//
 72627  	// Refers instance of `VirtualMachineProvisioningChecker`.
 72628  	VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty" json:"vmProvisioningChecker,omitempty"`
 72629  	// A singleton managed object that can answer questions about compatibility
 72630  	// of a virtual machine with a host.
 72631  	//
 72632  	// Refers instance of `VirtualMachineCompatibilityChecker`.
 72633  	VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty" json:"vmCompatibilityChecker,omitempty"`
 72634  	// A singleton managed object that can generate OVF descriptors (export) and create
 72635  	// vApps (single-VM or vApp container-based) from OVF descriptors (import).
 72636  	//
 72637  	// Refers instance of `OvfManager`.
 72638  	OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty" json:"ovfManager,omitempty"`
 72639  	// A singleton managed object that supports management of IpPool objects.
 72640  	//
 72641  	// IP pools are
 72642  	// used when allocating IPv4 and IPv6 addresses to vApps.
 72643  	//
 72644  	// Refers instance of `IpPoolManager`.
 72645  	IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty" json:"ipPoolManager,omitempty"`
 72646  	// A singleton managed object that provides relevant information of
 72647  	// DistributedVirtualSwitch.
 72648  	//
 72649  	// Refers instance of `DistributedVirtualSwitchManager`.
 72650  	DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty" json:"dvSwitchManager,omitempty"`
 72651  	// A singleton managed object that manages the host profiles.
 72652  	//
 72653  	// Refers instance of `HostProfileManager`.
 72654  	HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty" json:"hostProfileManager,omitempty"`
 72655  	// A singleton managed object that manages the cluster profiles.
 72656  	//
 72657  	// Refers instance of `ClusterProfileManager`.
 72658  	ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty" json:"clusterProfileManager,omitempty"`
 72659  	// A singleton managed object that manages compliance aspects of entities.
 72660  	//
 72661  	// Refers instance of `ProfileComplianceManager`.
 72662  	ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty" json:"complianceManager,omitempty"`
 72663  	// A singleton managed object that provides methods for retrieving message
 72664  	// catalogs for client-side localization support.
 72665  	//
 72666  	// Refers instance of `LocalizationManager`.
 72667  	LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty" json:"localizationManager,omitempty"`
 72668  	// A singleton managed object that provides methods for storage resource
 72669  	// management.
 72670  	//
 72671  	// Refers instance of `StorageResourceManager`.
 72672  	StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty" json:"storageResourceManager,omitempty"`
 72673  	// A singleton managed object that provides methods for guest operations.
 72674  	//
 72675  	// Refers instance of `GuestOperationsManager`.
 72676  	GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty" json:"guestOperationsManager,omitempty"`
 72677  	// A singleton managed object that provides methods for looking up static VM
 72678  	// overhead memory.
 72679  	//
 72680  	// Refers instance of `OverheadMemoryManager`.
 72681  	OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty" json:"overheadMemoryManager,omitempty"`
 72682  	// host certificate manager
 72683  	// A singleton managed object to manage the certificates between the
 72684  	// Certificate Server and the host.
 72685  	//
 72686  	// Refers instance of `CertificateManager`.
 72687  	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty"`
 72688  	// A singleton managed object that manages IO Filters installed on the ESXi
 72689  	// hosts and IO Filter configuration of virtual disks.
 72690  	//
 72691  	// Refers instance of `IoFilterManager`.
 72692  	IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty" json:"ioFilterManager,omitempty"`
 72693  	// A singleton managed object that manages all storage objects in the
 72694  	// Virtual Infrastructure.
 72695  	//
 72696  	// If connected to a vCenter,
 72697  	// this is the `VcenterVStorageObjectManager`; If connected
 72698  	// to an ESXi host, this is the `HostVStorageObjectManager`.
 72699  	//
 72700  	// A storage object in the Virtual Infrastructure is represented by a
 72701  	// vStorageObject.
 72702  	//
 72703  	// Refers instance of `VStorageObjectManagerBase`.
 72704  	VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty" json:"vStorageObjectManager,omitempty"`
 72705  	// A singleton managed object that manages the host specification data.
 72706  	//
 72707  	// Refers instance of `HostSpecificationManager`.
 72708  	HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty" json:"hostSpecManager,omitempty"`
 72709  	// A singleton managed object used to manage cryptographic keys.
 72710  	//
 72711  	// Refers instance of `CryptoManager`.
 72712  	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty"`
 72713  	// A singleton managed object that manages the health updates.
 72714  	//
 72715  	// Refers instance of `HealthUpdateManager`.
 72716  	HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty" json:"healthUpdateManager,omitempty"`
 72717  	// A singleton managed object that manages the VCHA Cluster
 72718  	// configuration.
 72719  	//
 72720  	// Refers instance of `FailoverClusterConfigurator`.
 72721  	FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty" json:"failoverClusterConfigurator,omitempty"`
 72722  	// A singleton managed object for managing a configured VCHA Cluster.
 72723  	//
 72724  	// Refers instance of `FailoverClusterManager`.
 72725  	FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty" json:"failoverClusterManager,omitempty"`
 72726  	// A singleton managed object used to configure tenants.
 72727  	//
 72728  	// Refers instance of `TenantTenantManager`.
 72729  	TenantManager *ManagedObjectReference `xml:"tenantManager,omitempty" json:"tenantManager,omitempty"`
 72730  	// A singleton managed object used to manage site related capabilities.
 72731  	//
 72732  	// Refers instance of `SiteInfoManager`.
 72733  	SiteInfoManager *ManagedObjectReference `xml:"siteInfoManager,omitempty" json:"siteInfoManager,omitempty"`
 72734  	// A singleton managed object used to query storage related entities.
 72735  	//
 72736  	// Refers instance of `StorageQueryManager`.
 72737  	StorageQueryManager *ManagedObjectReference `xml:"storageQueryManager,omitempty" json:"storageQueryManager,omitempty"`
 72738  }
 72739  
 72740  func init() {
 72741  	t["ServiceContent"] = reflect.TypeOf((*ServiceContent)(nil)).Elem()
 72742  }
 72743  
 72744  // This data object type specifies the information of a service endpoint as
 72745  // well as the parameters needed to locate and login to to the service
 72746  // endpoint.
 72747  type ServiceLocator struct {
 72748  	DynamicData
 72749  
 72750  	// Unique ID of the instance to which the service belongs.
 72751  	//
 72752  	// For
 72753  	// instances that support the vSphere API, this is the same as the
 72754  	// value found in `AboutInfo.instanceUuid`.
 72755  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 72756  	// URL used to access the service endpoint
 72757  	Url string `xml:"url" json:"url"`
 72758  	// Credential to establish the connection and login to the service.
 72759  	Credential BaseServiceLocatorCredential `xml:"credential,typeattr" json:"credential"`
 72760  	// The SSL thumbprint of the certificate of the service endpoint.
 72761  	//
 72762  	// Superceded by `#sslCertificate`.
 72763  	// Note: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,
 72764  	// <code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.
 72765  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 72766  }
 72767  
 72768  func init() {
 72769  	t["ServiceLocator"] = reflect.TypeOf((*ServiceLocator)(nil)).Elem()
 72770  }
 72771  
 72772  // The data object type is a base type of credential for authentication such
 72773  // as username/password or SAML token.
 72774  type ServiceLocatorCredential struct {
 72775  	DynamicData
 72776  }
 72777  
 72778  func init() {
 72779  	t["ServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem()
 72780  }
 72781  
 72782  // The data object type specifies the username and password credential for
 72783  // authenticating to a service endpoint.
 72784  type ServiceLocatorNamePassword struct {
 72785  	ServiceLocatorCredential
 72786  
 72787  	// The username for Username-Password authentication
 72788  	Username string `xml:"username" json:"username"`
 72789  	// The password for Username-Password authentication
 72790  	Password string `xml:"password" json:"password"`
 72791  }
 72792  
 72793  func init() {
 72794  	t["ServiceLocatorNamePassword"] = reflect.TypeOf((*ServiceLocatorNamePassword)(nil)).Elem()
 72795  }
 72796  
 72797  // The data object type specifies the SAML token (SSO) based credential for
 72798  // authenticating to a service endpoint.
 72799  type ServiceLocatorSAMLCredential struct {
 72800  	ServiceLocatorCredential
 72801  
 72802  	// The SAML token for authentication
 72803  	Token string `xml:"token,omitempty" json:"token,omitempty"`
 72804  }
 72805  
 72806  func init() {
 72807  	t["ServiceLocatorSAMLCredential"] = reflect.TypeOf((*ServiceLocatorSAMLCredential)(nil)).Elem()
 72808  }
 72809  
 72810  // This data object represents essential information about a particular service.
 72811  //
 72812  // The information is sufficient to be able to identify the service and retrieve
 72813  // the object implementing it.
 72814  type ServiceManagerServiceInfo struct {
 72815  	DynamicData
 72816  
 72817  	// A service name.
 72818  	//
 72819  	// Each service is expected to create a unique name
 72820  	// for itself that can be used to locate the service. This name
 72821  	// does not need to be unique across hosts or other such locations though.
 72822  	ServiceName string `xml:"serviceName" json:"serviceName"`
 72823  	// A list of data that can be used to uniquely identify a particular instance of a service.
 72824  	//
 72825  	// Multiple instances of a service can exist across different domains (for instance, a service
 72826  	// that is associated with a particular virtual machine or a particular host). In such cases,
 72827  	// the service name is insufficient to identify the service and location data can be used
 72828  	// to identify the instance of interest. A service may publish as much location data
 72829  	// as is needed to identify it (e.g, vmware.host.&lt;hostname&gt; or vmware.vm.&lt;uuid&gt; or both).
 72830  	// The particular choice of locations have to be agreed upon by
 72831  	// the client and the service.
 72832  	Location []string `xml:"location,omitempty" json:"location,omitempty"`
 72833  	// The managed object that presents this service.
 72834  	Service ManagedObjectReference `xml:"service" json:"service"`
 72835  	// A description of the service.
 72836  	//
 72837  	// Provides help text on how
 72838  	// to use the service.
 72839  	Description string `xml:"description" json:"description"`
 72840  }
 72841  
 72842  func init() {
 72843  	t["ServiceManagerServiceInfo"] = reflect.TypeOf((*ServiceManagerServiceInfo)(nil)).Elem()
 72844  }
 72845  
 72846  // The `ServiceProfile` data object controls the configuration of a service.
 72847  //
 72848  // Use the `ApplyProfile.policy` list for access to configuration data
 72849  // for the service profile. Use the `ApplyProfile.property` list for access
 72850  // to subprofiles, if any.
 72851  type ServiceProfile struct {
 72852  	ApplyProfile
 72853  
 72854  	// Linkable identifier.
 72855  	Key string `xml:"key" json:"key"`
 72856  }
 72857  
 72858  func init() {
 72859  	t["ServiceProfile"] = reflect.TypeOf((*ServiceProfile)(nil)).Elem()
 72860  }
 72861  
 72862  // These are session events.
 72863  type SessionEvent struct {
 72864  	Event
 72865  }
 72866  
 72867  func init() {
 72868  	t["SessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem()
 72869  }
 72870  
 72871  type SessionIsActive SessionIsActiveRequestType
 72872  
 72873  func init() {
 72874  	t["SessionIsActive"] = reflect.TypeOf((*SessionIsActive)(nil)).Elem()
 72875  }
 72876  
 72877  // The parameters of `SessionManager.SessionIsActive`.
 72878  type SessionIsActiveRequestType struct {
 72879  	This ManagedObjectReference `xml:"_this" json:"-"`
 72880  	// Session ID to validate.
 72881  	SessionID string `xml:"sessionID" json:"sessionID"`
 72882  	// User name to validate.
 72883  	UserName string `xml:"userName" json:"userName"`
 72884  }
 72885  
 72886  func init() {
 72887  	t["SessionIsActiveRequestType"] = reflect.TypeOf((*SessionIsActiveRequestType)(nil)).Elem()
 72888  }
 72889  
 72890  type SessionIsActiveResponse struct {
 72891  	Returnval bool `xml:"returnval" json:"returnval"`
 72892  }
 72893  
 72894  // This data object represents a ticket which grants access to some service.
 72895  //
 72896  // The ticket may be used only once and is valid only for the
 72897  // `SessionManagerServiceRequestSpec` with which it was acquired.
 72898  // For HTTP service requests (when spec is of type HttpServiceRequestSpec)
 72899  // the returned ticket must be used by setting
 72900  // `SessionManagerGenericServiceTicket.id`
 72901  // as the value of a special cookie in the HTTP request.
 72902  // For CGI requests the name of this cookie is 'vmware\_cgi\_ticket'.
 72903  // The use of the returned ticket for other services is to be defined.
 72904  type SessionManagerGenericServiceTicket struct {
 72905  	DynamicData
 72906  
 72907  	// A unique string identifying the ticket.
 72908  	Id string `xml:"id" json:"id"`
 72909  	// The name of the host that the service is running on
 72910  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 72911  	// The expected thumbprint of the SSL certificate of the host.
 72912  	//
 72913  	// If it is empty, the host must be authenticated by name.
 72914  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 72915  	// List of expected thumbprints of the certificate of the host to
 72916  	// which we are connecting.
 72917  	//
 72918  	// The list can be configured on the host
 72919  	// to include only certain hash types. The default configuration
 72920  	// includes all hash types that are considered secure. See vmware.com
 72921  	// for the current security standards.
 72922  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 72923  	// Type of the ticket
 72924  	// See { @Vim::SessionManager::GenericServiceTicket::TicketType }
 72925  	TicketType string `xml:"ticketType,omitempty" json:"ticketType,omitempty" vim:"7.0.2.0"`
 72926  }
 72927  
 72928  func init() {
 72929  	t["SessionManagerGenericServiceTicket"] = reflect.TypeOf((*SessionManagerGenericServiceTicket)(nil)).Elem()
 72930  }
 72931  
 72932  // This data object type describes a request to an HTTP or HTTPS service.
 72933  type SessionManagerHttpServiceRequestSpec struct {
 72934  	SessionManagerServiceRequestSpec
 72935  
 72936  	// The HTTP method used for the request.
 72937  	//
 72938  	// If null, then any method is assumed.
 72939  	//
 72940  	// See also `SessionManagerHttpServiceRequestSpecMethod_enum`.
 72941  	Method string `xml:"method,omitempty" json:"method,omitempty"`
 72942  	// URL of the HTTP request.
 72943  	//
 72944  	// E.g. 'https://127.0.0.1:8080/cgi-bin/vm-support.cgi?n=val'.
 72945  	//
 72946  	// For ESXi CGI service requests:
 72947  	//   - only the path and query parts of the URL are used
 72948  	//     (e.g. "/cgi-bin/vm-support.cgi?n=val").
 72949  	//
 72950  	// This is so because the scheme is not known to the CGI service,
 72951  	// and the port may not be the same if using a proxy.
 72952  	Url string `xml:"url" json:"url"`
 72953  }
 72954  
 72955  func init() {
 72956  	t["SessionManagerHttpServiceRequestSpec"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpec)(nil)).Elem()
 72957  }
 72958  
 72959  // This data object type contains the user name
 72960  // and location of the file containing the password that
 72961  // clients can use for one-time logon to a server.
 72962  type SessionManagerLocalTicket struct {
 72963  	DynamicData
 72964  
 72965  	// User name to be used for logon.
 72966  	UserName string `xml:"userName" json:"userName"`
 72967  	// Absolute local path to the file containing a one-time password.
 72968  	PasswordFilePath string `xml:"passwordFilePath" json:"passwordFilePath"`
 72969  }
 72970  
 72971  func init() {
 72972  	t["SessionManagerLocalTicket"] = reflect.TypeOf((*SessionManagerLocalTicket)(nil)).Elem()
 72973  }
 72974  
 72975  // This data object type describes a request to a service.
 72976  //
 72977  // It is used as argument to
 72978  // `SessionManager.AcquireGenericServiceTicket`.
 72979  // This is the base class for more specific service request specifications.
 72980  // E.g. for HTTP services the derived class will provide a URL property.
 72981  type SessionManagerServiceRequestSpec struct {
 72982  	DynamicData
 72983  }
 72984  
 72985  func init() {
 72986  	t["SessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem()
 72987  }
 72988  
 72989  // This data object type describes a request to invoke a specific method
 72990  // in a VMOMI service.
 72991  //
 72992  // It currently only supports {link vim.SessionManager#cloneSession} method.
 72993  // The GenericServiceTicket.id returned from
 72994  // `SessionManager.AcquireGenericServiceTicket` for this request
 72995  // can be use for `SessionManager.CloneSession` to clone a session
 72996  type SessionManagerVmomiServiceRequestSpec struct {
 72997  	SessionManagerServiceRequestSpec
 72998  
 72999  	// Name of the method identified by this request spec
 73000  	Method string `xml:"method" json:"method"`
 73001  }
 73002  
 73003  func init() {
 73004  	t["SessionManagerVmomiServiceRequestSpec"] = reflect.TypeOf((*SessionManagerVmomiServiceRequestSpec)(nil)).Elem()
 73005  }
 73006  
 73007  // This event records the termination of a session.
 73008  type SessionTerminatedEvent struct {
 73009  	SessionEvent
 73010  
 73011  	// The unique identifier of the terminated session.
 73012  	SessionId string `xml:"sessionId" json:"sessionId"`
 73013  	// The name of the user owning the terminated session.
 73014  	TerminatedUsername string `xml:"terminatedUsername" json:"terminatedUsername"`
 73015  }
 73016  
 73017  func init() {
 73018  	t["SessionTerminatedEvent"] = reflect.TypeOf((*SessionTerminatedEvent)(nil)).Elem()
 73019  }
 73020  
 73021  type SetCollectorPageSize SetCollectorPageSizeRequestType
 73022  
 73023  func init() {
 73024  	t["SetCollectorPageSize"] = reflect.TypeOf((*SetCollectorPageSize)(nil)).Elem()
 73025  }
 73026  
 73027  // The parameters of `HistoryCollector.SetCollectorPageSize`.
 73028  type SetCollectorPageSizeRequestType struct {
 73029  	This ManagedObjectReference `xml:"_this" json:"-"`
 73030  	// The maximum number of items in the page.
 73031  	MaxCount int32 `xml:"maxCount" json:"maxCount"`
 73032  }
 73033  
 73034  func init() {
 73035  	t["SetCollectorPageSizeRequestType"] = reflect.TypeOf((*SetCollectorPageSizeRequestType)(nil)).Elem()
 73036  }
 73037  
 73038  type SetCollectorPageSizeResponse struct {
 73039  }
 73040  
 73041  type SetCryptoMode SetCryptoModeRequestType
 73042  
 73043  func init() {
 73044  	t["SetCryptoMode"] = reflect.TypeOf((*SetCryptoMode)(nil)).Elem()
 73045  }
 73046  
 73047  // The parameters of `ClusterComputeResource.SetCryptoMode`.
 73048  type SetCryptoModeRequestType struct {
 73049  	This ManagedObjectReference `xml:"_this" json:"-"`
 73050  	// The encryption mode for the cluster.
 73051  	// See `ClusterCryptoConfigInfoCryptoMode_enum` for
 73052  	// supported values. An empty string is treated as a valid
 73053  	// input and will be interpreted as
 73054  	// `onDemand`.
 73055  	CryptoMode string `xml:"cryptoMode" json:"cryptoMode"`
 73056  	// The encryption mode policy for the cluster. When no policy
 73057  	// is specified, host keys will be automcatically generated
 73058  	// using the current default key provider.
 73059  	Policy *ClusterComputeResourceCryptoModePolicy `xml:"policy,omitempty" json:"policy,omitempty" vim:"8.0.3.0"`
 73060  }
 73061  
 73062  func init() {
 73063  	t["SetCryptoModeRequestType"] = reflect.TypeOf((*SetCryptoModeRequestType)(nil)).Elem()
 73064  }
 73065  
 73066  type SetCryptoModeResponse struct {
 73067  }
 73068  
 73069  type SetDefaultKmsCluster SetDefaultKmsClusterRequestType
 73070  
 73071  func init() {
 73072  	t["SetDefaultKmsCluster"] = reflect.TypeOf((*SetDefaultKmsCluster)(nil)).Elem()
 73073  }
 73074  
 73075  // The parameters of `CryptoManagerKmip.SetDefaultKmsCluster`.
 73076  type SetDefaultKmsClusterRequestType struct {
 73077  	This ManagedObjectReference `xml:"_this" json:"-"`
 73078  	// \[in\] The managed entity where the default KMS cluster to be
 73079  	// set. Currently the valid managed entity could be
 73080  	// cluster or host folder.
 73081  	// If omitted, then will set global default KMS cluster.
 73082  	//
 73083  	// Refers instance of `ManagedEntity`.
 73084  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 73085  	// \[in\] KMS cluster ID to become default.
 73086  	// If omitted, then will clear the default KMS cluster
 73087  	// setting.
 73088  	ClusterId *KeyProviderId `xml:"clusterId,omitempty" json:"clusterId,omitempty"`
 73089  }
 73090  
 73091  func init() {
 73092  	t["SetDefaultKmsClusterRequestType"] = reflect.TypeOf((*SetDefaultKmsClusterRequestType)(nil)).Elem()
 73093  }
 73094  
 73095  type SetDefaultKmsClusterResponse struct {
 73096  }
 73097  
 73098  type SetDisplayTopology SetDisplayTopologyRequestType
 73099  
 73100  func init() {
 73101  	t["SetDisplayTopology"] = reflect.TypeOf((*SetDisplayTopology)(nil)).Elem()
 73102  }
 73103  
 73104  // The parameters of `VirtualMachine.SetDisplayTopology`.
 73105  type SetDisplayTopologyRequestType struct {
 73106  	This ManagedObjectReference `xml:"_this" json:"-"`
 73107  	// The topology for each monitor that the
 73108  	// virtual machine's display must span.
 73109  	Displays []VirtualMachineDisplayTopology `xml:"displays" json:"displays"`
 73110  }
 73111  
 73112  func init() {
 73113  	t["SetDisplayTopologyRequestType"] = reflect.TypeOf((*SetDisplayTopologyRequestType)(nil)).Elem()
 73114  }
 73115  
 73116  type SetDisplayTopologyResponse struct {
 73117  }
 73118  
 73119  type SetEntityPermissions SetEntityPermissionsRequestType
 73120  
 73121  func init() {
 73122  	t["SetEntityPermissions"] = reflect.TypeOf((*SetEntityPermissions)(nil)).Elem()
 73123  }
 73124  
 73125  // The parameters of `AuthorizationManager.SetEntityPermissions`.
 73126  type SetEntityPermissionsRequestType struct {
 73127  	This ManagedObjectReference `xml:"_this" json:"-"`
 73128  	// The entity on which to set permissions.
 73129  	//
 73130  	// Required privileges: Authorization.ModifyPermissions
 73131  	//
 73132  	// Refers instance of `ManagedEntity`.
 73133  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 73134  	// An array of specifications for permissions on the entity.
 73135  	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
 73136  }
 73137  
 73138  func init() {
 73139  	t["SetEntityPermissionsRequestType"] = reflect.TypeOf((*SetEntityPermissionsRequestType)(nil)).Elem()
 73140  }
 73141  
 73142  type SetEntityPermissionsResponse struct {
 73143  }
 73144  
 73145  type SetExtensionCertificate SetExtensionCertificateRequestType
 73146  
 73147  func init() {
 73148  	t["SetExtensionCertificate"] = reflect.TypeOf((*SetExtensionCertificate)(nil)).Elem()
 73149  }
 73150  
 73151  // The parameters of `ExtensionManager.SetExtensionCertificate`.
 73152  type SetExtensionCertificateRequestType struct {
 73153  	This ManagedObjectReference `xml:"_this" json:"-"`
 73154  	// Key of extension to update.
 73155  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73156  	// PEM encoded certificate. If not specified, the
 73157  	// certificate passed over SSL handshake is used.
 73158  	CertificatePem string `xml:"certificatePem,omitempty" json:"certificatePem,omitempty"`
 73159  }
 73160  
 73161  func init() {
 73162  	t["SetExtensionCertificateRequestType"] = reflect.TypeOf((*SetExtensionCertificateRequestType)(nil)).Elem()
 73163  }
 73164  
 73165  type SetExtensionCertificateResponse struct {
 73166  }
 73167  
 73168  type SetField SetFieldRequestType
 73169  
 73170  func init() {
 73171  	t["SetField"] = reflect.TypeOf((*SetField)(nil)).Elem()
 73172  }
 73173  
 73174  // The parameters of `CustomFieldsManager.SetField`.
 73175  type SetFieldRequestType struct {
 73176  	This ManagedObjectReference `xml:"_this" json:"-"`
 73177  	// Required privileges: Global.SetCustomField
 73178  	//
 73179  	// Refers instance of `ManagedEntity`.
 73180  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 73181  	Key    int32                  `xml:"key" json:"key"`
 73182  	Value  string                 `xml:"value" json:"value"`
 73183  }
 73184  
 73185  func init() {
 73186  	t["SetFieldRequestType"] = reflect.TypeOf((*SetFieldRequestType)(nil)).Elem()
 73187  }
 73188  
 73189  type SetFieldResponse struct {
 73190  }
 73191  
 73192  type SetKeyCustomAttributes SetKeyCustomAttributesRequestType
 73193  
 73194  func init() {
 73195  	t["SetKeyCustomAttributes"] = reflect.TypeOf((*SetKeyCustomAttributes)(nil)).Elem()
 73196  }
 73197  
 73198  // The parameters of `CryptoManagerKmip.SetKeyCustomAttributes`.
 73199  type SetKeyCustomAttributesRequestType struct {
 73200  	This ManagedObjectReference `xml:"_this" json:"-"`
 73201  	// \[in\] The crypto Key Id.
 73202  	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
 73203  	// \[in\] The spec that contains custom attributes key/value pairs.
 73204  	Spec CryptoManagerKmipCustomAttributeSpec `xml:"spec" json:"spec"`
 73205  }
 73206  
 73207  func init() {
 73208  	t["SetKeyCustomAttributesRequestType"] = reflect.TypeOf((*SetKeyCustomAttributesRequestType)(nil)).Elem()
 73209  	minAPIVersionForType["SetKeyCustomAttributesRequestType"] = "8.0.1.0"
 73210  }
 73211  
 73212  type SetKeyCustomAttributesResponse struct {
 73213  	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
 73214  }
 73215  
 73216  type SetLicenseEdition SetLicenseEditionRequestType
 73217  
 73218  func init() {
 73219  	t["SetLicenseEdition"] = reflect.TypeOf((*SetLicenseEdition)(nil)).Elem()
 73220  }
 73221  
 73222  // The parameters of `LicenseManager.SetLicenseEdition`.
 73223  type SetLicenseEditionRequestType struct {
 73224  	This ManagedObjectReference `xml:"_this" json:"-"`
 73225  	// Host to act on if LicenseManager is not on a host.
 73226  	//
 73227  	// Refers instance of `HostSystem`.
 73228  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 73229  	// Name of edition feature to select. If featureKey is not
 73230  	// set or set to empty string, the product becomes unlicensed.
 73231  	FeatureKey string `xml:"featureKey,omitempty" json:"featureKey,omitempty"`
 73232  }
 73233  
 73234  func init() {
 73235  	t["SetLicenseEditionRequestType"] = reflect.TypeOf((*SetLicenseEditionRequestType)(nil)).Elem()
 73236  }
 73237  
 73238  type SetLicenseEditionResponse struct {
 73239  }
 73240  
 73241  type SetLocale SetLocaleRequestType
 73242  
 73243  func init() {
 73244  	t["SetLocale"] = reflect.TypeOf((*SetLocale)(nil)).Elem()
 73245  }
 73246  
 73247  // The parameters of `SessionManager.SetLocale`.
 73248  type SetLocaleRequestType struct {
 73249  	This ManagedObjectReference `xml:"_this" json:"-"`
 73250  	// A two-character ISO-639 language ID (like "en")
 73251  	// optionally followed by an
 73252  	// underscore and a two-character ISO 3166 country ID (like "US").
 73253  	//
 73254  	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
 73255  	// Note: The method uses the server default locale when
 73256  	// a locale is not provided. This default can be configured in the
 73257  	// server configuration file. If unspecified, it defaults to the
 73258  	// locale of the server environment or English ("en") if unsupported.
 73259  	Locale string `xml:"locale" json:"locale"`
 73260  }
 73261  
 73262  func init() {
 73263  	t["SetLocaleRequestType"] = reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem()
 73264  }
 73265  
 73266  type SetLocaleResponse struct {
 73267  }
 73268  
 73269  type SetMaxQueueDepth SetMaxQueueDepthRequestType
 73270  
 73271  func init() {
 73272  	t["SetMaxQueueDepth"] = reflect.TypeOf((*SetMaxQueueDepth)(nil)).Elem()
 73273  }
 73274  
 73275  // The parameters of `HostDatastoreSystem.SetMaxQueueDepth`.
 73276  type SetMaxQueueDepthRequestType struct {
 73277  	This ManagedObjectReference `xml:"_this" json:"-"`
 73278  	// The NFS datastore which need to set max queue depth
 73279  	//
 73280  	// Refers instance of `Datastore`.
 73281  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 73282  	// Max queue depth value for a datastore
 73283  	MaxQdepth int64 `xml:"maxQdepth" json:"maxQdepth"`
 73284  }
 73285  
 73286  func init() {
 73287  	t["SetMaxQueueDepthRequestType"] = reflect.TypeOf((*SetMaxQueueDepthRequestType)(nil)).Elem()
 73288  	minAPIVersionForType["SetMaxQueueDepthRequestType"] = "8.0.0.1"
 73289  }
 73290  
 73291  type SetMaxQueueDepthResponse struct {
 73292  }
 73293  
 73294  type SetMultipathLunPolicy SetMultipathLunPolicyRequestType
 73295  
 73296  func init() {
 73297  	t["SetMultipathLunPolicy"] = reflect.TypeOf((*SetMultipathLunPolicy)(nil)).Elem()
 73298  }
 73299  
 73300  // The parameters of `HostStorageSystem.SetMultipathLunPolicy`.
 73301  type SetMultipathLunPolicyRequestType struct {
 73302  	This ManagedObjectReference `xml:"_this" json:"-"`
 73303  	// The logical unit ID
 73304  	LunId string `xml:"lunId" json:"lunId"`
 73305  	// A data object that describes a path selection policy for
 73306  	// the logical unit.
 73307  	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
 73308  }
 73309  
 73310  func init() {
 73311  	t["SetMultipathLunPolicyRequestType"] = reflect.TypeOf((*SetMultipathLunPolicyRequestType)(nil)).Elem()
 73312  }
 73313  
 73314  type SetMultipathLunPolicyResponse struct {
 73315  }
 73316  
 73317  type SetNFSUser SetNFSUserRequestType
 73318  
 73319  func init() {
 73320  	t["SetNFSUser"] = reflect.TypeOf((*SetNFSUser)(nil)).Elem()
 73321  }
 73322  
 73323  // The parameters of `HostStorageSystem.SetNFSUser`.
 73324  type SetNFSUserRequestType struct {
 73325  	This ManagedObjectReference `xml:"_this" json:"-"`
 73326  	// User to be saved on the the esx host
 73327  	User string `xml:"user" json:"user"`
 73328  	// Password for the user.
 73329  	Password string `xml:"password" json:"password"`
 73330  }
 73331  
 73332  func init() {
 73333  	t["SetNFSUserRequestType"] = reflect.TypeOf((*SetNFSUserRequestType)(nil)).Elem()
 73334  }
 73335  
 73336  type SetNFSUserResponse struct {
 73337  }
 73338  
 73339  type SetPublicKey SetPublicKeyRequestType
 73340  
 73341  func init() {
 73342  	t["SetPublicKey"] = reflect.TypeOf((*SetPublicKey)(nil)).Elem()
 73343  }
 73344  
 73345  // The parameters of `ExtensionManager.SetPublicKey`.
 73346  type SetPublicKeyRequestType struct {
 73347  	This ManagedObjectReference `xml:"_this" json:"-"`
 73348  	// Key of extension to update.
 73349  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73350  	// Public key of extension, encoded
 73351  	// in PEM (privacy-enhanced mail) format.
 73352  	PublicKey string `xml:"publicKey" json:"publicKey"`
 73353  }
 73354  
 73355  func init() {
 73356  	t["SetPublicKeyRequestType"] = reflect.TypeOf((*SetPublicKeyRequestType)(nil)).Elem()
 73357  }
 73358  
 73359  type SetPublicKeyResponse struct {
 73360  }
 73361  
 73362  type SetRegistryValueInGuest SetRegistryValueInGuestRequestType
 73363  
 73364  func init() {
 73365  	t["SetRegistryValueInGuest"] = reflect.TypeOf((*SetRegistryValueInGuest)(nil)).Elem()
 73366  }
 73367  
 73368  // The parameters of `GuestWindowsRegistryManager.SetRegistryValueInGuest`.
 73369  type SetRegistryValueInGuestRequestType struct {
 73370  	This ManagedObjectReference `xml:"_this" json:"-"`
 73371  	// Virtual machine to perform the operation on.
 73372  	//
 73373  	// Required privileges: VirtualMachine.GuestOperations.Modify
 73374  	//
 73375  	// Refers instance of `VirtualMachine`.
 73376  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 73377  	// The guest authentication data.
 73378  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 73379  	// The information for the registry value to be set/created.
 73380  	// The Value "name" (specified in
 73381  	// `GuestRegValueNameSpec`)
 73382  	// and the Value "data" (specified in
 73383  	// `GuestRegValueSpec`)
 73384  	// can both be empty. If "name" is empty, it sets the value for
 73385  	// the unnamed or default value of the given key.
 73386  	Value GuestRegValueSpec `xml:"value" json:"value"`
 73387  }
 73388  
 73389  func init() {
 73390  	t["SetRegistryValueInGuestRequestType"] = reflect.TypeOf((*SetRegistryValueInGuestRequestType)(nil)).Elem()
 73391  }
 73392  
 73393  type SetRegistryValueInGuestResponse struct {
 73394  }
 73395  
 73396  type SetScreenResolution SetScreenResolutionRequestType
 73397  
 73398  func init() {
 73399  	t["SetScreenResolution"] = reflect.TypeOf((*SetScreenResolution)(nil)).Elem()
 73400  }
 73401  
 73402  // The parameters of `VirtualMachine.SetScreenResolution`.
 73403  type SetScreenResolutionRequestType struct {
 73404  	This ManagedObjectReference `xml:"_this" json:"-"`
 73405  	// The screen width that should be set.
 73406  	Width int32 `xml:"width" json:"width"`
 73407  	// The screen height that should be set.
 73408  	Height int32 `xml:"height" json:"height"`
 73409  }
 73410  
 73411  func init() {
 73412  	t["SetScreenResolutionRequestType"] = reflect.TypeOf((*SetScreenResolutionRequestType)(nil)).Elem()
 73413  }
 73414  
 73415  type SetScreenResolutionResponse struct {
 73416  }
 73417  
 73418  type SetServiceAccount SetServiceAccountRequestType
 73419  
 73420  func init() {
 73421  	t["SetServiceAccount"] = reflect.TypeOf((*SetServiceAccount)(nil)).Elem()
 73422  }
 73423  
 73424  // The parameters of `ExtensionManager.SetServiceAccount`.
 73425  type SetServiceAccountRequestType struct {
 73426  	This ManagedObjectReference `xml:"_this" json:"-"`
 73427  	// Key of extension to update.
 73428  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 73429  	// account name qualified with SSO domain.
 73430  	ServiceAccount string `xml:"serviceAccount" json:"serviceAccount"`
 73431  }
 73432  
 73433  func init() {
 73434  	t["SetServiceAccountRequestType"] = reflect.TypeOf((*SetServiceAccountRequestType)(nil)).Elem()
 73435  	minAPIVersionForType["SetServiceAccountRequestType"] = "8.0.2.0"
 73436  }
 73437  
 73438  type SetServiceAccountResponse struct {
 73439  }
 73440  
 73441  type SetTaskDescription SetTaskDescriptionRequestType
 73442  
 73443  func init() {
 73444  	t["SetTaskDescription"] = reflect.TypeOf((*SetTaskDescription)(nil)).Elem()
 73445  }
 73446  
 73447  // The parameters of `Task.SetTaskDescription`.
 73448  type SetTaskDescriptionRequestType struct {
 73449  	This ManagedObjectReference `xml:"_this" json:"-"`
 73450  	// New description for task
 73451  	Description LocalizableMessage `xml:"description" json:"description"`
 73452  }
 73453  
 73454  func init() {
 73455  	t["SetTaskDescriptionRequestType"] = reflect.TypeOf((*SetTaskDescriptionRequestType)(nil)).Elem()
 73456  }
 73457  
 73458  type SetTaskDescriptionResponse struct {
 73459  }
 73460  
 73461  type SetTaskState SetTaskStateRequestType
 73462  
 73463  func init() {
 73464  	t["SetTaskState"] = reflect.TypeOf((*SetTaskState)(nil)).Elem()
 73465  }
 73466  
 73467  // The parameters of `Task.SetTaskState`.
 73468  type SetTaskStateRequestType struct {
 73469  	This ManagedObjectReference `xml:"_this" json:"-"`
 73470  	// New state for task
 73471  	State TaskInfoState `xml:"state" json:"state"`
 73472  	// Result to set, valid only if task state is
 73473  	// TaskInfo.State.success
 73474  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 73475  	// Fault to set, valid only if task state is
 73476  	// `error`. The fault must be a of a fault type that
 73477  	// directly or indirectly extends `VimFault`.
 73478  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 73479  }
 73480  
 73481  func init() {
 73482  	t["SetTaskStateRequestType"] = reflect.TypeOf((*SetTaskStateRequestType)(nil)).Elem()
 73483  }
 73484  
 73485  type SetTaskStateResponse struct {
 73486  }
 73487  
 73488  type SetVStorageObjectControlFlags SetVStorageObjectControlFlagsRequestType
 73489  
 73490  func init() {
 73491  	t["SetVStorageObjectControlFlags"] = reflect.TypeOf((*SetVStorageObjectControlFlags)(nil)).Elem()
 73492  }
 73493  
 73494  // The parameters of `VcenterVStorageObjectManager.SetVStorageObjectControlFlags`.
 73495  type SetVStorageObjectControlFlagsRequestType struct {
 73496  	This ManagedObjectReference `xml:"_this" json:"-"`
 73497  	// The ID of the virtual storage object.
 73498  	Id ID `xml:"id" json:"id"`
 73499  	// The datastore where the source virtual storage
 73500  	// object is located.
 73501  	//
 73502  	// Required privileges: Datastore.FileManagement
 73503  	//
 73504  	// Refers instance of `Datastore`.
 73505  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 73506  	// control flags enum array to be set on the
 73507  	// VStorageObject. All control flags not included
 73508  	// in the array remain intact.
 73509  	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
 73510  }
 73511  
 73512  func init() {
 73513  	t["SetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*SetVStorageObjectControlFlagsRequestType)(nil)).Elem()
 73514  }
 73515  
 73516  type SetVStorageObjectControlFlagsResponse struct {
 73517  }
 73518  
 73519  type SetVirtualDiskUuid SetVirtualDiskUuidRequestType
 73520  
 73521  func init() {
 73522  	t["SetVirtualDiskUuid"] = reflect.TypeOf((*SetVirtualDiskUuid)(nil)).Elem()
 73523  }
 73524  
 73525  // The parameters of `VcenterVStorageObjectManager.SetVirtualDiskUuidEx_Task`.
 73526  type SetVirtualDiskUuidExRequestType struct {
 73527  	This ManagedObjectReference `xml:"_this" json:"-"`
 73528  	// The name of the disk, either a datastore path or a URL
 73529  	// referring to the virtual disk whose uuid for the DDB entry needs to be set.
 73530  	// A datastore path has the form
 73531  	// > \[_datastore_\] _path_
 73532  	//
 73533  	// where
 73534  	//   - _datastore_ is the datastore name.
 73535  	//   - _path_ is a slash-delimited path from the root of the datastore.
 73536  	//
 73537  	// An example datastore path is "\[storage\] path/to/file.extension".
 73538  	Name string `xml:"name" json:"name"`
 73539  	// If <code>name</code> is a datastore path, the datacenter for
 73540  	// that datastore path is mandatory. Not needed when invoked directly on ESX.
 73541  	// If not specified on a call from VirtualCenter,
 73542  	// <code>name</code> must be a URL.
 73543  	//
 73544  	// Refers instance of `Datacenter`.
 73545  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 73546  	// The hex representation of the unique ID for this virtual disk. If uuid is not set or missing,
 73547  	// a random UUID is generated and assigned.
 73548  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 73549  }
 73550  
 73551  func init() {
 73552  	t["SetVirtualDiskUuidExRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidExRequestType)(nil)).Elem()
 73553  	minAPIVersionForType["SetVirtualDiskUuidExRequestType"] = "8.0.3.0"
 73554  }
 73555  
 73556  type SetVirtualDiskUuidEx_Task SetVirtualDiskUuidExRequestType
 73557  
 73558  func init() {
 73559  	t["SetVirtualDiskUuidEx_Task"] = reflect.TypeOf((*SetVirtualDiskUuidEx_Task)(nil)).Elem()
 73560  }
 73561  
 73562  type SetVirtualDiskUuidEx_TaskResponse struct {
 73563  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 73564  }
 73565  
 73566  // The parameters of `VirtualDiskManager.SetVirtualDiskUuid`.
 73567  type SetVirtualDiskUuidRequestType struct {
 73568  	This ManagedObjectReference `xml:"_this" json:"-"`
 73569  	// The name of the disk, either a datastore path or a URL
 73570  	// referring to the virtual disk whose SCSI inquiry page 0x83
 73571  	// data should be set.
 73572  	Name string `xml:"name" json:"name"`
 73573  	// If <code>name</code> is a datastore path, the datacenter for
 73574  	// that datastore path. Not needed when invoked directly on ESX.
 73575  	// If not specified on a call to VirtualCenter,
 73576  	// <code>name</code> must be a URL.
 73577  	//
 73578  	// Refers instance of `Datacenter`.
 73579  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 73580  	// The hex representation of the unique ID for this virtual disk.
 73581  	Uuid string `xml:"uuid" json:"uuid"`
 73582  }
 73583  
 73584  func init() {
 73585  	t["SetVirtualDiskUuidRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidRequestType)(nil)).Elem()
 73586  }
 73587  
 73588  type SetVirtualDiskUuidResponse struct {
 73589  }
 73590  
 73591  // The virtual machine has one or more SCSI controllers that are engaged
 73592  // in bus sharing.
 73593  //
 73594  // This is an error when migrating a powered-on virtual machine,
 73595  // and can be returned as a subfault of DisallowedMigrationDeviceAttached.
 73596  type SharedBusControllerNotSupported struct {
 73597  	DeviceNotSupported
 73598  }
 73599  
 73600  func init() {
 73601  	t["SharedBusControllerNotSupported"] = reflect.TypeOf((*SharedBusControllerNotSupported)(nil)).Elem()
 73602  }
 73603  
 73604  type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported
 73605  
 73606  func init() {
 73607  	t["SharedBusControllerNotSupportedFault"] = reflect.TypeOf((*SharedBusControllerNotSupportedFault)(nil)).Elem()
 73608  }
 73609  
 73610  // Specification of shares.
 73611  //
 73612  // Shares are used to determine relative allocation between resource consumers.
 73613  // In general, a consumer with more shares gets proportionally more of
 73614  // the resource, subject to certain other constraints.
 73615  type SharesInfo struct {
 73616  	DynamicData
 73617  
 73618  	// The number of shares allocated.
 73619  	//
 73620  	// Used to determine resource allocation in case of
 73621  	// resource contention. This value is only set if level is set to custom. If level is
 73622  	// not set to custom, this value is ignored. Therefore, only shares with custom
 73623  	// values can be compared.
 73624  	//
 73625  	// There is no unit for this value. It is a relative measure based on the settings
 73626  	// for other resource pools.
 73627  	Shares int32 `xml:"shares" json:"shares"`
 73628  	// The allocation level.
 73629  	//
 73630  	// The level is a simplified view of shares.
 73631  	// Levels map to a pre-determined set of numeric values for shares.
 73632  	// If the shares value does not map to a predefined size, then
 73633  	// the level is set as custom.
 73634  	Level SharesLevel `xml:"level" json:"level"`
 73635  }
 73636  
 73637  func init() {
 73638  	t["SharesInfo"] = reflect.TypeOf((*SharesInfo)(nil)).Elem()
 73639  }
 73640  
 73641  // Specification of shares.
 73642  //
 73643  // Object of this class specifies value ranges for object of
 73644  // instance `SharesInfo`
 73645  type SharesOption struct {
 73646  	DynamicData
 73647  
 73648  	// Value range which can be used for share definition
 73649  	// in `SharesInfo.shares`
 73650  	SharesOption IntOption `xml:"sharesOption" json:"sharesOption"`
 73651  	// Default value for `SharesInfo.level`
 73652  	DefaultLevel SharesLevel `xml:"defaultLevel" json:"defaultLevel"`
 73653  }
 73654  
 73655  func init() {
 73656  	t["SharesOption"] = reflect.TypeOf((*SharesOption)(nil)).Elem()
 73657  }
 73658  
 73659  // This exception is thrown when VirtualMachine.shrinkDisk
 73660  // encounters an error
 73661  type ShrinkDiskFault struct {
 73662  	VimFault
 73663  
 73664  	// Disk Id of the virtual disk that caused the fault
 73665  	DiskId int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 73666  }
 73667  
 73668  func init() {
 73669  	t["ShrinkDiskFault"] = reflect.TypeOf((*ShrinkDiskFault)(nil)).Elem()
 73670  }
 73671  
 73672  type ShrinkDiskFaultFault ShrinkDiskFault
 73673  
 73674  func init() {
 73675  	t["ShrinkDiskFaultFault"] = reflect.TypeOf((*ShrinkDiskFaultFault)(nil)).Elem()
 73676  }
 73677  
 73678  // The parameters of `VirtualDiskManager.ShrinkVirtualDisk_Task`.
 73679  type ShrinkVirtualDiskRequestType struct {
 73680  	This ManagedObjectReference `xml:"_this" json:"-"`
 73681  	// The name of the disk, either a datastore path or a URL
 73682  	// referring to the virtual disk that should be shrink.
 73683  	Name string `xml:"name" json:"name"`
 73684  	// If <code>name</code> is a datastore path, the datacenter for
 73685  	// that datastore path. Not needed when invoked directly on ESX.
 73686  	// If not specified on a call to VirtualCenter,
 73687  	// <code>name</code> must be a URL.
 73688  	//
 73689  	// Refers instance of `Datacenter`.
 73690  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 73691  	// If true or omitted, performs shrink in copy-shrink mode, otherwise
 73692  	// shrink in in-place mode.
 73693  	Copy *bool `xml:"copy" json:"copy,omitempty"`
 73694  }
 73695  
 73696  func init() {
 73697  	t["ShrinkVirtualDiskRequestType"] = reflect.TypeOf((*ShrinkVirtualDiskRequestType)(nil)).Elem()
 73698  }
 73699  
 73700  type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType
 73701  
 73702  func init() {
 73703  	t["ShrinkVirtualDisk_Task"] = reflect.TypeOf((*ShrinkVirtualDisk_Task)(nil)).Elem()
 73704  }
 73705  
 73706  type ShrinkVirtualDisk_TaskResponse struct {
 73707  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 73708  }
 73709  
 73710  type ShutdownGuest ShutdownGuestRequestType
 73711  
 73712  func init() {
 73713  	t["ShutdownGuest"] = reflect.TypeOf((*ShutdownGuest)(nil)).Elem()
 73714  }
 73715  
 73716  type ShutdownGuestRequestType struct {
 73717  	This ManagedObjectReference `xml:"_this" json:"-"`
 73718  }
 73719  
 73720  func init() {
 73721  	t["ShutdownGuestRequestType"] = reflect.TypeOf((*ShutdownGuestRequestType)(nil)).Elem()
 73722  }
 73723  
 73724  type ShutdownGuestResponse struct {
 73725  }
 73726  
 73727  // The parameters of `HostSystem.ShutdownHost_Task`.
 73728  type ShutdownHostRequestType struct {
 73729  	This ManagedObjectReference `xml:"_this" json:"-"`
 73730  	// Flag to specify whether or not the host should be shut down
 73731  	// regardless of whether it is in maintenance mode.
 73732  	// If true, the host is shut down, even if there are
 73733  	// virtual machines running or other operations in progress.
 73734  	Force bool `xml:"force" json:"force"`
 73735  }
 73736  
 73737  func init() {
 73738  	t["ShutdownHostRequestType"] = reflect.TypeOf((*ShutdownHostRequestType)(nil)).Elem()
 73739  }
 73740  
 73741  type ShutdownHost_Task ShutdownHostRequestType
 73742  
 73743  func init() {
 73744  	t["ShutdownHost_Task"] = reflect.TypeOf((*ShutdownHost_Task)(nil)).Elem()
 73745  }
 73746  
 73747  type ShutdownHost_TaskResponse struct {
 73748  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 73749  }
 73750  
 73751  // This class specifies a single IP address.
 73752  type SingleIp struct {
 73753  	IpAddress
 73754  
 73755  	// The IP address.
 73756  	//
 73757  	// The value of this property should either be an
 73758  	// IPv4 address such as "192.168.0.1" or an IPv6 address such as
 73759  	// "fc00:192:168:0:6cd9:a132:e889:b612"
 73760  	Address string `xml:"address" json:"address"`
 73761  }
 73762  
 73763  func init() {
 73764  	t["SingleIp"] = reflect.TypeOf((*SingleIp)(nil)).Elem()
 73765  }
 73766  
 73767  // This class defines a Single MAC address.
 73768  type SingleMac struct {
 73769  	MacAddress
 73770  
 73771  	// The MAC address.
 73772  	//
 73773  	// The value for this property should be in the form
 73774  	// like "00:50:56:bc:ef:ab".
 73775  	Address string `xml:"address" json:"address"`
 73776  }
 73777  
 73778  func init() {
 73779  	t["SingleMac"] = reflect.TypeOf((*SingleMac)(nil)).Elem()
 73780  }
 73781  
 73782  // This data object type represents the external site-related capabilities
 73783  // available in the environment managed by this vCenter.
 73784  type SiteInfo struct {
 73785  	DynamicData
 73786  }
 73787  
 73788  func init() {
 73789  	t["SiteInfo"] = reflect.TypeOf((*SiteInfo)(nil)).Elem()
 73790  }
 73791  
 73792  // An attempt is being made to copy a virtual machine's disk that has
 73793  // associated snapshots, and preserving the snapshots is not supported by the
 73794  // host under any circumstances.
 73795  //
 73796  // This is a warning.
 73797  type SnapshotCloneNotSupported struct {
 73798  	SnapshotCopyNotSupported
 73799  }
 73800  
 73801  func init() {
 73802  	t["SnapshotCloneNotSupported"] = reflect.TypeOf((*SnapshotCloneNotSupported)(nil)).Elem()
 73803  }
 73804  
 73805  type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported
 73806  
 73807  func init() {
 73808  	t["SnapshotCloneNotSupportedFault"] = reflect.TypeOf((*SnapshotCloneNotSupportedFault)(nil)).Elem()
 73809  }
 73810  
 73811  // An attempt is being made to move or copy a virtual machine's disk that has
 73812  // associated snapshots, and preserving the snapshots is not supported
 73813  // because of some aspect of the virtual machine configuration, virtual
 73814  // machine power state, or the requested disk placement.
 73815  //
 73816  // This is an error
 73817  // for move operations (where the source is deleted after the copy) and a
 73818  // warning for clones (where the source is preserved).
 73819  type SnapshotCopyNotSupported struct {
 73820  	MigrationFault
 73821  }
 73822  
 73823  func init() {
 73824  	t["SnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem()
 73825  }
 73826  
 73827  type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported
 73828  
 73829  func init() {
 73830  	t["SnapshotCopyNotSupportedFault"] = reflect.TypeOf((*SnapshotCopyNotSupportedFault)(nil)).Elem()
 73831  }
 73832  
 73833  // Fault thrown if a snapshot operation cannot be performed because
 73834  // snapshots are disabled on the virtual machine.
 73835  type SnapshotDisabled struct {
 73836  	SnapshotFault
 73837  }
 73838  
 73839  func init() {
 73840  	t["SnapshotDisabled"] = reflect.TypeOf((*SnapshotDisabled)(nil)).Elem()
 73841  }
 73842  
 73843  type SnapshotDisabledFault SnapshotDisabled
 73844  
 73845  func init() {
 73846  	t["SnapshotDisabledFault"] = reflect.TypeOf((*SnapshotDisabledFault)(nil)).Elem()
 73847  }
 73848  
 73849  // Base type for Snapshot-related errors.
 73850  type SnapshotFault struct {
 73851  	VimFault
 73852  }
 73853  
 73854  func init() {
 73855  	t["SnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem()
 73856  }
 73857  
 73858  type SnapshotFaultFault BaseSnapshotFault
 73859  
 73860  func init() {
 73861  	t["SnapshotFaultFault"] = reflect.TypeOf((*SnapshotFaultFault)(nil)).Elem()
 73862  }
 73863  
 73864  // Thrown if a snapshot operation cannot be performed on account
 73865  // of an incompatible device.
 73866  //
 73867  // This fault can be thrown for instance
 73868  // if a virtual machine uses a raw disk or a shared bus controller.
 73869  type SnapshotIncompatibleDeviceInVm struct {
 73870  	SnapshotFault
 73871  
 73872  	// A fault specifies the particular device issue.
 73873  	//
 73874  	// This is typically
 73875  	// a subclass of VirtualHardwareCompatibilityIssue, such as
 73876  	// RawDiskNotSupported, or SharedBusControllerNotSupported.
 73877  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 73878  }
 73879  
 73880  func init() {
 73881  	t["SnapshotIncompatibleDeviceInVm"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVm)(nil)).Elem()
 73882  }
 73883  
 73884  type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm
 73885  
 73886  func init() {
 73887  	t["SnapshotIncompatibleDeviceInVmFault"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVmFault)(nil)).Elem()
 73888  }
 73889  
 73890  // Fault thrown when an attempt is made to create or delete a snapshot on a
 73891  // virtual machine that has its snapshot locked.
 73892  type SnapshotLocked struct {
 73893  	SnapshotFault
 73894  }
 73895  
 73896  func init() {
 73897  	t["SnapshotLocked"] = reflect.TypeOf((*SnapshotLocked)(nil)).Elem()
 73898  }
 73899  
 73900  type SnapshotLockedFault SnapshotLocked
 73901  
 73902  func init() {
 73903  	t["SnapshotLockedFault"] = reflect.TypeOf((*SnapshotLockedFault)(nil)).Elem()
 73904  }
 73905  
 73906  // An attempt is being made to move a virtual machine's disk that has
 73907  // associated snapshots, and preserving the snapshots is not supported by the
 73908  // host because the disk is currently located somewhere other than the virtual
 73909  // machine's home datastore.
 73910  type SnapshotMoveFromNonHomeNotSupported struct {
 73911  	SnapshotCopyNotSupported
 73912  }
 73913  
 73914  func init() {
 73915  	t["SnapshotMoveFromNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupported)(nil)).Elem()
 73916  }
 73917  
 73918  type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported
 73919  
 73920  func init() {
 73921  	t["SnapshotMoveFromNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupportedFault)(nil)).Elem()
 73922  }
 73923  
 73924  // An attempt is being made to move a virtual machine's disk that has
 73925  // associated snapshots, and preserving the snapshots is not supported by the
 73926  // host under any circumstances.
 73927  type SnapshotMoveNotSupported struct {
 73928  	SnapshotCopyNotSupported
 73929  }
 73930  
 73931  func init() {
 73932  	t["SnapshotMoveNotSupported"] = reflect.TypeOf((*SnapshotMoveNotSupported)(nil)).Elem()
 73933  }
 73934  
 73935  type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported
 73936  
 73937  func init() {
 73938  	t["SnapshotMoveNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveNotSupportedFault)(nil)).Elem()
 73939  }
 73940  
 73941  // An attempt is being made to move a virtual machine's disk that has
 73942  // associated snapshots, and preserving the snapshots is not supported by the
 73943  // host because the disk is being moved to some location other than the new
 73944  // home datastore for the virtual machine.
 73945  type SnapshotMoveToNonHomeNotSupported struct {
 73946  	SnapshotCopyNotSupported
 73947  }
 73948  
 73949  func init() {
 73950  	t["SnapshotMoveToNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupported)(nil)).Elem()
 73951  }
 73952  
 73953  type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported
 73954  
 73955  func init() {
 73956  	t["SnapshotMoveToNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupportedFault)(nil)).Elem()
 73957  }
 73958  
 73959  // This fault is for a snapshot request on a virtual machine whose state
 73960  // has not changed since a previous successful snapshot.
 73961  //
 73962  // For example, this
 73963  // occurs when you suspend the virtual machine, create a snapshot, and
 73964  // then request another snapshot of the suspended virtual machine.
 73965  type SnapshotNoChange struct {
 73966  	SnapshotFault
 73967  }
 73968  
 73969  func init() {
 73970  	t["SnapshotNoChange"] = reflect.TypeOf((*SnapshotNoChange)(nil)).Elem()
 73971  }
 73972  
 73973  type SnapshotNoChangeFault SnapshotNoChange
 73974  
 73975  func init() {
 73976  	t["SnapshotNoChangeFault"] = reflect.TypeOf((*SnapshotNoChangeFault)(nil)).Elem()
 73977  }
 73978  
 73979  // If the virtual machine is migrated to the destination host, there may be
 73980  // a problem reverting to one of its snapshots.
 73981  //
 73982  // This is a warning. If the
 73983  // snapshot name is not set and the event array is empty, then it the snapshot
 73984  // might possibly revert correctly. If the name is set and the event array is not
 73985  // empty then there surely will be a problem reverting to the snapshot.
 73986  type SnapshotRevertIssue struct {
 73987  	MigrationFault
 73988  
 73989  	// The name of the problematic snapshot.
 73990  	SnapshotName string `xml:"snapshotName,omitempty" json:"snapshotName,omitempty"`
 73991  	// The problem(s) that would occur on reverting to the snapshot.
 73992  	//
 73993  	// This
 73994  	// is determined similarly to invoking validateMigration on a powered-off
 73995  	// virtual machine with the snapshot's state. However, not all errors
 73996  	// or warnings for virtual machine migration are guaranteed to be
 73997  	// detected for snapshots.
 73998  	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
 73999  	// True if any of the events above are error events.
 74000  	Errors bool `xml:"errors" json:"errors"`
 74001  }
 74002  
 74003  func init() {
 74004  	t["SnapshotRevertIssue"] = reflect.TypeOf((*SnapshotRevertIssue)(nil)).Elem()
 74005  }
 74006  
 74007  type SnapshotRevertIssueFault SnapshotRevertIssue
 74008  
 74009  func init() {
 74010  	t["SnapshotRevertIssueFault"] = reflect.TypeOf((*SnapshotRevertIssueFault)(nil)).Elem()
 74011  }
 74012  
 74013  // This data type defines the filtering specification for removing snapshots
 74014  // from virtual machine.
 74015  type SnapshotSelectionSpec struct {
 74016  	DynamicData
 74017  
 74018  	// This is the property to select snapshots older than X days.
 74019  	RetentionDays int32 `xml:"retentionDays,omitempty" json:"retentionDays,omitempty"`
 74020  }
 74021  
 74022  func init() {
 74023  	t["SnapshotSelectionSpec"] = reflect.TypeOf((*SnapshotSelectionSpec)(nil)).Elem()
 74024  	minAPIVersionForType["SnapshotSelectionSpec"] = "8.0.3.0"
 74025  }
 74026  
 74027  // The current DRS migration priority setting prevents generating
 74028  // a recommendation to correct the soft VM/Host affinity rules constraint
 74029  // violation for the VM so the violation will not be corrected.
 74030  type SoftRuleVioCorrectionDisallowed struct {
 74031  	VmConfigFault
 74032  
 74033  	// The vm for which the VM/Host soft affinity rules constraint violation
 74034  	// is not being corrected by DRS.
 74035  	VmName string `xml:"vmName" json:"vmName"`
 74036  }
 74037  
 74038  func init() {
 74039  	t["SoftRuleVioCorrectionDisallowed"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowed)(nil)).Elem()
 74040  }
 74041  
 74042  type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed
 74043  
 74044  func init() {
 74045  	t["SoftRuleVioCorrectionDisallowedFault"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowedFault)(nil)).Elem()
 74046  }
 74047  
 74048  // DRS has determined that correcting the soft VM/Host affinity rules
 74049  // constraint violation for the VM impacts respecting cluster constraints
 74050  // or performance goals so the violation will not be corrected.
 74051  type SoftRuleVioCorrectionImpact struct {
 74052  	VmConfigFault
 74053  
 74054  	// The vm for which the VM/Host soft affinity rules constraint violation
 74055  	// is not being corrected by DRS.
 74056  	VmName string `xml:"vmName" json:"vmName"`
 74057  }
 74058  
 74059  func init() {
 74060  	t["SoftRuleVioCorrectionImpact"] = reflect.TypeOf((*SoftRuleVioCorrectionImpact)(nil)).Elem()
 74061  }
 74062  
 74063  type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact
 74064  
 74065  func init() {
 74066  	t["SoftRuleVioCorrectionImpactFault"] = reflect.TypeOf((*SoftRuleVioCorrectionImpactFault)(nil)).Elem()
 74067  }
 74068  
 74069  // Software Packages provide discrete version and packaging.
 74070  //
 74071  // This data is reported by CLI:: esxcli software vib get -n ...
 74072  type SoftwarePackage struct {
 74073  	DynamicData
 74074  
 74075  	// Identifier that uniquely identifies the software package.
 74076  	Name string `xml:"name" json:"name"`
 74077  	// Version string uniquely identifies this package.
 74078  	Version string `xml:"version" json:"version"`
 74079  	// Type of vib installed.
 74080  	//
 74081  	// See `SoftwarePackageVibType_enum`.
 74082  	Type string `xml:"type" json:"type"`
 74083  	// The corporate entity that created this package.
 74084  	Vendor string `xml:"vendor" json:"vendor"`
 74085  	// See also `HostImageAcceptanceLevel_enum`.
 74086  	AcceptanceLevel string `xml:"acceptanceLevel" json:"acceptanceLevel"`
 74087  	// A brief description of the package contents.
 74088  	Summary string `xml:"summary" json:"summary"`
 74089  	// A full account of the package contents.
 74090  	Description string `xml:"description" json:"description"`
 74091  	// The list of SupportReference objects with in-depth support information.
 74092  	ReferenceURL []string `xml:"referenceURL,omitempty" json:"referenceURL,omitempty"`
 74093  	// The time when the package was installed.
 74094  	//
 74095  	// On Autodeploy stateless installs
 74096  	// there is no set value.
 74097  	CreationDate *time.Time `xml:"creationDate" json:"creationDate,omitempty"`
 74098  	// A list of VIBs that must be installed at the same time as this VIB.
 74099  	Depends []Relation `xml:"depends,omitempty" json:"depends,omitempty"`
 74100  	// A list of VIBs that cannot be installed at the same time as
 74101  	// this VIB for a given version.
 74102  	Conflicts []Relation `xml:"conflicts,omitempty" json:"conflicts,omitempty"`
 74103  	// A list of SoftwareConstraint objects that identify VIBs that
 74104  	// replace this VIB or make it obsolete.
 74105  	//
 74106  	// VIBs automatically replace VIBs with
 74107  	// the same name but lower versions.
 74108  	Replaces []Relation `xml:"replaces,omitempty" json:"replaces,omitempty"`
 74109  	// A list of virtual packages or interfaces this VIB provides.
 74110  	Provides []string `xml:"provides,omitempty" json:"provides,omitempty"`
 74111  	// True if hosts must be in maintenance mode for installation of this VIB.
 74112  	MaintenanceModeRequired *bool `xml:"maintenanceModeRequired" json:"maintenanceModeRequired,omitempty"`
 74113  	// A list of hardware platforms this package is supported on.
 74114  	HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty" json:"hardwarePlatformsRequired,omitempty"`
 74115  	// A set of optional attributes for this package.
 74116  	Capability SoftwarePackageCapability `xml:"capability" json:"capability"`
 74117  	// A list of string tags for this package defined by the vendor
 74118  	// or publisher.
 74119  	//
 74120  	// Tags can be used to identify characteristics of a package.
 74121  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 74122  	// A list of string tags to indicate one or more of what is
 74123  	// contained: may be one of bootloader, upgrade, bootisobios, bootisoefi,
 74124  	// vgz, tgz, boot or other values.
 74125  	Payload []string `xml:"payload,omitempty" json:"payload,omitempty"`
 74126  }
 74127  
 74128  func init() {
 74129  	t["SoftwarePackage"] = reflect.TypeOf((*SoftwarePackage)(nil)).Elem()
 74130  }
 74131  
 74132  type SoftwarePackageCapability struct {
 74133  	DynamicData
 74134  
 74135  	// True if live installs of this VIB are supported.
 74136  	LiveInstallAllowed *bool `xml:"liveInstallAllowed" json:"liveInstallAllowed,omitempty"`
 74137  	// True if live removals of this VIB are supported.
 74138  	LiveRemoveAllowed *bool `xml:"liveRemoveAllowed" json:"liveRemoveAllowed,omitempty"`
 74139  	// True if the package supports host profiles or other technologies
 74140  	// that make it suitable for use in conjunction with vSphere Auto Deploy.
 74141  	StatelessReady *bool `xml:"statelessReady" json:"statelessReady,omitempty"`
 74142  	// True if this vib will supplant files from another package at runtime.
 74143  	//
 74144  	// When False this prevents two packages from installing the same file.
 74145  	Overlay *bool `xml:"overlay" json:"overlay,omitempty"`
 74146  }
 74147  
 74148  func init() {
 74149  	t["SoftwarePackageCapability"] = reflect.TypeOf((*SoftwarePackageCapability)(nil)).Elem()
 74150  }
 74151  
 74152  // Thrown when an operation is denied because the entity
 74153  // invoking it is not a Solution User.
 74154  type SolutionUserRequired struct {
 74155  	SecurityError
 74156  }
 74157  
 74158  func init() {
 74159  	t["SolutionUserRequired"] = reflect.TypeOf((*SolutionUserRequired)(nil)).Elem()
 74160  }
 74161  
 74162  type SolutionUserRequiredFault SolutionUserRequired
 74163  
 74164  func init() {
 74165  	t["SolutionUserRequiredFault"] = reflect.TypeOf((*SolutionUserRequiredFault)(nil)).Elem()
 74166  }
 74167  
 74168  // The SourceNodeSpec class defines specification of
 74169  // the source node that is used to initiate the configuration or
 74170  // deployment for VCHA.
 74171  type SourceNodeSpec struct {
 74172  	DynamicData
 74173  
 74174  	// Credentials for the management vCenter Server that is managing
 74175  	// this node.
 74176  	ManagementVc ServiceLocator `xml:"managementVc" json:"managementVc"`
 74177  	// VirtualMachine reference for this vCenter Server.
 74178  	//
 74179  	// Refers instance of `VirtualMachine`.
 74180  	ActiveVc ManagedObjectReference `xml:"activeVc" json:"activeVc"`
 74181  }
 74182  
 74183  func init() {
 74184  	t["SourceNodeSpec"] = reflect.TypeOf((*SourceNodeSpec)(nil)).Elem()
 74185  }
 74186  
 74187  // A SsdDiskNotAvailable fault indicating that the specified SSD
 74188  // disk is not available.
 74189  //
 74190  // The disk either has been used or not a
 74191  // SSD disk.
 74192  type SsdDiskNotAvailable struct {
 74193  	VimFault
 74194  
 74195  	// The device path of the disk.
 74196  	//
 74197  	// See also `HostScsiDisk.devicePath`.
 74198  	DevicePath string `xml:"devicePath" json:"devicePath"`
 74199  }
 74200  
 74201  func init() {
 74202  	t["SsdDiskNotAvailable"] = reflect.TypeOf((*SsdDiskNotAvailable)(nil)).Elem()
 74203  }
 74204  
 74205  type SsdDiskNotAvailableFault SsdDiskNotAvailable
 74206  
 74207  func init() {
 74208  	t["SsdDiskNotAvailableFault"] = reflect.TypeOf((*SsdDiskNotAvailableFault)(nil)).Elem()
 74209  }
 74210  
 74211  // The parameters of `HostPatchManager.StageHostPatch_Task`.
 74212  type StageHostPatchRequestType struct {
 74213  	This ManagedObjectReference `xml:"_this" json:"-"`
 74214  	// A list of urls pointing to metadata.zip.
 74215  	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
 74216  	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
 74217  	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
 74218  	// The urls of update binary files to be staged.
 74219  	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
 74220  	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 74221  }
 74222  
 74223  func init() {
 74224  	t["StageHostPatchRequestType"] = reflect.TypeOf((*StageHostPatchRequestType)(nil)).Elem()
 74225  }
 74226  
 74227  type StageHostPatch_Task StageHostPatchRequestType
 74228  
 74229  func init() {
 74230  	t["StageHostPatch_Task"] = reflect.TypeOf((*StageHostPatch_Task)(nil)).Elem()
 74231  }
 74232  
 74233  type StageHostPatch_TaskResponse struct {
 74234  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74235  }
 74236  
 74237  type StampAllRulesWithUuidRequestType struct {
 74238  	This ManagedObjectReference `xml:"_this" json:"-"`
 74239  }
 74240  
 74241  func init() {
 74242  	t["StampAllRulesWithUuidRequestType"] = reflect.TypeOf((*StampAllRulesWithUuidRequestType)(nil)).Elem()
 74243  }
 74244  
 74245  type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType
 74246  
 74247  func init() {
 74248  	t["StampAllRulesWithUuid_Task"] = reflect.TypeOf((*StampAllRulesWithUuid_Task)(nil)).Elem()
 74249  }
 74250  
 74251  type StampAllRulesWithUuid_TaskResponse struct {
 74252  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74253  }
 74254  
 74255  type StandbyGuest StandbyGuestRequestType
 74256  
 74257  func init() {
 74258  	t["StandbyGuest"] = reflect.TypeOf((*StandbyGuest)(nil)).Elem()
 74259  }
 74260  
 74261  type StandbyGuestRequestType struct {
 74262  	This ManagedObjectReference `xml:"_this" json:"-"`
 74263  }
 74264  
 74265  func init() {
 74266  	t["StandbyGuestRequestType"] = reflect.TypeOf((*StandbyGuestRequestType)(nil)).Elem()
 74267  }
 74268  
 74269  type StandbyGuestResponse struct {
 74270  }
 74271  
 74272  // The parameters of `VirtualMachineGuestCustomizationManager.StartGuestNetwork_Task`.
 74273  type StartGuestNetworkRequestType struct {
 74274  	This ManagedObjectReference `xml:"_this" json:"-"`
 74275  	// The Virtual Machine managed object reference.
 74276  	//
 74277  	// Refers instance of `VirtualMachine`.
 74278  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 74279  	// The guest authentication data. See
 74280  	// `GuestAuthentication`.
 74281  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 74282  }
 74283  
 74284  func init() {
 74285  	t["StartGuestNetworkRequestType"] = reflect.TypeOf((*StartGuestNetworkRequestType)(nil)).Elem()
 74286  }
 74287  
 74288  type StartGuestNetwork_Task StartGuestNetworkRequestType
 74289  
 74290  func init() {
 74291  	t["StartGuestNetwork_Task"] = reflect.TypeOf((*StartGuestNetwork_Task)(nil)).Elem()
 74292  }
 74293  
 74294  type StartGuestNetwork_TaskResponse struct {
 74295  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74296  }
 74297  
 74298  type StartProgramInGuest StartProgramInGuestRequestType
 74299  
 74300  func init() {
 74301  	t["StartProgramInGuest"] = reflect.TypeOf((*StartProgramInGuest)(nil)).Elem()
 74302  }
 74303  
 74304  // The parameters of `GuestProcessManager.StartProgramInGuest`.
 74305  type StartProgramInGuestRequestType struct {
 74306  	This ManagedObjectReference `xml:"_this" json:"-"`
 74307  	// Virtual machine to perform the operation on.
 74308  	//
 74309  	// Required privileges: VirtualMachine.GuestOperations.Execute
 74310  	//
 74311  	// Refers instance of `VirtualMachine`.
 74312  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 74313  	// The guest authentication data. See
 74314  	// `GuestAuthentication`.
 74315  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 74316  	// The arguments describing the program to be started.
 74317  	Spec BaseGuestProgramSpec `xml:"spec,typeattr" json:"spec"`
 74318  }
 74319  
 74320  func init() {
 74321  	t["StartProgramInGuestRequestType"] = reflect.TypeOf((*StartProgramInGuestRequestType)(nil)).Elem()
 74322  }
 74323  
 74324  type StartProgramInGuestResponse struct {
 74325  	Returnval int64 `xml:"returnval" json:"returnval"`
 74326  }
 74327  
 74328  // The parameters of `VirtualMachine.StartRecording_Task`.
 74329  type StartRecordingRequestType struct {
 74330  	This ManagedObjectReference `xml:"_this" json:"-"`
 74331  	// The name for the snapshot associated with this recording.
 74332  	// The name need not be unique for this virtual machine.
 74333  	Name string `xml:"name" json:"name"`
 74334  	// A description for the snapshot associated with this
 74335  	// recording. If omitted, a default description may be provided.
 74336  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 74337  }
 74338  
 74339  func init() {
 74340  	t["StartRecordingRequestType"] = reflect.TypeOf((*StartRecordingRequestType)(nil)).Elem()
 74341  }
 74342  
 74343  type StartRecording_Task StartRecordingRequestType
 74344  
 74345  func init() {
 74346  	t["StartRecording_Task"] = reflect.TypeOf((*StartRecording_Task)(nil)).Elem()
 74347  }
 74348  
 74349  type StartRecording_TaskResponse struct {
 74350  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74351  }
 74352  
 74353  // The parameters of `VirtualMachine.StartReplaying_Task`.
 74354  type StartReplayingRequestType struct {
 74355  	This ManagedObjectReference `xml:"_this" json:"-"`
 74356  	// The snapshot from which to start the replay. This
 74357  	// snapshot must have been created by a record operation on the
 74358  	// virtual machine.
 74359  	//
 74360  	// Refers instance of `VirtualMachineSnapshot`.
 74361  	ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot" json:"replaySnapshot"`
 74362  }
 74363  
 74364  func init() {
 74365  	t["StartReplayingRequestType"] = reflect.TypeOf((*StartReplayingRequestType)(nil)).Elem()
 74366  }
 74367  
 74368  type StartReplaying_Task StartReplayingRequestType
 74369  
 74370  func init() {
 74371  	t["StartReplaying_Task"] = reflect.TypeOf((*StartReplaying_Task)(nil)).Elem()
 74372  }
 74373  
 74374  type StartReplaying_TaskResponse struct {
 74375  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74376  }
 74377  
 74378  type StartService StartServiceRequestType
 74379  
 74380  func init() {
 74381  	t["StartService"] = reflect.TypeOf((*StartService)(nil)).Elem()
 74382  }
 74383  
 74384  // The parameters of `HostServiceSystem.StartService`.
 74385  type StartServiceRequestType struct {
 74386  	This ManagedObjectReference `xml:"_this" json:"-"`
 74387  	// Service identifier
 74388  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 74389  	Id string `xml:"id" json:"id"`
 74390  }
 74391  
 74392  func init() {
 74393  	t["StartServiceRequestType"] = reflect.TypeOf((*StartServiceRequestType)(nil)).Elem()
 74394  }
 74395  
 74396  type StartServiceResponse struct {
 74397  }
 74398  
 74399  // An alarm expression that uses the running state of either a virtual machine or
 74400  // a host as the condition that triggers the alarm.
 74401  //
 74402  // Base type.
 74403  //
 74404  // There are two alarm operands: yellow and red. At least one of them
 74405  // must be set. The value of the alarm expression is determined as follows:
 74406  //   - If the red state is set but the yellow state is not: the expression is red when
 74407  //     the state operand matches (isEqual operator) or does not match (isUnequal operator)
 74408  //     the state of the managed entity. The expression is green otherwise.
 74409  //   - If yellow is set but red is not: the expression is yellow when
 74410  //     the state operand matches (isEqual) or does not match (isUnequal)
 74411  //     the state of the managed entity. The expression is green otherwise.
 74412  //   - If both yellow and red are set, the value of the expression is red when
 74413  //     the red state operand matches (isEqual) or does not match (isUnequal)
 74414  //     the state of the managed entity. Otherwise, the expression is
 74415  //     yellow when the yellow state operand matches (isEqual) or does not match (isUnequal)
 74416  //     the state of the managed entity. Otherwise, the expression is green.
 74417  type StateAlarmExpression struct {
 74418  	AlarmExpression
 74419  
 74420  	// The operation to be tested on the target state.
 74421  	Operator StateAlarmOperator `xml:"operator" json:"operator"`
 74422  	// Name of the object type containing the property.
 74423  	Type string `xml:"type" json:"type"`
 74424  	// Path of the state property.
 74425  	//
 74426  	// The supported values:
 74427  	//   - for vim.VirtualMachine type:
 74428  	//   - runtime.powerState or summary.quickStats.guestHeartbeatStatus
 74429  	//   - for vim.HostSystem type: runtime.connectionState
 74430  	StatePath string `xml:"statePath" json:"statePath"`
 74431  	// Whether or not to test for a yellow condition.
 74432  	//
 74433  	// If this property is not set, do not calculate yellow status.
 74434  	Yellow string `xml:"yellow,omitempty" json:"yellow,omitempty"`
 74435  	// Whether or not to test for a red condition.
 74436  	//
 74437  	// If this property is not set, do not calculate red status.
 74438  	Red string `xml:"red,omitempty" json:"red,omitempty"`
 74439  }
 74440  
 74441  func init() {
 74442  	t["StateAlarmExpression"] = reflect.TypeOf((*StateAlarmExpression)(nil)).Elem()
 74443  }
 74444  
 74445  // The `StaticRouteProfile` data object represents a single static IP route.
 74446  //
 74447  // The `ApplyProfile.policy` property contains
 74448  // data values for static route configuration.
 74449  type StaticRouteProfile struct {
 74450  	ApplyProfile
 74451  
 74452  	// Linkable identifier.
 74453  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 74454  }
 74455  
 74456  func init() {
 74457  	t["StaticRouteProfile"] = reflect.TypeOf((*StaticRouteProfile)(nil)).Elem()
 74458  }
 74459  
 74460  type StopRecordingRequestType struct {
 74461  	This ManagedObjectReference `xml:"_this" json:"-"`
 74462  }
 74463  
 74464  func init() {
 74465  	t["StopRecordingRequestType"] = reflect.TypeOf((*StopRecordingRequestType)(nil)).Elem()
 74466  }
 74467  
 74468  type StopRecording_Task StopRecordingRequestType
 74469  
 74470  func init() {
 74471  	t["StopRecording_Task"] = reflect.TypeOf((*StopRecording_Task)(nil)).Elem()
 74472  }
 74473  
 74474  type StopRecording_TaskResponse struct {
 74475  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74476  }
 74477  
 74478  type StopReplayingRequestType struct {
 74479  	This ManagedObjectReference `xml:"_this" json:"-"`
 74480  }
 74481  
 74482  func init() {
 74483  	t["StopReplayingRequestType"] = reflect.TypeOf((*StopReplayingRequestType)(nil)).Elem()
 74484  }
 74485  
 74486  type StopReplaying_Task StopReplayingRequestType
 74487  
 74488  func init() {
 74489  	t["StopReplaying_Task"] = reflect.TypeOf((*StopReplaying_Task)(nil)).Elem()
 74490  }
 74491  
 74492  type StopReplaying_TaskResponse struct {
 74493  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 74494  }
 74495  
 74496  type StopService StopServiceRequestType
 74497  
 74498  func init() {
 74499  	t["StopService"] = reflect.TypeOf((*StopService)(nil)).Elem()
 74500  }
 74501  
 74502  // The parameters of `HostServiceSystem.StopService`.
 74503  type StopServiceRequestType struct {
 74504  	This ManagedObjectReference `xml:"_this" json:"-"`
 74505  	// Service identifier
 74506  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 74507  	Id string `xml:"id" json:"id"`
 74508  }
 74509  
 74510  func init() {
 74511  	t["StopServiceRequestType"] = reflect.TypeOf((*StopServiceRequestType)(nil)).Elem()
 74512  }
 74513  
 74514  type StopServiceResponse struct {
 74515  }
 74516  
 74517  // Storage DRS fine grain automation controls
 74518  type StorageDrsAutomationConfig struct {
 74519  	DynamicData
 74520  
 74521  	// Specifies the behavior of Storage DRS when it generates
 74522  	// recommendations for correcting space load imbalance in a
 74523  	// datastore cluster.
 74524  	//
 74525  	// See `StorageDrsPodConfigInfo`. If specified, this option
 74526  	// overrides the datastore cluster level automation behavior defined in the
 74527  	// `StorageDrsPodConfigInfo`.
 74528  	SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty" json:"spaceLoadBalanceAutomationMode,omitempty"`
 74529  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 74530  	//
 74531  	// Specifies the behavior of Storage DRS when it generates
 74532  	// recommendations for correcting I/O load imbalance in a datastore
 74533  	// cluster.
 74534  	//
 74535  	// See `StorageDrsPodConfigInfo`. If specified, this option
 74536  	// overrides the datastore cluster level automation behavior defined in the
 74537  	// `StorageDrsPodConfigInfo`.
 74538  	IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty" json:"ioLoadBalanceAutomationMode,omitempty"`
 74539  	// Specifies the behavior of Storage DRS when it generates
 74540  	// recommendations for correcting affinity rule violations in a
 74541  	// datastore cluster.
 74542  	//
 74543  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 74544  	// specified, this option overrides the datastore cluster level
 74545  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 74546  	// recommendations aimed at fixing rule violations.
 74547  	RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty" json:"ruleEnforcementAutomationMode,omitempty"`
 74548  	// Specifies the behavior of Storage DRS when it generates
 74549  	// recommendations for correcting storage and Vm policy violations
 74550  	// in a datastore cluster.
 74551  	//
 74552  	// See `StorageDrsPodConfigInfoBehavior_enum`. If
 74553  	// specified, this option overrides the datastore cluster level
 74554  	// automation behavior defined in the `StorageDrsPodConfigInfo` for
 74555  	// recommendations aimed at fixing storage policy violations.
 74556  	PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty" json:"policyEnforcementAutomationMode,omitempty"`
 74557  	// Specifies the behavior of Storage DRS when it generates
 74558  	// recommendations for datastore evacuations in a datastore
 74559  	// cluster.
 74560  	//
 74561  	// See `StorageDrsPodConfigInfoBehavior_enum`. If specified, this
 74562  	// option overrides the datastore cluster level automation behavior
 74563  	// defined in the `StorageDrsPodConfigInfo` for recommendations aimed at
 74564  	// evacuating Vms from a datastore.
 74565  	VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty" json:"vmEvacuationAutomationMode,omitempty"`
 74566  }
 74567  
 74568  func init() {
 74569  	t["StorageDrsAutomationConfig"] = reflect.TypeOf((*StorageDrsAutomationConfig)(nil)).Elem()
 74570  }
 74571  
 74572  // This fault is thrown because Storage DRS cannot generate recommendations
 74573  // to relocate one or more virtual disks of a VM because the disk has
 74574  // multi-writer mode enabled.
 74575  type StorageDrsCannotMoveDiskInMultiWriterMode struct {
 74576  	VimFault
 74577  }
 74578  
 74579  func init() {
 74580  	t["StorageDrsCannotMoveDiskInMultiWriterMode"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterMode)(nil)).Elem()
 74581  }
 74582  
 74583  type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode
 74584  
 74585  func init() {
 74586  	t["StorageDrsCannotMoveDiskInMultiWriterModeFault"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterModeFault)(nil)).Elem()
 74587  }
 74588  
 74589  // This fault is thrown because Storage DRS cannot generate recommendations
 74590  // to relocate Fault Tolerant VMs across datastores.
 74591  type StorageDrsCannotMoveFTVm struct {
 74592  	VimFault
 74593  }
 74594  
 74595  func init() {
 74596  	t["StorageDrsCannotMoveFTVm"] = reflect.TypeOf((*StorageDrsCannotMoveFTVm)(nil)).Elem()
 74597  }
 74598  
 74599  type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm
 74600  
 74601  func init() {
 74602  	t["StorageDrsCannotMoveFTVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveFTVmFault)(nil)).Elem()
 74603  }
 74604  
 74605  // This fault is thrown because Storage DRS cannot generate recommendations
 74606  // to relocate an independent disk.
 74607  type StorageDrsCannotMoveIndependentDisk struct {
 74608  	VimFault
 74609  }
 74610  
 74611  func init() {
 74612  	t["StorageDrsCannotMoveIndependentDisk"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDisk)(nil)).Elem()
 74613  }
 74614  
 74615  type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk
 74616  
 74617  func init() {
 74618  	t["StorageDrsCannotMoveIndependentDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDiskFault)(nil)).Elem()
 74619  }
 74620  
 74621  // This fault is thrown because Storage DRS cannot generate recommendations
 74622  // to relocate VM because it has a manually selected fixed location for its
 74623  // swap file.
 74624  type StorageDrsCannotMoveManuallyPlacedSwapFile struct {
 74625  	VimFault
 74626  }
 74627  
 74628  func init() {
 74629  	t["StorageDrsCannotMoveManuallyPlacedSwapFile"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFile)(nil)).Elem()
 74630  }
 74631  
 74632  type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile
 74633  
 74634  func init() {
 74635  	t["StorageDrsCannotMoveManuallyPlacedSwapFileFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFileFault)(nil)).Elem()
 74636  }
 74637  
 74638  // This fault is thrown because Storage DRS cannot generate recommendations
 74639  // to relocate a Vm that is placed by user to a specific datastore.
 74640  type StorageDrsCannotMoveManuallyPlacedVm struct {
 74641  	VimFault
 74642  }
 74643  
 74644  func init() {
 74645  	t["StorageDrsCannotMoveManuallyPlacedVm"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVm)(nil)).Elem()
 74646  }
 74647  
 74648  type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm
 74649  
 74650  func init() {
 74651  	t["StorageDrsCannotMoveManuallyPlacedVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVmFault)(nil)).Elem()
 74652  }
 74653  
 74654  // This fault is thrown because Storage DRS cannot generate recommendations
 74655  // to relocate a shared virtual disk that is attached to more than one Vm.
 74656  type StorageDrsCannotMoveSharedDisk struct {
 74657  	VimFault
 74658  }
 74659  
 74660  func init() {
 74661  	t["StorageDrsCannotMoveSharedDisk"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDisk)(nil)).Elem()
 74662  }
 74663  
 74664  type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk
 74665  
 74666  func init() {
 74667  	t["StorageDrsCannotMoveSharedDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDiskFault)(nil)).Elem()
 74668  }
 74669  
 74670  // This fault is thrown because Storage DRS cannot generate recommendations
 74671  // to relocate template VMs across datastores.
 74672  type StorageDrsCannotMoveTemplate struct {
 74673  	VimFault
 74674  }
 74675  
 74676  func init() {
 74677  	t["StorageDrsCannotMoveTemplate"] = reflect.TypeOf((*StorageDrsCannotMoveTemplate)(nil)).Elem()
 74678  }
 74679  
 74680  type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate
 74681  
 74682  func init() {
 74683  	t["StorageDrsCannotMoveTemplateFault"] = reflect.TypeOf((*StorageDrsCannotMoveTemplateFault)(nil)).Elem()
 74684  }
 74685  
 74686  // This fault is thrown because Storage DRS cannot generate recommendations
 74687  // to relocate VMs placed in user-specified folders.
 74688  type StorageDrsCannotMoveVmInUserFolder struct {
 74689  	VimFault
 74690  }
 74691  
 74692  func init() {
 74693  	t["StorageDrsCannotMoveVmInUserFolder"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolder)(nil)).Elem()
 74694  }
 74695  
 74696  type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder
 74697  
 74698  func init() {
 74699  	t["StorageDrsCannotMoveVmInUserFolderFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolderFault)(nil)).Elem()
 74700  }
 74701  
 74702  // This fault is thrown because Storage DRS cannot generate recommendations
 74703  // to relocate VMs that have a CD-ROM device mounted.
 74704  type StorageDrsCannotMoveVmWithMountedCDROM struct {
 74705  	VimFault
 74706  }
 74707  
 74708  func init() {
 74709  	t["StorageDrsCannotMoveVmWithMountedCDROM"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROM)(nil)).Elem()
 74710  }
 74711  
 74712  type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM
 74713  
 74714  func init() {
 74715  	t["StorageDrsCannotMoveVmWithMountedCDROMFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROMFault)(nil)).Elem()
 74716  }
 74717  
 74718  // This fault is thrown because Storage DRS cannot generate recommendations
 74719  // to relocate VMs that have no files in its file layout.
 74720  type StorageDrsCannotMoveVmWithNoFilesInLayout struct {
 74721  	VimFault
 74722  }
 74723  
 74724  func init() {
 74725  	t["StorageDrsCannotMoveVmWithNoFilesInLayout"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayout)(nil)).Elem()
 74726  }
 74727  
 74728  type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout
 74729  
 74730  func init() {
 74731  	t["StorageDrsCannotMoveVmWithNoFilesInLayoutFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayoutFault)(nil)).Elem()
 74732  }
 74733  
 74734  // The `StorageDrsConfigInfo` data object describes storage DRS configuration
 74735  // for a pod `StoragePod`.
 74736  type StorageDrsConfigInfo struct {
 74737  	DynamicData
 74738  
 74739  	// Pod-wide configuration of the storage DRS service.
 74740  	PodConfig StorageDrsPodConfigInfo `xml:"podConfig" json:"podConfig"`
 74741  	// List of virtual machine configurations for the storage DRS
 74742  	// service.
 74743  	//
 74744  	// Each entry applies to all the virtual disks of the virtual machine
 74745  	// on this pod.
 74746  	//
 74747  	// If a virtual machine is not specified in this array, the service uses
 74748  	// the default settings for that virtual machine.
 74749  	VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 74750  }
 74751  
 74752  func init() {
 74753  	t["StorageDrsConfigInfo"] = reflect.TypeOf((*StorageDrsConfigInfo)(nil)).Elem()
 74754  }
 74755  
 74756  // The `StorageDrsConfigSpec` data object provides a set of update
 74757  // specifications for storage DRS configuration.
 74758  //
 74759  // To support
 74760  // incremental changes, these properties are all optional.
 74761  type StorageDrsConfigSpec struct {
 74762  	DynamicData
 74763  
 74764  	// Changes to the configuration of the storage DRS service.
 74765  	PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty" json:"podConfigSpec,omitempty"`
 74766  	// Changes to the per-virtual-machine storage DRS settings.
 74767  	VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty" json:"vmConfigSpec,omitempty"`
 74768  }
 74769  
 74770  func init() {
 74771  	t["StorageDrsConfigSpec"] = reflect.TypeOf((*StorageDrsConfigSpec)(nil)).Elem()
 74772  }
 74773  
 74774  // This fault is thrown when one datastore using Storage DRS is added to two
 74775  // different datacenters.
 74776  type StorageDrsDatacentersCannotShareDatastore struct {
 74777  	VimFault
 74778  }
 74779  
 74780  func init() {
 74781  	t["StorageDrsDatacentersCannotShareDatastore"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastore)(nil)).Elem()
 74782  }
 74783  
 74784  type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore
 74785  
 74786  func init() {
 74787  	t["StorageDrsDatacentersCannotShareDatastoreFault"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastoreFault)(nil)).Elem()
 74788  }
 74789  
 74790  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 74791  // because Storage DRS is disabled on it.
 74792  type StorageDrsDisabledOnVm struct {
 74793  	VimFault
 74794  }
 74795  
 74796  func init() {
 74797  	t["StorageDrsDisabledOnVm"] = reflect.TypeOf((*StorageDrsDisabledOnVm)(nil)).Elem()
 74798  }
 74799  
 74800  type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm
 74801  
 74802  func init() {
 74803  	t["StorageDrsDisabledOnVmFault"] = reflect.TypeOf((*StorageDrsDisabledOnVmFault)(nil)).Elem()
 74804  }
 74805  
 74806  // This fault is thrown when HMS service cannot move certain secondary
 74807  // replica disks per Storage DRS move recommendations
 74808  type StorageDrsHbrDiskNotMovable struct {
 74809  	VimFault
 74810  
 74811  	// Comma-separated list of disk IDs that are not movable and failed
 74812  	// Storage DRS recommendation action.
 74813  	NonMovableDiskIds string `xml:"nonMovableDiskIds" json:"nonMovableDiskIds"`
 74814  }
 74815  
 74816  func init() {
 74817  	t["StorageDrsHbrDiskNotMovable"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovable)(nil)).Elem()
 74818  }
 74819  
 74820  type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable
 74821  
 74822  func init() {
 74823  	t["StorageDrsHbrDiskNotMovableFault"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovableFault)(nil)).Elem()
 74824  }
 74825  
 74826  // This fault is thrown HMS service is in the process of moving
 74827  // a subset of disks for which Storage DRS recommendation is generated.
 74828  type StorageDrsHmsMoveInProgress struct {
 74829  	VimFault
 74830  }
 74831  
 74832  func init() {
 74833  	t["StorageDrsHmsMoveInProgress"] = reflect.TypeOf((*StorageDrsHmsMoveInProgress)(nil)).Elem()
 74834  }
 74835  
 74836  type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress
 74837  
 74838  func init() {
 74839  	t["StorageDrsHmsMoveInProgressFault"] = reflect.TypeOf((*StorageDrsHmsMoveInProgressFault)(nil)).Elem()
 74840  }
 74841  
 74842  // This fault is thrown when Storage DRS cannot connect to HMS service
 74843  // or HMS APIs invoked by Storage DRS error out due to connection issues.
 74844  type StorageDrsHmsUnreachable struct {
 74845  	VimFault
 74846  }
 74847  
 74848  func init() {
 74849  	t["StorageDrsHmsUnreachable"] = reflect.TypeOf((*StorageDrsHmsUnreachable)(nil)).Elem()
 74850  }
 74851  
 74852  type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable
 74853  
 74854  func init() {
 74855  	t["StorageDrsHmsUnreachableFault"] = reflect.TypeOf((*StorageDrsHmsUnreachableFault)(nil)).Elem()
 74856  }
 74857  
 74858  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 74859  //
 74860  // Storage DRS configuration for I/O load balancing.
 74861  type StorageDrsIoLoadBalanceConfig struct {
 74862  	DynamicData
 74863  
 74864  	// Storage DRS makes storage migration recommendations if total
 74865  	// IOPs reservation of all VMs running on a datastore is higher than
 74866  	// the specified threshold.
 74867  	//
 74868  	// Storage DRS recommends migration out of
 74869  	// all such datastores, if more than one datastore exceed their reserved
 74870  	// IOPs threshold.
 74871  	//
 74872  	// The actual Iops used to determine threshold are computed from Storage
 74873  	// DRS estimation of IOPs capacity of a datastore. The absolute value
 74874  	// may change over time, according to storage response to workloads.
 74875  	//
 74876  	// The valid values are in the range of 30 (i.e., 30%) to 100 (i.e., 100%).
 74877  	// If not specified, the default value is 60%.
 74878  	ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty" json:"reservablePercentThreshold,omitempty"`
 74879  	// Storage DRS makes storage migration recommendations if total
 74880  	// IOPs reservation of all VMs running on a datastore is higher than
 74881  	// the specified threshold.
 74882  	//
 74883  	// Storage DRS recommends migration out of
 74884  	// all such datastores, if more than one datastore exceed their reserved
 74885  	// IOPs threshold.
 74886  	//
 74887  	// This is an advanced option, and should only be used if Storage DRS
 74888  	// estimated IOPs capacity is incorrect for datastores. The value
 74889  	// should be based on conservative estimate of storage performance,
 74890  	// and ideally should be set to about 50-60% of worse case peak
 74891  	// performance of backing LUN.
 74892  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 74893  	// Determines which reservation threshold specification to use.
 74894  	//
 74895  	// See `StorageDrsPodConfigInfoBehavior_enum`. If unspecified, the
 74896  	// mode is assumed automatic by default. Storage DRS uses
 74897  	// percentage value in that case.
 74898  	// If mode is specified, but corresponding reservationThreshold
 74899  	// value is absent, option specific defaults are used.
 74900  	ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty" json:"reservableThresholdMode,omitempty"`
 74901  	// Storage DRS makes storage migration recommendations if
 74902  	// I/O latency on one (or more) of the datastores is higher than
 74903  	// the specified threshold.
 74904  	//
 74905  	// Unit: millisecond.
 74906  	// The valid values are in the range of 5 to 100. If not specified,
 74907  	// the default value is 15.
 74908  	IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty" json:"ioLatencyThreshold,omitempty"`
 74909  	// Storage DRS makes storage migration recommendations if
 74910  	// I/O load imbalance level is higher than the specified threshold.
 74911  	//
 74912  	// Unit: a number.
 74913  	// The valid values are in the range of 1 to 100. If not specified,
 74914  	// the default value is 5.
 74915  	IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty" json:"ioLoadImbalanceThreshold,omitempty"`
 74916  }
 74917  
 74918  func init() {
 74919  	t["StorageDrsIoLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsIoLoadBalanceConfig)(nil)).Elem()
 74920  }
 74921  
 74922  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 74923  //
 74924  // The fault occurs when Storage DRS disables IO Load balancing internally
 74925  // even though it is enabled by the user.
 74926  //
 74927  // This can happen due to one of the
 74928  // following reasons:
 74929  // 1\. SIOC couldn't get enabled on at least one of the datastores
 74930  // 2\. The connectivity between hosts and datastores is not uniform for all datastores.
 74931  // 3\. Some statistics are not available to run IO load balancing
 74932  type StorageDrsIolbDisabledInternally struct {
 74933  	VimFault
 74934  }
 74935  
 74936  func init() {
 74937  	t["StorageDrsIolbDisabledInternally"] = reflect.TypeOf((*StorageDrsIolbDisabledInternally)(nil)).Elem()
 74938  }
 74939  
 74940  type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally
 74941  
 74942  func init() {
 74943  	t["StorageDrsIolbDisabledInternallyFault"] = reflect.TypeOf((*StorageDrsIolbDisabledInternallyFault)(nil)).Elem()
 74944  }
 74945  
 74946  // An incremental update to the advance settings.
 74947  type StorageDrsOptionSpec struct {
 74948  	ArrayUpdateSpec
 74949  
 74950  	Option BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 74951  }
 74952  
 74953  func init() {
 74954  	t["StorageDrsOptionSpec"] = reflect.TypeOf((*StorageDrsOptionSpec)(nil)).Elem()
 74955  }
 74956  
 74957  type StorageDrsPlacementRankVmSpec struct {
 74958  	DynamicData
 74959  
 74960  	// Individual VM placement specification for ranking clusters
 74961  	VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec" json:"vmPlacementSpec"`
 74962  	// Set of candidate clusters for the placement request
 74963  	//
 74964  	// Refers instances of `ClusterComputeResource`.
 74965  	VmClusters []ManagedObjectReference `xml:"vmClusters" json:"vmClusters"`
 74966  }
 74967  
 74968  func init() {
 74969  	t["StorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*StorageDrsPlacementRankVmSpec)(nil)).Elem()
 74970  }
 74971  
 74972  // The `StorageDrsPodConfigInfo` data object contains pod-wide configuration information
 74973  // for the storage DRS service.
 74974  type StorageDrsPodConfigInfo struct {
 74975  	DynamicData
 74976  
 74977  	// Flag indicating whether or not storage DRS is enabled.
 74978  	Enabled bool `xml:"enabled" json:"enabled"`
 74979  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 74980  	//
 74981  	// Flag indicating whether or not storage DRS takes into account storage I/O
 74982  	// workload when making load balancing and initial placement recommendations.
 74983  	IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled"`
 74984  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 74985  	//
 74986  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 74987  	// You can override the default behavior for a virtual machine
 74988  	// by using the `StorageDrsVmConfigInfo` object.
 74989  	DefaultVmBehavior string `xml:"defaultVmBehavior" json:"defaultVmBehavior"`
 74990  	// Specify the interval that storage DRS runs to load balance among datastores
 74991  	// within a storage pod.
 74992  	//
 74993  	// Unit: minute.
 74994  	// The valid values are from 60 (1 hour) to 43200 (30 days).
 74995  	// If not specified, the default value is 480 (8 hours).
 74996  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 74997  	// Specifies whether or not each virtual machine in this pod should have its virtual
 74998  	// disks on the same datastore by default.
 74999  	//
 75000  	// If set to true, virtual machines will have
 75001  	// all their virtual disks on the same datastore. If set to false, the virtual disks
 75002  	// of a virtual machine may or may not be placed on the same datastore.
 75003  	// If not set, the default value is true.
 75004  	// You can override the default behavior for a virtual machine
 75005  	// by using the `StorageDrsVmConfigInfo` object.
 75006  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 75007  	// The configuration settings for load balancing storage space.
 75008  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 75009  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75010  	//
 75011  	// The configuration settings for load balancing I/O workload.
 75012  	//
 75013  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 75014  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 75015  	// Configuration settings for fine-grain automation overrides on
 75016  	// the cluster level setting.
 75017  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty"`
 75018  	// Pod-wide rules.
 75019  	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
 75020  	// Advanced settings.
 75021  	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
 75022  }
 75023  
 75024  func init() {
 75025  	t["StorageDrsPodConfigInfo"] = reflect.TypeOf((*StorageDrsPodConfigInfo)(nil)).Elem()
 75026  }
 75027  
 75028  // The `StorageDrsPodConfigSpec` data object provides a set of update
 75029  // specifications for pod-wide storage DRS configuration.
 75030  //
 75031  // To support
 75032  // incremental changes, these properties are all optional.
 75033  type StorageDrsPodConfigSpec struct {
 75034  	DynamicData
 75035  
 75036  	// Flag indicating whether or not storage DRS is enabled.
 75037  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75038  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75039  	//
 75040  	// Flag indicating whether or not storage DRS takes into account storage I/O
 75041  	// workload when making load balancing and initial placement recommendations.
 75042  	IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled,omitempty"`
 75043  	// Specifies the pod-wide default storage DRS behavior for virtual machines.
 75044  	//
 75045  	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
 75046  	// You can override the default behavior for a virtual machine
 75047  	// by using the `StorageDrsVmConfigInfo` object.
 75048  	DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
 75049  	// Specify the interval that storage DRS runs to load balance among datastores
 75050  	// within a storage pod.
 75051  	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
 75052  	// Specifies whether or not each virtual machine in this pod should have its virtual
 75053  	// disks on the same datastore by default.
 75054  	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
 75055  	// The configuration settings for load balancing storage space.
 75056  	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
 75057  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75058  	//
 75059  	// The configuration settings for load balancing I/O workload.
 75060  	//
 75061  	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
 75062  	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
 75063  	// Configuration settings for fine-grain automation overrides on
 75064  	// the cluster level setting.
 75065  	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty"`
 75066  	// Changes to the set of rules.
 75067  	Rule []ClusterRuleSpec `xml:"rule,omitempty" json:"rule,omitempty"`
 75068  	// Changes to advance settings.
 75069  	Option []StorageDrsOptionSpec `xml:"option,omitempty" json:"option,omitempty"`
 75070  }
 75071  
 75072  func init() {
 75073  	t["StorageDrsPodConfigSpec"] = reflect.TypeOf((*StorageDrsPodConfigSpec)(nil)).Elem()
 75074  }
 75075  
 75076  // Specification for moving or copying a virtual machine to a different Storage Pod.
 75077  type StorageDrsPodSelectionSpec struct {
 75078  	DynamicData
 75079  
 75080  	// An optional list that allows specifying the storage pod location
 75081  	// for each virtual disk and the VM configurations and overrides to be
 75082  	// used during placement.
 75083  	InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty" json:"initialVmConfig,omitempty"`
 75084  	// The storage pod where the virtual machine should be located.
 75085  	//
 75086  	// Refers instance of `StoragePod`.
 75087  	StoragePod *ManagedObjectReference `xml:"storagePod,omitempty" json:"storagePod,omitempty"`
 75088  }
 75089  
 75090  func init() {
 75091  	t["StorageDrsPodSelectionSpec"] = reflect.TypeOf((*StorageDrsPodSelectionSpec)(nil)).Elem()
 75092  }
 75093  
 75094  // This fault is thrown when Storage DRS cannot move disks of a virtual machine
 75095  // because the relocate method of the virtual machine is disabled.
 75096  type StorageDrsRelocateDisabled struct {
 75097  	VimFault
 75098  }
 75099  
 75100  func init() {
 75101  	t["StorageDrsRelocateDisabled"] = reflect.TypeOf((*StorageDrsRelocateDisabled)(nil)).Elem()
 75102  }
 75103  
 75104  type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled
 75105  
 75106  func init() {
 75107  	t["StorageDrsRelocateDisabledFault"] = reflect.TypeOf((*StorageDrsRelocateDisabledFault)(nil)).Elem()
 75108  }
 75109  
 75110  // Storage DRS configuration for space load balancing.
 75111  type StorageDrsSpaceLoadBalanceConfig struct {
 75112  	DynamicData
 75113  
 75114  	SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty" json:"spaceThresholdMode,omitempty"`
 75115  	// Storage DRS makes storage migration recommendations if
 75116  	// space utilization on one (or more) of the datastores is higher than
 75117  	// the specified threshold.
 75118  	//
 75119  	// The valid values are in the range of 50 (i.e., 50%) to 100 (i.e., 100%).
 75120  	// If not specified, the default value is 80%.
 75121  	SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty" json:"spaceUtilizationThreshold,omitempty"`
 75122  	// Storage DRS makes storage migration recommendations if
 75123  	// free space on one (or more) of the datastores falls below
 75124  	// the specified threshold.
 75125  	//
 75126  	// The unit is in gigabytes and the minimum value is 1GB.
 75127  	// The maximum value is limited by the capacity of the smallest
 75128  	// datastore in a datastore cluster.
 75129  	// If not specified, the default value is 50GB.
 75130  	FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty" json:"freeSpaceThresholdGB,omitempty"`
 75131  	// Storage DRS considers making storage migration recommendations if
 75132  	// the difference in space utilization between the source and destination datastores
 75133  	// is higher than the specified threshold.
 75134  	//
 75135  	// The valid values are in the range of 1 (i.e., 1%) to 50 (i.e., 50%).
 75136  	// If not specified, the default value is 5%.
 75137  	MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty" json:"minSpaceUtilizationDifference,omitempty"`
 75138  }
 75139  
 75140  func init() {
 75141  	t["StorageDrsSpaceLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfig)(nil)).Elem()
 75142  }
 75143  
 75144  // This fault is thrown when Storage DRS action for relocating
 75145  // HMS collection of replica disks does not correspond to current
 75146  // HMS inventory configuration and hence, is rejected by HMS service.
 75147  type StorageDrsStaleHmsCollection struct {
 75148  	VimFault
 75149  }
 75150  
 75151  func init() {
 75152  	t["StorageDrsStaleHmsCollection"] = reflect.TypeOf((*StorageDrsStaleHmsCollection)(nil)).Elem()
 75153  }
 75154  
 75155  type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection
 75156  
 75157  func init() {
 75158  	t["StorageDrsStaleHmsCollectionFault"] = reflect.TypeOf((*StorageDrsStaleHmsCollectionFault)(nil)).Elem()
 75159  }
 75160  
 75161  // This fault is thrown when Storage DRS cannot generate recommendations
 75162  // to move VM files due to pre-existing cross datastore disk backings.
 75163  type StorageDrsUnableToMoveFiles struct {
 75164  	VimFault
 75165  }
 75166  
 75167  func init() {
 75168  	t["StorageDrsUnableToMoveFiles"] = reflect.TypeOf((*StorageDrsUnableToMoveFiles)(nil)).Elem()
 75169  }
 75170  
 75171  type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles
 75172  
 75173  func init() {
 75174  	t["StorageDrsUnableToMoveFilesFault"] = reflect.TypeOf((*StorageDrsUnableToMoveFilesFault)(nil)).Elem()
 75175  }
 75176  
 75177  // Storage DRS configuration for a single virtual machine.
 75178  //
 75179  // This makes it
 75180  // possible to override the default behavior for an individual virtual machine.
 75181  type StorageDrsVmConfigInfo struct {
 75182  	DynamicData
 75183  
 75184  	// Reference to the virtual machine.
 75185  	//
 75186  	// Can be NULL during initial placement.
 75187  	//
 75188  	// Refers instance of `VirtualMachine`.
 75189  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 75190  	// Flag to indicate whether or not VirtualCenter is allowed to perform any
 75191  	// storage migration or initial placement recommendations for this virtual
 75192  	// machine on the pod `StoragePod`.
 75193  	//
 75194  	// If this flag is false, the virtual machine is effectively excluded from
 75195  	// storage DRS.
 75196  	//
 75197  	// If no individual DRS specification exists for a virtual machine,
 75198  	// this property defaults to true.
 75199  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75200  	// Specifies the particular storage DRS behavior for this virtual machine.
 75201  	//
 75202  	// For supported values, see `StorageDrsPodConfigInfoBehavior_enum`.
 75203  	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
 75204  	// Specifies whether or not to have the affinity rule for the virtual disks
 75205  	// of this virtual machine.
 75206  	//
 75207  	// If not set, the default value is derived from
 75208  	// the pod-wide default `StorageDrsPodConfigInfo.defaultIntraVmAffinity`.
 75209  	IntraVmAffinity *bool `xml:"intraVmAffinity" json:"intraVmAffinity,omitempty"`
 75210  	// Deprecated as of vSphere API 7.0.
 75211  	//
 75212  	// Specifies the disks for this virtual machine that should be placed
 75213  	// on different datastores.
 75214  	//
 75215  	// A VM cannot have both an affinity and an
 75216  	// anti-affinity rule at the same time. Virtual machine disks that are
 75217  	// not in this rule are unconstrained and can be placed either on the
 75218  	// same datastore or on a different datastore as other disks from this
 75219  	// virtual machine.
 75220  	IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty" json:"intraVmAntiAffinity,omitempty"`
 75221  	// List of the virtual disk rules that can be overridden/created.
 75222  	VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty" json:"virtualDiskRules,omitempty"`
 75223  }
 75224  
 75225  func init() {
 75226  	t["StorageDrsVmConfigInfo"] = reflect.TypeOf((*StorageDrsVmConfigInfo)(nil)).Elem()
 75227  }
 75228  
 75229  // Updates the per-virtual-machine storage DRS configuration.
 75230  type StorageDrsVmConfigSpec struct {
 75231  	ArrayUpdateSpec
 75232  
 75233  	Info *StorageDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
 75234  }
 75235  
 75236  func init() {
 75237  	t["StorageDrsVmConfigSpec"] = reflect.TypeOf((*StorageDrsVmConfigSpec)(nil)).Elem()
 75238  }
 75239  
 75240  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75241  //
 75242  // The IOAllocationInfo specifies the shares, limit and reservation
 75243  // for storage I/O resource.
 75244  //
 75245  // The storage I/O resource is allocated to virtual machines based on their
 75246  // shares, limit and reservation. The reservation is currently exposed only
 75247  // at the host level for local and shared datastores.
 75248  // We do not support storage I/O resource management on resource pools.
 75249  //
 75250  // Each virtual machine has one IOAllocationInfo object per virtual
 75251  // disk. For example, we can specify that a virtual machine has 500 shares
 75252  // on the first virtual disk, 1000 shares on the second virtual disk, etc.
 75253  type StorageIOAllocationInfo struct {
 75254  	DynamicData
 75255  
 75256  	// The utilization of a virtual machine will not exceed this limit, even
 75257  	// if there are available resources.
 75258  	//
 75259  	// This is typically used to ensure a consistent
 75260  	// performance of virtual machines independent of available resources.
 75261  	// If set to -1, then there is no fixed limit on resource usage (only
 75262  	// bounded by available resources and shares). The unit is number of
 75263  	// I/O per second.
 75264  	// While setting the limit for storage I/O resource, if the property is unset,
 75265  	// it is treated as no change and the property is not updated. While reading
 75266  	// back the limit information of storage I/O resource, if the property is unset,
 75267  	// a default value of -1 will be returned, which indicates that there is no
 75268  	// limit on resource usage.
 75269  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 75270  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75271  	//
 75272  	// Shares are used in case of resource contention.
 75273  	//
 75274  	// The value should be within a range of 200 to 4000.
 75275  	// While setting shares for storage I/O resource, if the property is unset,
 75276  	// it is treated as no change and the property is not updated. While reading
 75277  	// back the shares information of storage I/O resource, if the property is unset,
 75278  	// a default value of `SharesInfo.level` = normal,
 75279  	// `SharesInfo.shares` = 1000 will be returned.
 75280  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 75281  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75282  	//
 75283  	// Reservation control is used to provide guaranteed allocation in terms
 75284  	// of IOPS.
 75285  	//
 75286  	// Large IO sizes are considered as multiple IOs using a chunk
 75287  	// size of 32 KB as default. This control is initially supported only
 75288  	// at host level for local datastores. It future, it may get supported
 75289  	// on shared storage based on integration with Storage IO Control.
 75290  	// Also right now we don't do any admission control based on IO
 75291  	// reservation values.
 75292  	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
 75293  }
 75294  
 75295  func init() {
 75296  	t["StorageIOAllocationInfo"] = reflect.TypeOf((*StorageIOAllocationInfo)(nil)).Elem()
 75297  }
 75298  
 75299  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75300  //
 75301  // The IOAllocationOption specifies value ranges that can be used
 75302  // to initialize `StorageIOAllocationInfo` object.
 75303  type StorageIOAllocationOption struct {
 75304  	DynamicData
 75305  
 75306  	// limitOptions defines a range of values allowed to be used for
 75307  	// storage IO limit `StorageIOAllocationInfo.limit`.
 75308  	LimitOption LongOption `xml:"limitOption" json:"limitOption"`
 75309  	// sharesOption defines a range of values allowed to be used to
 75310  	// specify allocated io shares `StorageIOAllocationInfo.shares`.
 75311  	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
 75312  }
 75313  
 75314  func init() {
 75315  	t["StorageIOAllocationOption"] = reflect.TypeOf((*StorageIOAllocationOption)(nil)).Elem()
 75316  }
 75317  
 75318  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75319  //
 75320  // Configuration setting ranges for `StorageIORMConfigSpec` object.
 75321  type StorageIORMConfigOption struct {
 75322  	DynamicData
 75323  
 75324  	// enabledOption provides default state value for
 75325  	// `StorageIORMConfigSpec.enabled`
 75326  	EnabledOption BoolOption `xml:"enabledOption" json:"enabledOption"`
 75327  	// congestionThresholdOption defines value range which can be used for
 75328  	// `StorageIORMConfigSpec.congestionThreshold`
 75329  	CongestionThresholdOption IntOption `xml:"congestionThresholdOption" json:"congestionThresholdOption"`
 75330  	// statsCollectionEnabledOption provides default value for
 75331  	// `StorageIORMConfigSpec.statsCollectionEnabled`
 75332  	StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty" json:"statsCollectionEnabledOption,omitempty"`
 75333  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75334  	//
 75335  	// reservationEnabledOption provides default value for
 75336  	// `StorageIORMConfigSpec.reservationEnabled`
 75337  	ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty" json:"reservationEnabledOption,omitempty"`
 75338  }
 75339  
 75340  func init() {
 75341  	t["StorageIORMConfigOption"] = reflect.TypeOf((*StorageIORMConfigOption)(nil)).Elem()
 75342  }
 75343  
 75344  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75345  //
 75346  // Configuration settings used for creating or reconfiguring
 75347  // storage I/O resource management.
 75348  //
 75349  // All fields are defined as optional. If a field is unset,
 75350  // the property is not changed.
 75351  type StorageIORMConfigSpec struct {
 75352  	DynamicData
 75353  
 75354  	// Flag indicating whether or not the service is enabled.
 75355  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 75356  	// Mode of congestion threshold specification
 75357  	// For more information, see
 75358  	// `StorageIORMThresholdMode_enum`
 75359  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty"`
 75360  	// The latency beyond which the storage array is considered congested.
 75361  	//
 75362  	// For more information, see
 75363  	// `StorageIORMInfo.congestionThreshold`
 75364  	CongestionThreshold int32 `xml:"congestionThreshold,omitempty" json:"congestionThreshold,omitempty"`
 75365  	// The percentage of peak throughput to be used for setting threshold latency
 75366  	// of a datastore.
 75367  	//
 75368  	// Valid values are between 50 to 100.
 75369  	//
 75370  	// For more information, see
 75371  	// `StorageIORMInfo.congestionThreshold`
 75372  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty"`
 75373  	// Flag indicating whether the service is enabled in stats collection mode.
 75374  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty"`
 75375  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75376  	//
 75377  	// Flag indicating whether IO reservations support is enabled.
 75378  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty"`
 75379  	// Flag indicating whether stats aggregation is disabled.
 75380  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty"`
 75381  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75382  	//
 75383  	// Storage DRS makes storage migration recommendations
 75384  	// if total IOPs reservation for all VMs running on the
 75385  	// datastore is higher than specified threshold value.
 75386  	//
 75387  	// This value (if present) overrides
 75388  	// `vim.StorageResourceManager.PodConfigInfo.reservableIopsThreshold`
 75389  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 75390  }
 75391  
 75392  func init() {
 75393  	t["StorageIORMConfigSpec"] = reflect.TypeOf((*StorageIORMConfigSpec)(nil)).Elem()
 75394  }
 75395  
 75396  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75397  //
 75398  // Configuration of storage I/O resource management.
 75399  type StorageIORMInfo struct {
 75400  	DynamicData
 75401  
 75402  	// Flag indicating whether or not the service is enabled.
 75403  	Enabled bool `xml:"enabled" json:"enabled"`
 75404  	// Mode of congestion threshold specification
 75405  	// For more information, see
 75406  	// `StorageIORMThresholdMode_enum`
 75407  	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty"`
 75408  	// The latency beyond which the storage array is considered congested.
 75409  	//
 75410  	// If storage I/O resource management is enabled on a datastore,
 75411  	// the algorithm tries to maintain the latency to be below or
 75412  	// close to this value. The unit is millisecond. The range of
 75413  	// this value is between 5 to 100 milliseconds.
 75414  	CongestionThreshold int32 `xml:"congestionThreshold" json:"congestionThreshold"`
 75415  	// The percentage of peak throughput to be used for setting congestion threshold
 75416  	// of a datastore.
 75417  	//
 75418  	// Valid values are between 50 to 100. Default value is 90%
 75419  	//
 75420  	// For more information, see
 75421  	// `StorageIORMInfo.congestionThreshold`
 75422  	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty"`
 75423  	// Deprecated as of vSphere API 6.5, use `StorageIORMInfo.enabled` instead.
 75424  	//
 75425  	// Flag indicating whether service is running in stats collection mode.
 75426  	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty"`
 75427  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75428  	//
 75429  	// Flag indicating whether IO reservations support is enabled.
 75430  	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty"`
 75431  	// Flag indicating whether stats aggregation is disabled.
 75432  	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty"`
 75433  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75434  	//
 75435  	// Storage DRS makes storage migration recommendations
 75436  	// if total IOPs reservation for all VMs running on the
 75437  	// datastore is higher than specified threshold value.
 75438  	//
 75439  	// This value (if present) overrides
 75440  	// `vim.StorageResourceManager.PodConfigInfo.reservableIopsThreshold`
 75441  	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty"`
 75442  }
 75443  
 75444  func init() {
 75445  	t["StorageIORMInfo"] = reflect.TypeOf((*StorageIORMInfo)(nil)).Elem()
 75446  }
 75447  
 75448  // Describes a single storage migration action.
 75449  //
 75450  // The storage migration
 75451  // action applies either to a virtual machine or a set of virtual disks.
 75452  type StorageMigrationAction struct {
 75453  	ClusterAction
 75454  
 75455  	// Virtual machine reference.
 75456  	//
 75457  	// Refers instance of `VirtualMachine`.
 75458  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 75459  	// Specification for moving a virtual machine or a set of virtual disks
 75460  	// to a different datastore.
 75461  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 75462  	// Source datastore.
 75463  	//
 75464  	// Refers instance of `Datastore`.
 75465  	Source ManagedObjectReference `xml:"source" json:"source"`
 75466  	// Destination datastore.
 75467  	//
 75468  	// Refers instance of `Datastore`.
 75469  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 75470  	// The amount of data to be transferred.
 75471  	//
 75472  	// Unit: KB.
 75473  	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
 75474  	// Space utilization on the source datastore before storage migration.
 75475  	//
 75476  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75477  	// If not set, the value is not available.
 75478  	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
 75479  	// Space utilization on the destination datastore before storage migration.
 75480  	//
 75481  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75482  	// If not set, the value is not available.
 75483  	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
 75484  	// Expected space utilization on the source datastore after storage migration.
 75485  	//
 75486  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75487  	// If not set, the value is not available.
 75488  	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
 75489  	// Expected space utilization on the destination datastore after storage migration.
 75490  	//
 75491  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75492  	// If not set, the value is not available.
 75493  	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
 75494  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75495  	//
 75496  	// I/O latency on the source datastore before storage migration.
 75497  	//
 75498  	// Unit: millisecond.
 75499  	// If not set, the value is not available.
 75500  	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
 75501  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75502  	//
 75503  	// I/O latency on the destination datastore before storage migration.
 75504  	//
 75505  	// Unit: millisecond.
 75506  	// If not set, the value is not available.
 75507  	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
 75508  }
 75509  
 75510  func init() {
 75511  	t["StorageMigrationAction"] = reflect.TypeOf((*StorageMigrationAction)(nil)).Elem()
 75512  }
 75513  
 75514  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75515  //
 75516  // Summary statistics for datastore performance
 75517  // The statistics are reported in aggregated quantiles over a time period
 75518  type StoragePerformanceSummary struct {
 75519  	DynamicData
 75520  
 75521  	// Time period over which statistics are aggregated
 75522  	// The reported time unit is in seconds
 75523  	Interval int32 `xml:"interval" json:"interval"`
 75524  	// Metric percentile specification.
 75525  	//
 75526  	// A percentile is a value
 75527  	// between 1 and 100. The metric value reported in the
 75528  	// aggregated statistics corresponds with the percentile values
 75529  	// in this field. For example, if the value of percentile\[0\] is
 75530  	// P, and the value of the datastoreReadLatency\[0\] is L, then
 75531  	// P% of all the read IOs performed during observation interval
 75532  	// is less than L milliseconds.
 75533  	Percentile []int32 `xml:"percentile" json:"percentile"`
 75534  	// Aggregated datastore latency in milliseconds for read operations
 75535  	DatastoreReadLatency []float64 `xml:"datastoreReadLatency" json:"datastoreReadLatency"`
 75536  	// Aggregated datastore latency in milliseconds for write operations
 75537  	DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency" json:"datastoreWriteLatency"`
 75538  	// Aggregated datastore latency as observed by Vms using the datastore
 75539  	// The reported latency is in milliseconds.
 75540  	DatastoreVmLatency []float64 `xml:"datastoreVmLatency" json:"datastoreVmLatency"`
 75541  	// Aggregated datastore Read IO rate (Reads/second)
 75542  	DatastoreReadIops []float64 `xml:"datastoreReadIops" json:"datastoreReadIops"`
 75543  	// Aggregated datastore Write IO rate (Writes/second)
 75544  	DatastoreWriteIops []float64 `xml:"datastoreWriteIops" json:"datastoreWriteIops"`
 75545  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75546  	//
 75547  	// Cumulative SIOC activity to satisfy SIOC latency threshold
 75548  	// setting.
 75549  	//
 75550  	// This metric indicates the total time that SIOC is
 75551  	// actively throttling IO requests. The SIOC throttling
 75552  	// activity occurs whenever the datastore latency exceeds the
 75553  	// SIOC latency threshold. If SIOC is not enabled on the
 75554  	// datastore, the metric indicates the total time that SIOC
 75555  	// would have been active. The unit of reporting is in
 75556  	// milliseconds.
 75557  	SiocActivityDuration int32 `xml:"siocActivityDuration" json:"siocActivityDuration"`
 75558  }
 75559  
 75560  func init() {
 75561  	t["StoragePerformanceSummary"] = reflect.TypeOf((*StoragePerformanceSummary)(nil)).Elem()
 75562  }
 75563  
 75564  // Describes a single storage initial placement action for placing a virtual
 75565  // machine or a set of virtual disks on a datastore.
 75566  type StoragePlacementAction struct {
 75567  	ClusterAction
 75568  
 75569  	// Virtual machine reference.
 75570  	//
 75571  	// It is possible that the VM has not been created, in which case,
 75572  	// this property is left unset.
 75573  	//
 75574  	// Refers instance of `VirtualMachine`.
 75575  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 75576  	// Specification for placing a virtual machine or a set of virtual disks
 75577  	// to a datastore.
 75578  	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
 75579  	// Target datastore.
 75580  	//
 75581  	// Refers instance of `Datastore`.
 75582  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 75583  	// Current space utilization on the target datastore.
 75584  	//
 75585  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75586  	// If not set, the value is not available.
 75587  	SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty" json:"spaceUtilBefore,omitempty"`
 75588  	// Current space demand on the target datastore.
 75589  	//
 75590  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 75591  	// value include the space demanded by thin provisioned VMs. Hence, it may
 75592  	// be higher than 100%. If not set, the value is not available.
 75593  	SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty" json:"spaceDemandBefore,omitempty"`
 75594  	// Space utilization on the target datastore after placing the virtual disk.
 75595  	//
 75596  	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
 75597  	// If not set, the value is not available.
 75598  	SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty" json:"spaceUtilAfter,omitempty"`
 75599  	// Space demand on the target datastore after placing the virtual disk.
 75600  	//
 75601  	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
 75602  	// value include the space demanded by thin provisioned VMs. Hence, it may
 75603  	// be higher than 100%. If not set, the value is not available.
 75604  	SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty" json:"spaceDemandAfter,omitempty"`
 75605  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 75606  	//
 75607  	// Current I/O latency on the target datastore.
 75608  	//
 75609  	// Unit: millisecond.
 75610  	// If not set, the value is not available.
 75611  	IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty" json:"ioLatencyBefore,omitempty"`
 75612  }
 75613  
 75614  func init() {
 75615  	t["StoragePlacementAction"] = reflect.TypeOf((*StoragePlacementAction)(nil)).Elem()
 75616  }
 75617  
 75618  // Both `StorageResourceManager.RecommendDatastores` and
 75619  // `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS
 75620  // for recommendations on placing or evacuating virtual disks.
 75621  //
 75622  // StoragePlacementResult is the class of the result returned by
 75623  // the methods.
 75624  type StoragePlacementResult struct {
 75625  	DynamicData
 75626  
 75627  	// The list of recommendations that the client needs to approve manually.
 75628  	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
 75629  	// Information about any fault in case Storage DRS failed to make a recommendation.
 75630  	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
 75631  	// The ID of the task, which monitors the storage placement or datastore entering
 75632  	// maintennace mode operation.
 75633  	//
 75634  	// Refers instance of `Task`.
 75635  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 75636  }
 75637  
 75638  func init() {
 75639  	t["StoragePlacementResult"] = reflect.TypeOf((*StoragePlacementResult)(nil)).Elem()
 75640  }
 75641  
 75642  // StoragePlacementSpec encapsulates all of the inputs passed to the
 75643  // `StorageResourceManager.RecommendDatastores` method.
 75644  type StoragePlacementSpec struct {
 75645  	DynamicData
 75646  
 75647  	// The storage placement type.
 75648  	//
 75649  	// The set of possible values is described in
 75650  	// `StoragePlacementSpecPlacementType_enum`
 75651  	Type string `xml:"type" json:"type"`
 75652  	// Priority of this placement operation.
 75653  	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
 75654  	// The relevant virtual machine.
 75655  	//
 75656  	// Refers instance of `VirtualMachine`.
 75657  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 75658  	// Specification for moving a virtual machine or a set of virtual disks
 75659  	// to a different storage pod.
 75660  	PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec" json:"podSelectionSpec"`
 75661  	// Specification for a virtual machine cloning operation.
 75662  	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
 75663  	// Name for cloned virtual machine.
 75664  	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
 75665  	// Configuration for the virtual machine.
 75666  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 75667  	// Specification for relocating a virtual machine.
 75668  	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
 75669  	// The resource pool to which this virtual machine should be attached.
 75670  	//
 75671  	// Refers instance of `ResourcePool`.
 75672  	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
 75673  	// The target host for the virtual machine.
 75674  	//
 75675  	// Refers instance of `HostSystem`.
 75676  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 75677  	// The target virtual machine folder for the virtual machine.
 75678  	//
 75679  	// Note that this is a different folder than the pod(s) that the virtual
 75680  	// machine belongs to. The pod mapping represents the storage view of
 75681  	// the virtual machine, while the virtual machine folder mapping
 75682  	// represents an inventory view of the virtual machine.
 75683  	// For manual VM provisioning operations, this is specified implicitly
 75684  	// as the object that the `Folder.CreateVM_Task` method is invoked on.
 75685  	//
 75686  	// Refers instance of `Folder`.
 75687  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 75688  	// Specification for whether to disable pre-requisite storage vmotions
 75689  	// for storage placements.
 75690  	//
 75691  	// If unset, default behavior is to allow such
 75692  	// prerequisite moves.
 75693  	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
 75694  	// Resource lease duration in seconds.
 75695  	//
 75696  	// If the duration is within bounds,
 75697  	// Storage DRS will hold onto resources needed for applying recommendations
 75698  	// generated as part of that call.
 75699  	// Only initial placement recommendations generated by storage DRS can reserve
 75700  	// resources this way.
 75701  	ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty" json:"resourceLeaseDurationSec,omitempty"`
 75702  }
 75703  
 75704  func init() {
 75705  	t["StoragePlacementSpec"] = reflect.TypeOf((*StoragePlacementSpec)(nil)).Elem()
 75706  }
 75707  
 75708  // The `StoragePodSummary` data object
 75709  // encapsulates runtime properties of a `StoragePod`.
 75710  type StoragePodSummary struct {
 75711  	DynamicData
 75712  
 75713  	// The name of the storage pod.
 75714  	Name string `xml:"name" json:"name"`
 75715  	// Total capacity of this storage pod, in bytes.
 75716  	//
 75717  	// This value is the sum of the
 75718  	// capacity of all datastores that are part of this storage pod, and is updated
 75719  	// periodically by the server.
 75720  	Capacity int64 `xml:"capacity" json:"capacity"`
 75721  	// Total free space on this storage pod, in bytes.
 75722  	//
 75723  	// This value is the sum of the
 75724  	// free space on all datastores that are part of this storage pod, and is updated
 75725  	// periodically by the server.
 75726  	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
 75727  }
 75728  
 75729  func init() {
 75730  	t["StoragePodSummary"] = reflect.TypeOf((*StoragePodSummary)(nil)).Elem()
 75731  }
 75732  
 75733  // The `StorageProfile` data object represents the host storage configuration.
 75734  //
 75735  // If a profile plug-in defines policies or subprofiles, use the
 75736  // `ApplyProfile.policy` or `ApplyProfile.property`
 75737  // list to access the additional configuration data.
 75738  type StorageProfile struct {
 75739  	ApplyProfile
 75740  
 75741  	// List of NAS storage subprofiles.
 75742  	//
 75743  	// Use the `NasStorageProfile.key` property
 75744  	// to access a subprofile in the list.
 75745  	NasStorage []NasStorageProfile `xml:"nasStorage,omitempty" json:"nasStorage,omitempty"`
 75746  }
 75747  
 75748  func init() {
 75749  	t["StorageProfile"] = reflect.TypeOf((*StorageProfile)(nil)).Elem()
 75750  }
 75751  
 75752  // Describes the storage requirement to perform a consolidation
 75753  // operation.
 75754  type StorageRequirement struct {
 75755  	DynamicData
 75756  
 75757  	// The datastore.
 75758  	//
 75759  	// Refers instance of `Datastore`.
 75760  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 75761  	// Space required.
 75762  	FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb" json:"freeSpaceRequiredInKb"`
 75763  }
 75764  
 75765  func init() {
 75766  	t["StorageRequirement"] = reflect.TypeOf((*StorageRequirement)(nil)).Elem()
 75767  }
 75768  
 75769  // A data object to report aggregate storage statistics by storage
 75770  // profile
 75771  type StorageResourceManagerStorageProfileStatistics struct {
 75772  	DynamicData
 75773  
 75774  	// Profile identifier for the reported statistics
 75775  	ProfileId string `xml:"profileId" json:"profileId"`
 75776  	// The aggregate storage capacity available for a given storage
 75777  	// capability profile.
 75778  	//
 75779  	// The capacity is reported in Megabytes.
 75780  	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
 75781  	// The aggregate used storage capacity by a given storage capability
 75782  	// profile
 75783  	// The used space is reported in Megabytes
 75784  	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
 75785  }
 75786  
 75787  func init() {
 75788  	t["StorageResourceManagerStorageProfileStatistics"] = reflect.TypeOf((*StorageResourceManagerStorageProfileStatistics)(nil)).Elem()
 75789  }
 75790  
 75791  // An operation on a powered-on virtual machine requests a change of storage
 75792  // location, but the host does not have that capability.
 75793  type StorageVMotionNotSupported struct {
 75794  	MigrationFeatureNotSupported
 75795  }
 75796  
 75797  func init() {
 75798  	t["StorageVMotionNotSupported"] = reflect.TypeOf((*StorageVMotionNotSupported)(nil)).Elem()
 75799  }
 75800  
 75801  type StorageVMotionNotSupportedFault StorageVMotionNotSupported
 75802  
 75803  func init() {
 75804  	t["StorageVMotionNotSupportedFault"] = reflect.TypeOf((*StorageVMotionNotSupportedFault)(nil)).Elem()
 75805  }
 75806  
 75807  // This fault is thrown when Storage DRS tries to migrate disks of a virtual machine to a datastore,
 75808  // but finds that the datastore is incompatible with the given virtual machine.
 75809  type StorageVmotionIncompatible struct {
 75810  	VirtualHardwareCompatibilityIssue
 75811  
 75812  	// The datastore that is incompatible with a given virtual machine.
 75813  	//
 75814  	// Refers instance of `Datastore`.
 75815  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 75816  }
 75817  
 75818  func init() {
 75819  	t["StorageVmotionIncompatible"] = reflect.TypeOf((*StorageVmotionIncompatible)(nil)).Elem()
 75820  }
 75821  
 75822  type StorageVmotionIncompatibleFault StorageVmotionIncompatible
 75823  
 75824  func init() {
 75825  	t["StorageVmotionIncompatibleFault"] = reflect.TypeOf((*StorageVmotionIncompatibleFault)(nil)).Elem()
 75826  }
 75827  
 75828  // The string type of setting or configuration that may get a
 75829  // negated value.
 75830  type StringExpression struct {
 75831  	NegatableExpression
 75832  
 75833  	// The String value that is either used as it is or negated.
 75834  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 75835  }
 75836  
 75837  func init() {
 75838  	t["StringExpression"] = reflect.TypeOf((*StringExpression)(nil)).Elem()
 75839  }
 75840  
 75841  // The StringOption data object type is used to define an open-ended
 75842  // string value based on an optional subset of valid characters.
 75843  type StringOption struct {
 75844  	OptionType
 75845  
 75846  	// The default value.
 75847  	DefaultValue string `xml:"defaultValue" json:"defaultValue"`
 75848  	// The string containing the set of valid characters.
 75849  	//
 75850  	// If a string
 75851  	// option is not specified, all strings are allowed.
 75852  	ValidCharacters string `xml:"validCharacters,omitempty" json:"validCharacters,omitempty"`
 75853  }
 75854  
 75855  func init() {
 75856  	t["StringOption"] = reflect.TypeOf((*StringOption)(nil)).Elem()
 75857  }
 75858  
 75859  // The string type of setting or configuration that may get an
 75860  // inherited value.
 75861  type StringPolicy struct {
 75862  	InheritablePolicy
 75863  
 75864  	// The String value that is either set or inherited.
 75865  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 75866  }
 75867  
 75868  func init() {
 75869  	t["StringPolicy"] = reflect.TypeOf((*StringPolicy)(nil)).Elem()
 75870  }
 75871  
 75872  // Implementation of `HostProfilesEntityCustomizations`
 75873  // that maps a cluster or host profile to the `AnswerFile`
 75874  // object containing the host profiles customizations for that entity.
 75875  //
 75876  // This
 75877  // object will be used as elements of the
 75878  // `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#entityCustomizations}
 75879  // when the `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#customizationsFormat}
 75880  // value is "structured".
 75881  type StructuredCustomizations struct {
 75882  	HostProfilesEntityCustomizations
 75883  
 75884  	// Entity associated with the host customizations specified in the
 75885  	// <code>customizations</code> `AnswerFile` object.
 75886  	//
 75887  	// In the current release, this object will always be a host.
 75888  	//
 75889  	// Refers instance of `ManagedEntity`.
 75890  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 75891  	// Host Profile Customizations for the associated <code>entity</code>.
 75892  	//
 75893  	// This is the same object that would be returned by the
 75894  	// `HostProfileManager.RetrieveAnswerFile` method
 75895  	Customizations *AnswerFile `xml:"customizations,omitempty" json:"customizations,omitempty"`
 75896  }
 75897  
 75898  func init() {
 75899  	t["StructuredCustomizations"] = reflect.TypeOf((*StructuredCustomizations)(nil)).Elem()
 75900  }
 75901  
 75902  type SuspendVAppRequestType struct {
 75903  	This ManagedObjectReference `xml:"_this" json:"-"`
 75904  }
 75905  
 75906  func init() {
 75907  	t["SuspendVAppRequestType"] = reflect.TypeOf((*SuspendVAppRequestType)(nil)).Elem()
 75908  }
 75909  
 75910  type SuspendVApp_Task SuspendVAppRequestType
 75911  
 75912  func init() {
 75913  	t["SuspendVApp_Task"] = reflect.TypeOf((*SuspendVApp_Task)(nil)).Elem()
 75914  }
 75915  
 75916  type SuspendVApp_TaskResponse struct {
 75917  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75918  }
 75919  
 75920  type SuspendVMRequestType struct {
 75921  	This ManagedObjectReference `xml:"_this" json:"-"`
 75922  }
 75923  
 75924  func init() {
 75925  	t["SuspendVMRequestType"] = reflect.TypeOf((*SuspendVMRequestType)(nil)).Elem()
 75926  }
 75927  
 75928  type SuspendVM_Task SuspendVMRequestType
 75929  
 75930  func init() {
 75931  	t["SuspendVM_Task"] = reflect.TypeOf((*SuspendVM_Task)(nil)).Elem()
 75932  }
 75933  
 75934  type SuspendVM_TaskResponse struct {
 75935  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 75936  }
 75937  
 75938  // Either the source host product or the destination host product does not support
 75939  // relocation of suspended VMs.
 75940  //
 75941  // It must be supported on both, in order for the
 75942  // relocation to succeed. This fault is only applicable to suspended virtual machines.
 75943  type SuspendedRelocateNotSupported struct {
 75944  	MigrationFault
 75945  }
 75946  
 75947  func init() {
 75948  	t["SuspendedRelocateNotSupported"] = reflect.TypeOf((*SuspendedRelocateNotSupported)(nil)).Elem()
 75949  }
 75950  
 75951  type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported
 75952  
 75953  func init() {
 75954  	t["SuspendedRelocateNotSupportedFault"] = reflect.TypeOf((*SuspendedRelocateNotSupportedFault)(nil)).Elem()
 75955  }
 75956  
 75957  // The compute resource and/or virtual machine configurations indicate that
 75958  // when executing on the host the virtual machine should use a specific
 75959  // datastore, but host does not have read/write access to that datastore.
 75960  //
 75961  // (It may have no access at all, or read-only access.) If executing on the
 75962  // host the virtual machine would instead use its own directory for swapfile
 75963  // placement. This is a compatibility warning, not an error.
 75964  type SwapDatastoreNotWritableOnHost struct {
 75965  	DatastoreNotWritableOnHost
 75966  }
 75967  
 75968  func init() {
 75969  	t["SwapDatastoreNotWritableOnHost"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHost)(nil)).Elem()
 75970  }
 75971  
 75972  type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost
 75973  
 75974  func init() {
 75975  	t["SwapDatastoreNotWritableOnHostFault"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHostFault)(nil)).Elem()
 75976  }
 75977  
 75978  // The compute resource and/or virtual machine configurations indicate that
 75979  // when executing on the host the virtual machine should use a swap
 75980  // datastore, but the host does not have a swap datastore configured.
 75981  //
 75982  // If
 75983  // executing on the host the virtual machine would instead use its own directory
 75984  // for swapfile placement. This is a compatibility warning, not an error.
 75985  // Note it is actually the common case for a host to not have a configured
 75986  // swap datastore, and the problem may rest with the compute resource and/or
 75987  // virtual machine configuration; therefore this is not a HostConfigFault.
 75988  type SwapDatastoreUnset struct {
 75989  	VimFault
 75990  }
 75991  
 75992  func init() {
 75993  	t["SwapDatastoreUnset"] = reflect.TypeOf((*SwapDatastoreUnset)(nil)).Elem()
 75994  }
 75995  
 75996  type SwapDatastoreUnsetFault SwapDatastoreUnset
 75997  
 75998  func init() {
 75999  	t["SwapDatastoreUnsetFault"] = reflect.TypeOf((*SwapDatastoreUnsetFault)(nil)).Elem()
 76000  }
 76001  
 76002  // The virtual machine is configured to override the default swapfile placement
 76003  // policy, which is not supported on the host.
 76004  type SwapPlacementOverrideNotSupported struct {
 76005  	InvalidVmConfig
 76006  }
 76007  
 76008  func init() {
 76009  	t["SwapPlacementOverrideNotSupported"] = reflect.TypeOf((*SwapPlacementOverrideNotSupported)(nil)).Elem()
 76010  }
 76011  
 76012  type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported
 76013  
 76014  func init() {
 76015  	t["SwapPlacementOverrideNotSupportedFault"] = reflect.TypeOf((*SwapPlacementOverrideNotSupportedFault)(nil)).Elem()
 76016  }
 76017  
 76018  // The distributed virtual switch received a reconfiguration request to
 76019  // activate a feature that requires a switch IP address.
 76020  //
 76021  // However, the IP
 76022  // address for the switch has not been specified.
 76023  type SwitchIpUnset struct {
 76024  	DvsFault
 76025  }
 76026  
 76027  func init() {
 76028  	t["SwitchIpUnset"] = reflect.TypeOf((*SwitchIpUnset)(nil)).Elem()
 76029  }
 76030  
 76031  type SwitchIpUnsetFault SwitchIpUnset
 76032  
 76033  func init() {
 76034  	t["SwitchIpUnsetFault"] = reflect.TypeOf((*SwitchIpUnsetFault)(nil)).Elem()
 76035  }
 76036  
 76037  // Thrown if an operation is not supported while the DistributedVirtualSwitch
 76038  // is not in upgrade mode.
 76039  type SwitchNotInUpgradeMode struct {
 76040  	DvsFault
 76041  }
 76042  
 76043  func init() {
 76044  	t["SwitchNotInUpgradeMode"] = reflect.TypeOf((*SwitchNotInUpgradeMode)(nil)).Elem()
 76045  }
 76046  
 76047  type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode
 76048  
 76049  func init() {
 76050  	t["SwitchNotInUpgradeModeFault"] = reflect.TypeOf((*SwitchNotInUpgradeModeFault)(nil)).Elem()
 76051  }
 76052  
 76053  // Exception type for reporting a low-level operating system
 76054  // error.
 76055  type SystemError struct {
 76056  	RuntimeFault
 76057  
 76058  	// A message to indicate detailed information about the error.
 76059  	//
 76060  	// This property is not internationalization friendly and
 76061  	// normally reported by the underlying operating system.
 76062  	Reason string `xml:"reason" json:"reason"`
 76063  }
 76064  
 76065  func init() {
 76066  	t["SystemError"] = reflect.TypeOf((*SystemError)(nil)).Elem()
 76067  }
 76068  
 76069  type SystemErrorFault SystemError
 76070  
 76071  func init() {
 76072  	t["SystemErrorFault"] = reflect.TypeOf((*SystemErrorFault)(nil)).Elem()
 76073  }
 76074  
 76075  // IPMI System Event Log (SEL) provides a history of hardware sensor states.
 76076  //
 76077  // This is defined in IPMI specification, section 32.1 SEL Event Records.
 76078  // CLI:: esxcli hardware ipmi sel list
 76079  type SystemEventInfo struct {
 76080  	DynamicData
 76081  
 76082  	// The recordId uniquely identifies an entry in IPMI System Event Log.
 76083  	RecordId int64 `xml:"recordId" json:"recordId"`
 76084  	// A ISO 8601 timestamp when the event was added to IPMI System Event Log.
 76085  	//
 76086  	// This timestamp comes from the IPMI subsystem clock and may not be
 76087  	// the same as hypervisor's clock.
 76088  	When string `xml:"when" json:"when"`
 76089  	// The IPMI SEL type defines the if the SEL event uses
 76090  	// the system event format format or is OEM defined.
 76091  	//
 76092  	// A value of 2 indicates system event.
 76093  	// Values 0xC0-0xDF, 0xE0-0xFF are OEM event ranges.
 76094  	SelType int64 `xml:"selType" json:"selType"`
 76095  	// A description of what the event is about.
 76096  	Message string `xml:"message" json:"message"`
 76097  	// The IPMI Sensor/probe that is reporting this event.
 76098  	//
 76099  	// A value of zero (0) indicates event has no related sensor.
 76100  	SensorNumber int64 `xml:"sensorNumber" json:"sensorNumber"`
 76101  }
 76102  
 76103  func init() {
 76104  	t["SystemEventInfo"] = reflect.TypeOf((*SystemEventInfo)(nil)).Elem()
 76105  }
 76106  
 76107  // Defines a tag that can be associated with a managed entity.
 76108  type Tag struct {
 76109  	DynamicData
 76110  
 76111  	// The tag key in human readable form.
 76112  	Key string `xml:"key" json:"key"`
 76113  }
 76114  
 76115  func init() {
 76116  	t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem()
 76117  }
 76118  
 76119  // Static strings for task objects.
 76120  //
 76121  // These strings are locale-specific.
 76122  type TaskDescription struct {
 76123  	DynamicData
 76124  
 76125  	// Display label and summary for all tasks
 76126  	MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr" json:"methodInfo"`
 76127  	// *TaskInfo State enum*
 76128  	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
 76129  	// Kind of entity responsible for creating this task.
 76130  	Reason []BaseTypeDescription `xml:"reason,typeattr" json:"reason"`
 76131  }
 76132  
 76133  func init() {
 76134  	t["TaskDescription"] = reflect.TypeOf((*TaskDescription)(nil)).Elem()
 76135  }
 76136  
 76137  // This event records the creation of a Task.
 76138  //
 76139  // Note that the embedded TaskInfo object is a _snapshot_ of the
 76140  // Task state at the time of its creation, so its state will always be
 76141  // "queued". To find the current status of the task, query for the
 76142  // current state of the Task using the eventChainId in the embedded
 76143  // TaskInfo object.
 76144  type TaskEvent struct {
 76145  	Event
 76146  
 76147  	// The information about the task.
 76148  	Info TaskInfo `xml:"info" json:"info"`
 76149  }
 76150  
 76151  func init() {
 76152  	t["TaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem()
 76153  }
 76154  
 76155  // This data object type defines the specification for the task filter used
 76156  // to query tasks in the history collector database.
 76157  //
 76158  // The client creates a task
 76159  // history collector with a filter specification, then retrieves the tasks from
 76160  // the task history collector.
 76161  type TaskFilterSpec struct {
 76162  	DynamicData
 76163  
 76164  	// The filter specification for retrieving tasks by managed entity.
 76165  	//
 76166  	// If not provided, then the tasks attached to all managed entities are
 76167  	// collected.
 76168  	Entity *TaskFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
 76169  	// The filter specification for retrieving tasks by time.
 76170  	//
 76171  	// If not provided, then the tasks with any time stamp are collected.
 76172  	Time *TaskFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
 76173  	// The filter specification for retrieving tasks by user name.
 76174  	//
 76175  	// If not provided, then the tasks belonging to any user are collected.
 76176  	UserName *TaskFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
 76177  	// This property, if provided, limits the set of collected tasks to those
 76178  	// associated with the specified activation Ids.
 76179  	ActivationId []string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 76180  	// This property, if provided, limits the set of collected tasks by their states.
 76181  	//
 76182  	// Task states are enumerated in `State`.
 76183  	// If not provided, tasks are collected regardless of their state.
 76184  	State []TaskInfoState `xml:"state,omitempty" json:"state,omitempty"`
 76185  	// This property, if provided, limits the set of collected tasks to those
 76186  	// associated with the specified alarm.
 76187  	//
 76188  	// If not provided, tasks are collected regardless of their association with alarms.
 76189  	//
 76190  	// Refers instance of `Alarm`.
 76191  	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
 76192  	// This property, if provided, limits the set of collected tasks to those
 76193  	// associated with the specified scheduled task.
 76194  	//
 76195  	// If not provided, tasks are collected regardless of their association with any
 76196  	// scheduled task.
 76197  	//
 76198  	// Refers instance of `ScheduledTask`.
 76199  	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
 76200  	// The filter specification for retrieving tasks by chain ID.
 76201  	//
 76202  	// If it is set,
 76203  	// tasks not with the given `TaskInfo.eventChainId` will be
 76204  	// filtered out. If the property is not set, tasks' chain ID is disregarded
 76205  	// for filtering purposes.
 76206  	EventChainId []int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty"`
 76207  	// The filter specification for retrieving tasks by
 76208  	// `tag`.
 76209  	//
 76210  	// If it is set, tasks not with the given tag(s)
 76211  	// will be filtered out. If the property is not set, tasks' tag is disregarded for
 76212  	// filtering purposes. If it is set, and includes an empty string, tasks without a
 76213  	// tag will be returned.
 76214  	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
 76215  	// The filter specification for retrieving tasks by
 76216  	// `TaskInfo.parentTaskKey`.
 76217  	//
 76218  	// If it is set, tasks not with the
 76219  	// given parentTaskKey(s) will be filtered out. If the property is not set,
 76220  	// tasks' parentTaskKey is disregarded for filtering purposes.
 76221  	ParentTaskKey []string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 76222  	// The filter specification for retrieving tasks by
 76223  	// `TaskInfo.rootTaskKey`.
 76224  	//
 76225  	// If it is set, tasks not with the
 76226  	// given rootTaskKey(s) will be filtered out. If the property is not set,
 76227  	// tasks' rootTaskKey is disregarded for filtering purposes.
 76228  	RootTaskKey []string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty"`
 76229  }
 76230  
 76231  func init() {
 76232  	t["TaskFilterSpec"] = reflect.TypeOf((*TaskFilterSpec)(nil)).Elem()
 76233  }
 76234  
 76235  // This data object type specifies a managed entity used to
 76236  // filter task history.
 76237  type TaskFilterSpecByEntity struct {
 76238  	DynamicData
 76239  
 76240  	// The managed entity to which the task pertains.
 76241  	//
 76242  	// Refers instance of `ManagedEntity`.
 76243  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 76244  	// Specification of related managed entities in the inventory hierarchy.
 76245  	Recursion TaskFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
 76246  }
 76247  
 76248  func init() {
 76249  	t["TaskFilterSpecByEntity"] = reflect.TypeOf((*TaskFilterSpecByEntity)(nil)).Elem()
 76250  }
 76251  
 76252  // This data object type specifies a time range used to filter task history.
 76253  type TaskFilterSpecByTime struct {
 76254  	DynamicData
 76255  
 76256  	// The time stamp to filter: queued, started, or completed time.
 76257  	TimeType TaskFilterSpecTimeOption `xml:"timeType" json:"timeType"`
 76258  	// The beginning of the time range.
 76259  	//
 76260  	// If this property is not specified, then tasks are collected from
 76261  	// the earliest time in the database.
 76262  	//
 76263  	// When this property is specified, the time type field must also be specified.
 76264  	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
 76265  	// The end of the time range.
 76266  	//
 76267  	// If this property is not specified, then tasks are collected up to
 76268  	// the latest time in the database.
 76269  	//
 76270  	// When this property is specified, the time type field must also be specified.
 76271  	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
 76272  }
 76273  
 76274  func init() {
 76275  	t["TaskFilterSpecByTime"] = reflect.TypeOf((*TaskFilterSpecByTime)(nil)).Elem()
 76276  }
 76277  
 76278  // This data object type enables you to filter task history according to
 76279  // the users who performed the tasks.
 76280  type TaskFilterSpecByUsername struct {
 76281  	DynamicData
 76282  
 76283  	// Whether or not to filter by system user.
 76284  	//
 76285  	// If set to true, filters for system user event.
 76286  	SystemUser bool `xml:"systemUser" json:"systemUser"`
 76287  	// Specifies the username list to use in the filter.
 76288  	//
 76289  	// If not set, then all regular user tasks are collected.
 76290  	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
 76291  }
 76292  
 76293  func init() {
 76294  	t["TaskFilterSpecByUsername"] = reflect.TypeOf((*TaskFilterSpecByUsername)(nil)).Elem()
 76295  }
 76296  
 76297  // The TaskInProgress data object type represents a fault when an operation tries
 76298  // to access an entity that already has another (long) operation in progress.
 76299  type TaskInProgress struct {
 76300  	VimFault
 76301  
 76302  	// The task already in progress when the operation was attempted.
 76303  	//
 76304  	// Refers instance of `Task`.
 76305  	Task ManagedObjectReference `xml:"task" json:"task"`
 76306  }
 76307  
 76308  func init() {
 76309  	t["TaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem()
 76310  }
 76311  
 76312  type TaskInProgressFault BaseTaskInProgress
 76313  
 76314  func init() {
 76315  	t["TaskInProgressFault"] = reflect.TypeOf((*TaskInProgressFault)(nil)).Elem()
 76316  }
 76317  
 76318  // This data object type contains all information about a task.
 76319  //
 76320  // A task
 76321  // represents an operation performed by VirtualCenter or ESX.
 76322  type TaskInfo struct {
 76323  	DynamicData
 76324  
 76325  	// The unique key for the task.
 76326  	Key string `xml:"key" json:"key"`
 76327  	// The managed object that represents this task.
 76328  	//
 76329  	// Refers instance of `Task`.
 76330  	Task ManagedObjectReference `xml:"task" json:"task"`
 76331  	// The description field of the task describes the current phase of
 76332  	// operation of the task.
 76333  	//
 76334  	// For a task that does a single monolithic
 76335  	// activity, this will be fixed and unchanging.
 76336  	// For tasks that have various substeps, this field will change
 76337  	// as the task progresses from one phase to another.
 76338  	Description *LocalizableMessage `xml:"description,omitempty" json:"description,omitempty"`
 76339  	// The name of the operation that created the task.
 76340  	//
 76341  	// This is not set
 76342  	// for internal tasks.
 76343  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 76344  	// An identifier for this operation.
 76345  	//
 76346  	// This includes publicly visible
 76347  	// internal tasks and is a lookup in the TaskDescription methodInfo
 76348  	// data object.
 76349  	DescriptionId string `xml:"descriptionId" json:"descriptionId"`
 76350  	// Managed entity to which the operation applies.
 76351  	//
 76352  	// Refers instance of `ManagedEntity`.
 76353  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 76354  	// The name of the managed entity, locale-specific, retained for the
 76355  	// history collector database.
 76356  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 76357  	// If the state of the task is "running", then this property is a list of
 76358  	// managed entities that the operation has locked, with a shared lock.
 76359  	//
 76360  	// Refers instances of `ManagedEntity`.
 76361  	Locked []ManagedObjectReference `xml:"locked,omitempty" json:"locked,omitempty"`
 76362  	// Runtime status of the task.
 76363  	State TaskInfoState `xml:"state" json:"state"`
 76364  	// Flag to indicate whether or not the client requested
 76365  	// cancellation of the task.
 76366  	Cancelled bool `xml:"cancelled" json:"cancelled"`
 76367  	// Flag to indicate whether or not the cancel task operation is supported.
 76368  	Cancelable bool `xml:"cancelable" json:"cancelable"`
 76369  	// If the task state is "error", then this property contains the fault code.
 76370  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 76371  	// If the task state is "success", then this property may be used
 76372  	// to hold a return value.
 76373  	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
 76374  	// If the task state is "running", then this property contains a
 76375  	// progress measurement, expressed as percentage completed, from 0 to 100.
 76376  	//
 76377  	// If this property is not set, then the command does not report progress.
 76378  	Progress        int32         `xml:"progress,omitempty" json:"progress,omitempty"`
 76379  	ProgressDetails []KeyAnyValue `xml:"progressDetails,omitempty" json:"progressDetails,omitempty" vim:"8.0.1.0"`
 76380  	// Kind of entity responsible for creating this task.
 76381  	Reason BaseTaskReason `xml:"reason,typeattr" json:"reason"`
 76382  	// Time stamp when the task was created.
 76383  	QueueTime time.Time `xml:"queueTime" json:"queueTime"`
 76384  	// Time stamp when the task started running.
 76385  	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
 76386  	// Time stamp when the task was completed (whether success or failure).
 76387  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 76388  	// Event chain ID that leads to the corresponding events.
 76389  	EventChainId int32 `xml:"eventChainId" json:"eventChainId"`
 76390  	// The user entered tag to identify the operations and their side effects
 76391  	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty"`
 76392  	// Tasks can be created by another task.
 76393  	//
 76394  	// This shows `TaskInfo.key` of the task spun off this task. This is to
 76395  	// track causality between tasks.
 76396  	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty"`
 76397  	// Tasks can be created by another task and such creation can go on for
 76398  	// multiple levels.
 76399  	//
 76400  	// This is the `TaskInfo.key` of the task
 76401  	// that started the chain of tasks.
 76402  	RootTaskKey string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty"`
 76403  	// The activation Id is a client-provided token to link an API call with a task.
 76404  	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty"`
 76405  }
 76406  
 76407  func init() {
 76408  	t["TaskInfo"] = reflect.TypeOf((*TaskInfo)(nil)).Elem()
 76409  }
 76410  
 76411  // This data object type defines the specification for the filter used
 76412  // to include or exclude various information from the tasks while retrieving
 76413  // from the history collector database.
 76414  //
 76415  // The client creates a task history
 76416  // collector with `TaskFilterSpec` along with this optional
 76417  // spec, then retrieves the tasks from the task history collector.
 76418  type TaskInfoFilterSpec struct {
 76419  	DynamicData
 76420  
 76421  	// The filter specification for filtering out tasks' results.
 76422  	//
 76423  	// If it is set, then the
 76424  	// results information will be included or excluded based on the supplied parameters. If it is
 76425  	// not set, then results information of all tasks will be included.
 76426  	FilterTaskResults *TaskInfoFilterSpecFilterTaskResults `xml:"filterTaskResults,omitempty" json:"filterTaskResults,omitempty"`
 76427  }
 76428  
 76429  func init() {
 76430  	t["TaskInfoFilterSpec"] = reflect.TypeOf((*TaskInfoFilterSpec)(nil)).Elem()
 76431  	minAPIVersionForType["TaskInfoFilterSpec"] = "8.0.3.0"
 76432  }
 76433  
 76434  // This data object type enables to filter the results information for
 76435  // all or the specified tasks.
 76436  //
 76437  // 1\. If removeAll=true, the results information of all tasks will be excluded.
 76438  // 2\. If removeAll=false/unset:
 76439  // a. If descriptionIds is empty, the results information of all tasks will be included.
 76440  // b. If descriptionIds is non-empty:
 76441  // i. If filterIn=true, the results information of all tasks will be included.
 76442  // ii. If filterIn=false/unset, the results information of all tasks will be excluded.
 76443  type TaskInfoFilterSpecFilterTaskResults struct {
 76444  	DynamicData
 76445  
 76446  	// Excludes results information of all tasks.
 76447  	//
 76448  	// If set to true, the results information of all tasks will be excluded.
 76449  	RemoveAll *bool `xml:"removeAll" json:"removeAll,omitempty"`
 76450  	// The description IDs of tasks that have to be filtered out.
 76451  	//
 76452  	// The `TaskInfoFilterSpecFilterTaskResults.filterIn`
 76453  	// option can switch the behavior to filter in.
 76454  	DescriptionIds []string `xml:"descriptionIds,omitempty" json:"descriptionIds,omitempty"`
 76455  	// Boolean Flag to invert the filter semantics to filter in the results instead of
 76456  	// filtering out.
 76457  	//
 76458  	// If set to true, then the results of only the tasks specified by the
 76459  	// `TaskInfoFilterSpecFilterTaskResults.descriptionIds` will be included.
 76460  	// If unset or set to false, then the results of only the tasks specified by the
 76461  	// `TaskInfoFilterSpecFilterTaskResults.descriptionIds` will be excluded.
 76462  	// This boolean flag will only be considered if descriptionsIds is non-empty and if removeAll is false.
 76463  	FilterIn *bool `xml:"filterIn" json:"filterIn,omitempty"`
 76464  }
 76465  
 76466  func init() {
 76467  	t["TaskInfoFilterSpecFilterTaskResults"] = reflect.TypeOf((*TaskInfoFilterSpecFilterTaskResults)(nil)).Elem()
 76468  	minAPIVersionForType["TaskInfoFilterSpecFilterTaskResults"] = "8.0.3.0"
 76469  }
 76470  
 76471  // Base type for all task reasons.
 76472  //
 76473  // Task reasons represent the kind of entity responsible for a task's creation.
 76474  type TaskReason struct {
 76475  	DynamicData
 76476  }
 76477  
 76478  func init() {
 76479  	t["TaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem()
 76480  }
 76481  
 76482  // Indicates that the task was queued by an alarm.
 76483  type TaskReasonAlarm struct {
 76484  	TaskReason
 76485  
 76486  	// The name of the alarm that queued the task, retained in the history
 76487  	// collector database.
 76488  	AlarmName string `xml:"alarmName" json:"alarmName"`
 76489  	// The alarm object that queued the task.
 76490  	//
 76491  	// Refers instance of `Alarm`.
 76492  	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
 76493  	// The name of the managed entity on which the alarm is triggered,
 76494  	// retained in the history collector database.
 76495  	EntityName string `xml:"entityName" json:"entityName"`
 76496  	// The managed entity object on which the alarm is triggered.
 76497  	//
 76498  	// Refers instance of `ManagedEntity`.
 76499  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 76500  }
 76501  
 76502  func init() {
 76503  	t["TaskReasonAlarm"] = reflect.TypeOf((*TaskReasonAlarm)(nil)).Elem()
 76504  }
 76505  
 76506  // Indicates that the task was queued by a scheduled task.
 76507  type TaskReasonSchedule struct {
 76508  	TaskReason
 76509  
 76510  	// The name of the scheduled task that queued this task.
 76511  	Name string `xml:"name" json:"name"`
 76512  	// The scheduledTask object that queued this task.
 76513  	//
 76514  	// Refers instance of `ScheduledTask`.
 76515  	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
 76516  }
 76517  
 76518  func init() {
 76519  	t["TaskReasonSchedule"] = reflect.TypeOf((*TaskReasonSchedule)(nil)).Elem()
 76520  }
 76521  
 76522  // Indicates that the task was started by the system (a default task).
 76523  type TaskReasonSystem struct {
 76524  	TaskReason
 76525  }
 76526  
 76527  func init() {
 76528  	t["TaskReasonSystem"] = reflect.TypeOf((*TaskReasonSystem)(nil)).Elem()
 76529  }
 76530  
 76531  // Indicates that the task was queued by a specific user.
 76532  type TaskReasonUser struct {
 76533  	TaskReason
 76534  
 76535  	// Name of the user that queued the task.
 76536  	UserName string `xml:"userName" json:"userName"`
 76537  }
 76538  
 76539  func init() {
 76540  	t["TaskReasonUser"] = reflect.TypeOf((*TaskReasonUser)(nil)).Elem()
 76541  }
 76542  
 76543  // The `TaskScheduler` data object is the base type for the scheduler objects.
 76544  //
 76545  // The hierarchy of scheduler objects is as follows:
 76546  //
 76547  //	TaskScheduler
 76548  //	    `AfterStartupTaskScheduler`
 76549  //	    `OnceTaskScheduler`
 76550  //	    `RecurrentTaskScheduler`
 76551  //	        `HourlyTaskScheduler`
 76552  //	            `DailyTaskScheduler`
 76553  //	                `WeeklyTaskScheduler`
 76554  //	                `MonthlyTaskScheduler`
 76555  //	                    `MonthlyByDayTaskScheduler`
 76556  //	                    `MonthlyByWeekdayTaskScheduler`
 76557  //
 76558  // Use a scheduler object to set the time(s) for task execution.
 76559  // You can use two scheduling modes - single execution or
 76560  // recurring execution:
 76561  //   - Use the `AfterStartupTaskScheduler` or the `OnceTaskScheduler`
 76562  //     to schedule a single instance of task execution.
 76563  //   - Use one of the recurrent task schedulers to schedule
 76564  //     hourly, daily, weekly, or monthly task execution.
 76565  //
 76566  // After you have established the task timing, use the scheduler
 76567  // object for the `ScheduledTaskSpec`
 76568  // `ScheduledTaskSpec.scheduler` property value.
 76569  type TaskScheduler struct {
 76570  	DynamicData
 76571  
 76572  	// The time that the schedule for the task takes effect.
 76573  	//
 76574  	// Task activation is distinct from task execution.
 76575  	// When you activate a task, its schedule starts,
 76576  	// and when the next execution time occurs, the task will run.
 76577  	// If you do not set activeTime, the activation time defaults to
 76578  	// the time that you create the scheduled task.
 76579  	ActiveTime *time.Time `xml:"activeTime" json:"activeTime,omitempty"`
 76580  	// The time the schedule for the task expires.
 76581  	//
 76582  	// If you do not set expireTime, the schedule does not expire.
 76583  	ExpireTime *time.Time `xml:"expireTime" json:"expireTime,omitempty"`
 76584  }
 76585  
 76586  func init() {
 76587  	t["TaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem()
 76588  }
 76589  
 76590  // This event records when a task is cleaned up b/c of timeout
 76591  type TaskTimeoutEvent struct {
 76592  	TaskEvent
 76593  }
 76594  
 76595  func init() {
 76596  	t["TaskTimeoutEvent"] = reflect.TypeOf((*TaskTimeoutEvent)(nil)).Elem()
 76597  }
 76598  
 76599  // The teaming configuration of the uplink ports in the DVS matches
 76600  // physical switch configuration.
 76601  type TeamingMatchEvent struct {
 76602  	DvsHealthStatusChangeEvent
 76603  }
 76604  
 76605  func init() {
 76606  	t["TeamingMatchEvent"] = reflect.TypeOf((*TeamingMatchEvent)(nil)).Elem()
 76607  }
 76608  
 76609  // The teaming configuration of the uplink ports in the DVS
 76610  // does not match physical switch configuration.
 76611  type TeamingMisMatchEvent struct {
 76612  	DvsHealthStatusChangeEvent
 76613  }
 76614  
 76615  func init() {
 76616  	t["TeamingMisMatchEvent"] = reflect.TypeOf((*TeamingMisMatchEvent)(nil)).Elem()
 76617  }
 76618  
 76619  // This event records the start of a template upgrade.
 76620  type TemplateBeingUpgradedEvent struct {
 76621  	TemplateUpgradeEvent
 76622  }
 76623  
 76624  func init() {
 76625  	t["TemplateBeingUpgradedEvent"] = reflect.TypeOf((*TemplateBeingUpgradedEvent)(nil)).Elem()
 76626  }
 76627  
 76628  // This data object type describes a template virtual machine configuration file.
 76629  type TemplateConfigFileInfo struct {
 76630  	VmConfigFileInfo
 76631  }
 76632  
 76633  func init() {
 76634  	t["TemplateConfigFileInfo"] = reflect.TypeOf((*TemplateConfigFileInfo)(nil)).Elem()
 76635  }
 76636  
 76637  // This data object type describes the query specification for a template virtual
 76638  // machine configuration file.
 76639  type TemplateConfigFileQuery struct {
 76640  	VmConfigFileQuery
 76641  }
 76642  
 76643  func init() {
 76644  	t["TemplateConfigFileQuery"] = reflect.TypeOf((*TemplateConfigFileQuery)(nil)).Elem()
 76645  }
 76646  
 76647  // This event is the base class for all the template upgrade events.
 76648  type TemplateUpgradeEvent struct {
 76649  	Event
 76650  
 76651  	LegacyTemplate string `xml:"legacyTemplate" json:"legacyTemplate"`
 76652  }
 76653  
 76654  func init() {
 76655  	t["TemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem()
 76656  }
 76657  
 76658  // This event records that the template upgrade failed.
 76659  type TemplateUpgradeFailedEvent struct {
 76660  	TemplateUpgradeEvent
 76661  
 76662  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 76663  }
 76664  
 76665  func init() {
 76666  	t["TemplateUpgradeFailedEvent"] = reflect.TypeOf((*TemplateUpgradeFailedEvent)(nil)).Elem()
 76667  }
 76668  
 76669  // This event records that the template upgrade succeeded.
 76670  type TemplateUpgradedEvent struct {
 76671  	TemplateUpgradeEvent
 76672  }
 76673  
 76674  func init() {
 76675  	t["TemplateUpgradedEvent"] = reflect.TypeOf((*TemplateUpgradedEvent)(nil)).Elem()
 76676  }
 76677  
 76678  // The parameters of `VirtualMachine.TerminateFaultTolerantVM_Task`.
 76679  type TerminateFaultTolerantVMRequestType struct {
 76680  	This ManagedObjectReference `xml:"_this" json:"-"`
 76681  	// The secondary virtual machine specified will be terminated, allowing
 76682  	// fault tolerance to activate. If no virtual machine is specified,
 76683  	// all secondary virtual machines will be terminated. If vm is a
 76684  	// primary, InvalidArgument exception is thrown.
 76685  	// This field must specify a virtual machine that is part of the fault
 76686  	// tolerant group that this virtual machine is currently associated with. It can
 76687  	// only be invoked from the primary virtual machine in the group. If the primary
 76688  	// virtual machine is terminated, an available secondary virtual machine will be
 76689  	// promoted to primary. If no secondary exists, an exception will be thrown and
 76690  	// the primary virtual machine will not be terminated. If a secondary virtual
 76691  	// machine is terminated, it may be respawned on a potentially different host.
 76692  	//
 76693  	// Refers instance of `VirtualMachine`.
 76694  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 76695  }
 76696  
 76697  func init() {
 76698  	t["TerminateFaultTolerantVMRequestType"] = reflect.TypeOf((*TerminateFaultTolerantVMRequestType)(nil)).Elem()
 76699  }
 76700  
 76701  type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType
 76702  
 76703  func init() {
 76704  	t["TerminateFaultTolerantVM_Task"] = reflect.TypeOf((*TerminateFaultTolerantVM_Task)(nil)).Elem()
 76705  }
 76706  
 76707  type TerminateFaultTolerantVM_TaskResponse struct {
 76708  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 76709  }
 76710  
 76711  type TerminateProcessInGuest TerminateProcessInGuestRequestType
 76712  
 76713  func init() {
 76714  	t["TerminateProcessInGuest"] = reflect.TypeOf((*TerminateProcessInGuest)(nil)).Elem()
 76715  }
 76716  
 76717  // The parameters of `GuestProcessManager.TerminateProcessInGuest`.
 76718  type TerminateProcessInGuestRequestType struct {
 76719  	This ManagedObjectReference `xml:"_this" json:"-"`
 76720  	// Virtual machine to perform the operation on.
 76721  	//
 76722  	// Required privileges: VirtualMachine.GuestOperations.Execute
 76723  	//
 76724  	// Refers instance of `VirtualMachine`.
 76725  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 76726  	// The guest authentication data. See
 76727  	// `GuestAuthentication`.
 76728  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 76729  	// Process ID of the process to be terminated
 76730  	Pid int64 `xml:"pid" json:"pid"`
 76731  }
 76732  
 76733  func init() {
 76734  	t["TerminateProcessInGuestRequestType"] = reflect.TypeOf((*TerminateProcessInGuestRequestType)(nil)).Elem()
 76735  }
 76736  
 76737  type TerminateProcessInGuestResponse struct {
 76738  }
 76739  
 76740  type TerminateSession TerminateSessionRequestType
 76741  
 76742  func init() {
 76743  	t["TerminateSession"] = reflect.TypeOf((*TerminateSession)(nil)).Elem()
 76744  }
 76745  
 76746  // The parameters of `SessionManager.TerminateSession`.
 76747  type TerminateSessionRequestType struct {
 76748  	This ManagedObjectReference `xml:"_this" json:"-"`
 76749  	// A list of sessions to terminate.
 76750  	SessionId []string `xml:"sessionId" json:"sessionId"`
 76751  }
 76752  
 76753  func init() {
 76754  	t["TerminateSessionRequestType"] = reflect.TypeOf((*TerminateSessionRequestType)(nil)).Elem()
 76755  }
 76756  
 76757  type TerminateSessionResponse struct {
 76758  }
 76759  
 76760  type TerminateVM TerminateVMRequestType
 76761  
 76762  func init() {
 76763  	t["TerminateVM"] = reflect.TypeOf((*TerminateVM)(nil)).Elem()
 76764  }
 76765  
 76766  type TerminateVMRequestType struct {
 76767  	This ManagedObjectReference `xml:"_this" json:"-"`
 76768  }
 76769  
 76770  func init() {
 76771  	t["TerminateVMRequestType"] = reflect.TypeOf((*TerminateVMRequestType)(nil)).Elem()
 76772  }
 76773  
 76774  type TerminateVMResponse struct {
 76775  }
 76776  
 76777  type TestTimeService TestTimeServiceRequestType
 76778  
 76779  func init() {
 76780  	t["TestTimeService"] = reflect.TypeOf((*TestTimeService)(nil)).Elem()
 76781  }
 76782  
 76783  type TestTimeServiceRequestType struct {
 76784  	This ManagedObjectReference `xml:"_this" json:"-"`
 76785  }
 76786  
 76787  func init() {
 76788  	t["TestTimeServiceRequestType"] = reflect.TypeOf((*TestTimeServiceRequestType)(nil)).Elem()
 76789  }
 76790  
 76791  type TestTimeServiceResponse struct {
 76792  	Returnval *HostDateTimeSystemServiceTestResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 76793  }
 76794  
 76795  // A ThirdPartyLicenseAssignmentFailed fault is thrown when
 76796  // the license assignment to a 3rd party module fails.
 76797  //
 76798  // The 3rd-party modules are installed and ran on ESX hosts,
 76799  // so this fault provides both host and module IDs.
 76800  type ThirdPartyLicenseAssignmentFailed struct {
 76801  	RuntimeFault
 76802  
 76803  	// The ESX host where 3rd party license was applied.
 76804  	//
 76805  	// Refers instance of `HostSystem`.
 76806  	Host ManagedObjectReference `xml:"host" json:"host"`
 76807  	// The asset-id of 3rd party module
 76808  	Module string `xml:"module" json:"module"`
 76809  	// The reason why the assignment failed, if known.
 76810  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 76811  }
 76812  
 76813  func init() {
 76814  	t["ThirdPartyLicenseAssignmentFailed"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailed)(nil)).Elem()
 76815  }
 76816  
 76817  type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed
 76818  
 76819  func init() {
 76820  	t["ThirdPartyLicenseAssignmentFailedFault"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedFault)(nil)).Elem()
 76821  }
 76822  
 76823  // TicketedSessionAuthentication contains the information necessary to
 76824  // use previously obtained credentials in the guest.
 76825  //
 76826  // The ticketed session is not stateless and stores state inside of the guest.
 76827  //
 76828  // A TicketedSessionAuthentication object will be returned as the result of a
 76829  // successful call to `GuestAuthManager.AcquireCredentialsInGuest`. You can
 76830  // use this object in any guest operations function call.
 76831  //
 76832  // When you no longer need the TicketedSessionAuthentication object, you should
 76833  // call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources
 76834  // and session data.
 76835  type TicketedSessionAuthentication struct {
 76836  	GuestAuthentication
 76837  
 76838  	// This contains a base64 encoded Ticket.
 76839  	Ticket string `xml:"ticket" json:"ticket"`
 76840  }
 76841  
 76842  func init() {
 76843  	t["TicketedSessionAuthentication"] = reflect.TypeOf((*TicketedSessionAuthentication)(nil)).Elem()
 76844  }
 76845  
 76846  // This event indicates that an operation performed on the host timed out.
 76847  //
 76848  // Typically,
 76849  // a previous event in the sequence of events contains more
 76850  // information about the cause of the operation timing out.
 76851  type TimedOutHostOperationEvent struct {
 76852  	HostEvent
 76853  }
 76854  
 76855  func init() {
 76856  	t["TimedOutHostOperationEvent"] = reflect.TypeOf((*TimedOutHostOperationEvent)(nil)).Elem()
 76857  }
 76858  
 76859  // Timedout exception is thrown when a server abandons an operation that
 76860  // is taking longer than expected.
 76861  type Timedout struct {
 76862  	VimFault
 76863  }
 76864  
 76865  func init() {
 76866  	t["Timedout"] = reflect.TypeOf((*Timedout)(nil)).Elem()
 76867  }
 76868  
 76869  type TimedoutFault BaseTimedout
 76870  
 76871  func init() {
 76872  	t["TimedoutFault"] = reflect.TypeOf((*TimedoutFault)(nil)).Elem()
 76873  }
 76874  
 76875  // Thrown if the number of levels in the snapshot tree exceeds
 76876  // the supported maximum.
 76877  type TooManyConcurrentNativeClones struct {
 76878  	FileFault
 76879  }
 76880  
 76881  func init() {
 76882  	t["TooManyConcurrentNativeClones"] = reflect.TypeOf((*TooManyConcurrentNativeClones)(nil)).Elem()
 76883  }
 76884  
 76885  type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones
 76886  
 76887  func init() {
 76888  	t["TooManyConcurrentNativeClonesFault"] = reflect.TypeOf((*TooManyConcurrentNativeClonesFault)(nil)).Elem()
 76889  }
 76890  
 76891  // Thrown if there are too many consecutive user overrides of
 76892  // server-managed settings.
 76893  //
 76894  // There are some properties which users are
 76895  // allowed to set only in certain configurations. The system controls them
 76896  // in other configurations, and overrides all user updates. If there are
 76897  // such frequent user overrides in the system controlled state that the
 76898  // next update arrives before the previous override is complete, the
 76899  // system can enter a tight loop and appear unresponsive to the user. This
 76900  // would typically happen if the user overrides are generated by a script.
 76901  // If the number of such user overrides exceeds the supported maximum, we
 76902  // conceptually "throw" this fault. In practice, this is converted into a
 76903  // host-level ConfigIssue in VC.
 76904  type TooManyConsecutiveOverrides struct {
 76905  	VimFault
 76906  }
 76907  
 76908  func init() {
 76909  	t["TooManyConsecutiveOverrides"] = reflect.TypeOf((*TooManyConsecutiveOverrides)(nil)).Elem()
 76910  }
 76911  
 76912  type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides
 76913  
 76914  func init() {
 76915  	t["TooManyConsecutiveOverridesFault"] = reflect.TypeOf((*TooManyConsecutiveOverridesFault)(nil)).Elem()
 76916  }
 76917  
 76918  // Thrown when the number of virtual devices exceeds the maximum for
 76919  // a given controller.
 76920  type TooManyDevices struct {
 76921  	InvalidVmConfig
 76922  }
 76923  
 76924  func init() {
 76925  	t["TooManyDevices"] = reflect.TypeOf((*TooManyDevices)(nil)).Elem()
 76926  }
 76927  
 76928  type TooManyDevicesFault TooManyDevices
 76929  
 76930  func init() {
 76931  	t["TooManyDevicesFault"] = reflect.TypeOf((*TooManyDevicesFault)(nil)).Elem()
 76932  }
 76933  
 76934  // Deprecated as of vSphere 4.1, this error condition is no longer possible.
 76935  //
 76936  // The VM has too many disks which can cause the VM to take a long time
 76937  // to power-on.
 76938  //
 76939  // This can result in migration taking a long time to complete
 76940  // or to fail due to timeout. This is a problem only for migration of
 76941  // powered-on virtual machines from or to ESX 2.x hosts.
 76942  type TooManyDisksOnLegacyHost struct {
 76943  	MigrationFault
 76944  
 76945  	// The number disks this VM has.
 76946  	DiskCount int32 `xml:"diskCount" json:"diskCount"`
 76947  	// Whether this number of disks will cause a timeout failure.
 76948  	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
 76949  }
 76950  
 76951  func init() {
 76952  	t["TooManyDisksOnLegacyHost"] = reflect.TypeOf((*TooManyDisksOnLegacyHost)(nil)).Elem()
 76953  }
 76954  
 76955  type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost
 76956  
 76957  func init() {
 76958  	t["TooManyDisksOnLegacyHostFault"] = reflect.TypeOf((*TooManyDisksOnLegacyHostFault)(nil)).Elem()
 76959  }
 76960  
 76961  // A TooManyGuestLogons exception is thrown when
 76962  // there are too many concurrent login sessions active
 76963  // in the guest.
 76964  //
 76965  // `GuestAuthManager.ReleaseCredentialsInGuest` can be called
 76966  // on ticketed sessions that are no longer needed. This will decrease
 76967  // the number of concurrent sessions active in the guest.
 76968  type TooManyGuestLogons struct {
 76969  	GuestOperationsFault
 76970  }
 76971  
 76972  func init() {
 76973  	t["TooManyGuestLogons"] = reflect.TypeOf((*TooManyGuestLogons)(nil)).Elem()
 76974  }
 76975  
 76976  type TooManyGuestLogonsFault TooManyGuestLogons
 76977  
 76978  func init() {
 76979  	t["TooManyGuestLogonsFault"] = reflect.TypeOf((*TooManyGuestLogonsFault)(nil)).Elem()
 76980  }
 76981  
 76982  // Thrown when a computer resource does not accept any more hosts.
 76983  //
 76984  // Clusters with DRS or
 76985  // HA enabled might impose a limit on the size of the cluster.
 76986  type TooManyHosts struct {
 76987  	HostConnectFault
 76988  }
 76989  
 76990  func init() {
 76991  	t["TooManyHosts"] = reflect.TypeOf((*TooManyHosts)(nil)).Elem()
 76992  }
 76993  
 76994  type TooManyHostsFault TooManyHosts
 76995  
 76996  func init() {
 76997  	t["TooManyHostsFault"] = reflect.TypeOf((*TooManyHostsFault)(nil)).Elem()
 76998  }
 76999  
 77000  // Thrown if the number of levels in the snapshot tree exceeds
 77001  // the supported maximum.
 77002  type TooManyNativeCloneLevels struct {
 77003  	FileFault
 77004  }
 77005  
 77006  func init() {
 77007  	t["TooManyNativeCloneLevels"] = reflect.TypeOf((*TooManyNativeCloneLevels)(nil)).Elem()
 77008  }
 77009  
 77010  type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels
 77011  
 77012  func init() {
 77013  	t["TooManyNativeCloneLevelsFault"] = reflect.TypeOf((*TooManyNativeCloneLevelsFault)(nil)).Elem()
 77014  }
 77015  
 77016  // Thrown if the number of levels in the snapshot tree exceeds
 77017  // the supported maximum.
 77018  type TooManyNativeClonesOnFile struct {
 77019  	FileFault
 77020  }
 77021  
 77022  func init() {
 77023  	t["TooManyNativeClonesOnFile"] = reflect.TypeOf((*TooManyNativeClonesOnFile)(nil)).Elem()
 77024  }
 77025  
 77026  type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile
 77027  
 77028  func init() {
 77029  	t["TooManyNativeClonesOnFileFault"] = reflect.TypeOf((*TooManyNativeClonesOnFileFault)(nil)).Elem()
 77030  }
 77031  
 77032  // Thrown if the number of levels in the snapshot tree exceeds
 77033  // the supported maximum.
 77034  type TooManySnapshotLevels struct {
 77035  	SnapshotFault
 77036  }
 77037  
 77038  func init() {
 77039  	t["TooManySnapshotLevels"] = reflect.TypeOf((*TooManySnapshotLevels)(nil)).Elem()
 77040  }
 77041  
 77042  type TooManySnapshotLevelsFault TooManySnapshotLevels
 77043  
 77044  func init() {
 77045  	t["TooManySnapshotLevelsFault"] = reflect.TypeOf((*TooManySnapshotLevelsFault)(nil)).Elem()
 77046  }
 77047  
 77048  // Thrown when tools upgrade fails because the version of tools
 77049  // installed in the guest is already up-to-date.
 77050  type ToolsAlreadyUpgraded struct {
 77051  	VmToolsUpgradeFault
 77052  }
 77053  
 77054  func init() {
 77055  	t["ToolsAlreadyUpgraded"] = reflect.TypeOf((*ToolsAlreadyUpgraded)(nil)).Elem()
 77056  }
 77057  
 77058  type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded
 77059  
 77060  func init() {
 77061  	t["ToolsAlreadyUpgradedFault"] = reflect.TypeOf((*ToolsAlreadyUpgradedFault)(nil)).Elem()
 77062  }
 77063  
 77064  // Thrown when tools upgrade fails because the virtual machine's
 77065  // guest operating system doesn't support tools auto-upgrades.
 77066  type ToolsAutoUpgradeNotSupported struct {
 77067  	VmToolsUpgradeFault
 77068  }
 77069  
 77070  func init() {
 77071  	t["ToolsAutoUpgradeNotSupported"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupported)(nil)).Elem()
 77072  }
 77073  
 77074  type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported
 77075  
 77076  func init() {
 77077  	t["ToolsAutoUpgradeNotSupportedFault"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupportedFault)(nil)).Elem()
 77078  }
 77079  
 77080  // ToolsConfigInfo is a data object type containing settings for the VMware Tools
 77081  // software running in the guest operating system.
 77082  type ToolsConfigInfo struct {
 77083  	DynamicData
 77084  
 77085  	// Version of VMware Tools installed on the guest operating system.
 77086  	ToolsVersion int32 `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
 77087  	// Installation type of VMware Tools in the guest operating system.
 77088  	//
 77089  	// The set of possible values is described in
 77090  	// `VirtualMachineToolsInstallType_enum`
 77091  	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty"`
 77092  	// Flag to specify whether or not scripts should run
 77093  	// after the virtual machine powers on.
 77094  	AfterPowerOn *bool `xml:"afterPowerOn" json:"afterPowerOn,omitempty"`
 77095  	// Flag to specify whether or not scripts should run
 77096  	// after the virtual machine resumes.
 77097  	AfterResume *bool `xml:"afterResume" json:"afterResume,omitempty"`
 77098  	// Flag to specify whether or not scripts should run
 77099  	// before the virtual machine suspends.
 77100  	BeforeGuestStandby *bool `xml:"beforeGuestStandby" json:"beforeGuestStandby,omitempty"`
 77101  	// Flag to specify whether or not scripts should run
 77102  	// before the virtual machine powers off.
 77103  	BeforeGuestShutdown *bool `xml:"beforeGuestShutdown" json:"beforeGuestShutdown,omitempty"`
 77104  	// Flag to specify whether or not scripts should run
 77105  	// before the virtual machine reboots.
 77106  	BeforeGuestReboot *bool `xml:"beforeGuestReboot" json:"beforeGuestReboot,omitempty"`
 77107  	// Tools upgrade policy setting for the virtual machine.
 77108  	//
 77109  	// See also `UpgradePolicy_enum`.
 77110  	ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty" json:"toolsUpgradePolicy,omitempty"`
 77111  	// When set, this indicates that a customization operation is pending on the VM.
 77112  	//
 77113  	// The value represents the filename of the customization package on the host.
 77114  	PendingCustomization string `xml:"pendingCustomization,omitempty" json:"pendingCustomization,omitempty"`
 77115  	// When set, provides the id of the key used to encrypt the customization
 77116  	// package attached to the VM.
 77117  	CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty" json:"customizationKeyId,omitempty"`
 77118  	// Indicates whether or not the tools program is allowed to synchronize
 77119  	// guest time with host time.
 77120  	//
 77121  	// When set to <code>false</code>, disallows
 77122  	// tool periodic time synchronization as well as guest time step corrections
 77123  	// due to one-off events like resume from suspend.
 77124  	SyncTimeWithHostAllowed *bool `xml:"syncTimeWithHostAllowed" json:"syncTimeWithHostAllowed,omitempty" vim:"7.0.1.0"`
 77125  	// Flag to specify whether or not the tools program will periodically
 77126  	// synchronize guest time with host time.
 77127  	//
 77128  	// Periodical synchronization is
 77129  	// only allowed if `ToolsConfigInfo.syncTimeWithHostAllowed`
 77130  	// is not set to <code>false</code>.
 77131  	SyncTimeWithHost *bool `xml:"syncTimeWithHost" json:"syncTimeWithHost,omitempty"`
 77132  	// Information about the last tools upgrade attempt if applicable.
 77133  	//
 77134  	// This information is maintained by the server and is ignored if set by the client.
 77135  	LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty" json:"lastInstallInfo,omitempty"`
 77136  }
 77137  
 77138  func init() {
 77139  	t["ToolsConfigInfo"] = reflect.TypeOf((*ToolsConfigInfo)(nil)).Elem()
 77140  }
 77141  
 77142  // Describes status of last tools upgrade attempt
 77143  type ToolsConfigInfoToolsLastInstallInfo struct {
 77144  	DynamicData
 77145  
 77146  	// Number of attempts that have been made to upgrade the version of tools
 77147  	// installed on this virtual machine.
 77148  	Counter int32 `xml:"counter" json:"counter"`
 77149  	// Error that happened, if any, during last attempt to upgrade tools.
 77150  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 77151  }
 77152  
 77153  func init() {
 77154  	t["ToolsConfigInfoToolsLastInstallInfo"] = reflect.TypeOf((*ToolsConfigInfoToolsLastInstallInfo)(nil)).Elem()
 77155  }
 77156  
 77157  // Thrown when the tools image couldn't be copied to the guest
 77158  // operating system: disk out of space, file access error, etc.
 77159  type ToolsImageCopyFailed struct {
 77160  	VmToolsUpgradeFault
 77161  }
 77162  
 77163  func init() {
 77164  	t["ToolsImageCopyFailed"] = reflect.TypeOf((*ToolsImageCopyFailed)(nil)).Elem()
 77165  }
 77166  
 77167  type ToolsImageCopyFailedFault ToolsImageCopyFailed
 77168  
 77169  func init() {
 77170  	t["ToolsImageCopyFailedFault"] = reflect.TypeOf((*ToolsImageCopyFailedFault)(nil)).Elem()
 77171  }
 77172  
 77173  // Thrown when tools install or upgrade fails because the required
 77174  // tools image is not available.
 77175  type ToolsImageNotAvailable struct {
 77176  	VmToolsUpgradeFault
 77177  }
 77178  
 77179  func init() {
 77180  	t["ToolsImageNotAvailable"] = reflect.TypeOf((*ToolsImageNotAvailable)(nil)).Elem()
 77181  }
 77182  
 77183  type ToolsImageNotAvailableFault ToolsImageNotAvailable
 77184  
 77185  func init() {
 77186  	t["ToolsImageNotAvailableFault"] = reflect.TypeOf((*ToolsImageNotAvailableFault)(nil)).Elem()
 77187  }
 77188  
 77189  // Thrown when tools install or upgrade fails because the
 77190  // signature check on the tools image failed.
 77191  type ToolsImageSignatureCheckFailed struct {
 77192  	VmToolsUpgradeFault
 77193  }
 77194  
 77195  func init() {
 77196  	t["ToolsImageSignatureCheckFailed"] = reflect.TypeOf((*ToolsImageSignatureCheckFailed)(nil)).Elem()
 77197  }
 77198  
 77199  type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed
 77200  
 77201  func init() {
 77202  	t["ToolsImageSignatureCheckFailedFault"] = reflect.TypeOf((*ToolsImageSignatureCheckFailedFault)(nil)).Elem()
 77203  }
 77204  
 77205  // The virtual machine is currently in the progress of guest tools installation
 77206  // that prevents the migration operation.
 77207  type ToolsInstallationInProgress struct {
 77208  	MigrationFault
 77209  }
 77210  
 77211  func init() {
 77212  	t["ToolsInstallationInProgress"] = reflect.TypeOf((*ToolsInstallationInProgress)(nil)).Elem()
 77213  }
 77214  
 77215  type ToolsInstallationInProgressFault ToolsInstallationInProgress
 77216  
 77217  func init() {
 77218  	t["ToolsInstallationInProgressFault"] = reflect.TypeOf((*ToolsInstallationInProgressFault)(nil)).Elem()
 77219  }
 77220  
 77221  // A ToolsUnavailableFault exception is thrown when an
 77222  // operation fails to contact VMware Tools
 77223  // running inside the virtual machine.
 77224  type ToolsUnavailable struct {
 77225  	VimFault
 77226  }
 77227  
 77228  func init() {
 77229  	t["ToolsUnavailable"] = reflect.TypeOf((*ToolsUnavailable)(nil)).Elem()
 77230  }
 77231  
 77232  type ToolsUnavailableFault ToolsUnavailable
 77233  
 77234  func init() {
 77235  	t["ToolsUnavailableFault"] = reflect.TypeOf((*ToolsUnavailableFault)(nil)).Elem()
 77236  }
 77237  
 77238  // Thrown when tools install or upgrade fails because the
 77239  // operation was canclled by the user.
 77240  type ToolsUpgradeCancelled struct {
 77241  	VmToolsUpgradeFault
 77242  }
 77243  
 77244  func init() {
 77245  	t["ToolsUpgradeCancelled"] = reflect.TypeOf((*ToolsUpgradeCancelled)(nil)).Elem()
 77246  }
 77247  
 77248  type ToolsUpgradeCancelledFault ToolsUpgradeCancelled
 77249  
 77250  func init() {
 77251  	t["ToolsUpgradeCancelledFault"] = reflect.TypeOf((*ToolsUpgradeCancelledFault)(nil)).Elem()
 77252  }
 77253  
 77254  // The `TraversalSpec` data object type specifies
 77255  // how to derive a new set of objects to add to the filter.
 77256  //
 77257  // It specifies a property path whose value is either another managed
 77258  // object or an array of managed objects included in the set of objects for
 77259  // consideration. This data object can also be named, using the "name"
 77260  // field in the base type.
 77261  type TraversalSpec struct {
 77262  	SelectionSpec
 77263  
 77264  	// Name of the object type containing the property.
 77265  	Type string `xml:"type" json:"type"`
 77266  	// Name of the property to use in order to select additional objects.
 77267  	Path string `xml:"path" json:"path"`
 77268  	// Flag to indicate whether or not to filter the object in the "path"
 77269  	// field.
 77270  	Skip *bool `xml:"skip" json:"skip,omitempty"`
 77271  	// Optional set of selections to specify additional objects to filter.
 77272  	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
 77273  }
 77274  
 77275  func init() {
 77276  	t["TraversalSpec"] = reflect.TypeOf((*TraversalSpec)(nil)).Elem()
 77277  }
 77278  
 77279  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
 77280  type TurnDiskLocatorLedOffRequestType struct {
 77281  	This ManagedObjectReference `xml:"_this" json:"-"`
 77282  	// The SCSI disk UUIDs for which the disk locator LED
 77283  	// should be turned off.
 77284  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 77285  }
 77286  
 77287  func init() {
 77288  	t["TurnDiskLocatorLedOffRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOffRequestType)(nil)).Elem()
 77289  }
 77290  
 77291  type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType
 77292  
 77293  func init() {
 77294  	t["TurnDiskLocatorLedOff_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOff_Task)(nil)).Elem()
 77295  }
 77296  
 77297  type TurnDiskLocatorLedOff_TaskResponse struct {
 77298  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77299  }
 77300  
 77301  // The parameters of `HostStorageSystem.TurnDiskLocatorLedOn_Task`.
 77302  type TurnDiskLocatorLedOnRequestType struct {
 77303  	This ManagedObjectReference `xml:"_this" json:"-"`
 77304  	// The SCSI disk UUIDs for which the disk locator LED
 77305  	// should be turned on.
 77306  	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
 77307  }
 77308  
 77309  func init() {
 77310  	t["TurnDiskLocatorLedOnRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOnRequestType)(nil)).Elem()
 77311  }
 77312  
 77313  type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType
 77314  
 77315  func init() {
 77316  	t["TurnDiskLocatorLedOn_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOn_Task)(nil)).Elem()
 77317  }
 77318  
 77319  type TurnDiskLocatorLedOn_TaskResponse struct {
 77320  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77321  }
 77322  
 77323  type TurnOffFaultToleranceForVMRequestType struct {
 77324  	This ManagedObjectReference `xml:"_this" json:"-"`
 77325  }
 77326  
 77327  func init() {
 77328  	t["TurnOffFaultToleranceForVMRequestType"] = reflect.TypeOf((*TurnOffFaultToleranceForVMRequestType)(nil)).Elem()
 77329  }
 77330  
 77331  type TurnOffFaultToleranceForVM_Task TurnOffFaultToleranceForVMRequestType
 77332  
 77333  func init() {
 77334  	t["TurnOffFaultToleranceForVM_Task"] = reflect.TypeOf((*TurnOffFaultToleranceForVM_Task)(nil)).Elem()
 77335  }
 77336  
 77337  type TurnOffFaultToleranceForVM_TaskResponse struct {
 77338  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77339  }
 77340  
 77341  // Static strings used for describing an object type.
 77342  type TypeDescription struct {
 77343  	Description
 77344  
 77345  	// Type being described
 77346  	Key string `xml:"key" json:"key"`
 77347  }
 77348  
 77349  func init() {
 77350  	t["TypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem()
 77351  }
 77352  
 77353  // VFlash is not supported on the datastore.
 77354  type UnSupportedDatastoreForVFlash struct {
 77355  	UnsupportedDatastore
 77356  
 77357  	// The name of the Datastore.
 77358  	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
 77359  	// Datastore file system volume type.
 77360  	//
 77361  	// See `DatastoreSummary.type`
 77362  	Type string `xml:"type" json:"type"`
 77363  }
 77364  
 77365  func init() {
 77366  	t["UnSupportedDatastoreForVFlash"] = reflect.TypeOf((*UnSupportedDatastoreForVFlash)(nil)).Elem()
 77367  }
 77368  
 77369  type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash
 77370  
 77371  func init() {
 77372  	t["UnSupportedDatastoreForVFlashFault"] = reflect.TypeOf((*UnSupportedDatastoreForVFlashFault)(nil)).Elem()
 77373  }
 77374  
 77375  type UnassignUserFromGroup UnassignUserFromGroupRequestType
 77376  
 77377  func init() {
 77378  	t["UnassignUserFromGroup"] = reflect.TypeOf((*UnassignUserFromGroup)(nil)).Elem()
 77379  }
 77380  
 77381  // The parameters of `HostLocalAccountManager.UnassignUserFromGroup`.
 77382  type UnassignUserFromGroupRequestType struct {
 77383  	This ManagedObjectReference `xml:"_this" json:"-"`
 77384  	// User being unassigned from group.
 77385  	User string `xml:"user" json:"user"`
 77386  	// Group from which the user is being removed.
 77387  	Group string `xml:"group" json:"group"`
 77388  }
 77389  
 77390  func init() {
 77391  	t["UnassignUserFromGroupRequestType"] = reflect.TypeOf((*UnassignUserFromGroupRequestType)(nil)).Elem()
 77392  }
 77393  
 77394  type UnassignUserFromGroupResponse struct {
 77395  }
 77396  
 77397  type UnbindVnic UnbindVnicRequestType
 77398  
 77399  func init() {
 77400  	t["UnbindVnic"] = reflect.TypeOf((*UnbindVnic)(nil)).Elem()
 77401  }
 77402  
 77403  // The parameters of `IscsiManager.UnbindVnic`.
 77404  type UnbindVnicRequestType struct {
 77405  	This ManagedObjectReference `xml:"_this" json:"-"`
 77406  	// iSCSI adapter name for which the Virtual NIC to
 77407  	// be removed.
 77408  	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
 77409  	// Virtual NIC that is to be removed from the iSCSI HBA
 77410  	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
 77411  	Force      bool   `xml:"force" json:"force"`
 77412  }
 77413  
 77414  func init() {
 77415  	t["UnbindVnicRequestType"] = reflect.TypeOf((*UnbindVnicRequestType)(nil)).Elem()
 77416  }
 77417  
 77418  type UnbindVnicResponse struct {
 77419  }
 77420  
 77421  // Fault thrown when an attempt is made to move or clone an undoable disk with an
 77422  // uncommitted REDO log.
 77423  //
 77424  // This is an error. Undoable disks may be moved but they must
 77425  // be committed.
 77426  type UncommittedUndoableDisk struct {
 77427  	MigrationFault
 77428  }
 77429  
 77430  func init() {
 77431  	t["UncommittedUndoableDisk"] = reflect.TypeOf((*UncommittedUndoableDisk)(nil)).Elem()
 77432  }
 77433  
 77434  type UncommittedUndoableDiskFault UncommittedUndoableDisk
 77435  
 77436  func init() {
 77437  	t["UncommittedUndoableDiskFault"] = reflect.TypeOf((*UncommittedUndoableDiskFault)(nil)).Elem()
 77438  }
 77439  
 77440  // The property value has not been configured by the user, so the application
 77441  // cannot be started.
 77442  //
 77443  // This is thrown if a property value is the empty string
 77444  // and the types does not allow it. For example, for an integer type or
 77445  // a string where the minimum length is 1, and so forth.
 77446  type UnconfiguredPropertyValue struct {
 77447  	InvalidPropertyValue
 77448  }
 77449  
 77450  func init() {
 77451  	t["UnconfiguredPropertyValue"] = reflect.TypeOf((*UnconfiguredPropertyValue)(nil)).Elem()
 77452  }
 77453  
 77454  type UnconfiguredPropertyValueFault UnconfiguredPropertyValue
 77455  
 77456  func init() {
 77457  	t["UnconfiguredPropertyValueFault"] = reflect.TypeOf((*UnconfiguredPropertyValueFault)(nil)).Elem()
 77458  }
 77459  
 77460  // The specified guest operating system is not supported by the guest
 77461  // customization process.
 77462  type UncustomizableGuest struct {
 77463  	CustomizationFault
 77464  
 77465  	// The guest OS ID for the uncustomizable guest.
 77466  	UncustomizableGuestOS string `xml:"uncustomizableGuestOS" json:"uncustomizableGuestOS"`
 77467  }
 77468  
 77469  func init() {
 77470  	t["UncustomizableGuest"] = reflect.TypeOf((*UncustomizableGuest)(nil)).Elem()
 77471  }
 77472  
 77473  type UncustomizableGuestFault UncustomizableGuest
 77474  
 77475  func init() {
 77476  	t["UncustomizableGuestFault"] = reflect.TypeOf((*UncustomizableGuestFault)(nil)).Elem()
 77477  }
 77478  
 77479  // Error received when customization fails, possibly due to a scripting runtime
 77480  // error or invalid script parameters.
 77481  type UnexpectedCustomizationFault struct {
 77482  	CustomizationFault
 77483  }
 77484  
 77485  func init() {
 77486  	t["UnexpectedCustomizationFault"] = reflect.TypeOf((*UnexpectedCustomizationFault)(nil)).Elem()
 77487  }
 77488  
 77489  type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault
 77490  
 77491  func init() {
 77492  	t["UnexpectedCustomizationFaultFault"] = reflect.TypeOf((*UnexpectedCustomizationFaultFault)(nil)).Elem()
 77493  }
 77494  
 77495  // An UnexpectedFault may be thrown when a newer version of the server
 77496  // reports a error that a cannot be converted to a fault that a client
 77497  // that is using an older version of the API would expect.
 77498  type UnexpectedFault struct {
 77499  	RuntimeFault
 77500  
 77501  	// Name of the unexpected fault.
 77502  	FaultName string `xml:"faultName" json:"faultName"`
 77503  	// The unexpected fault if the server can send it in a form that the client
 77504  	// will be able to de-serialize.
 77505  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 77506  }
 77507  
 77508  func init() {
 77509  	t["UnexpectedFault"] = reflect.TypeOf((*UnexpectedFault)(nil)).Elem()
 77510  }
 77511  
 77512  type UnexpectedFaultFault UnexpectedFault
 77513  
 77514  func init() {
 77515  	t["UnexpectedFaultFault"] = reflect.TypeOf((*UnexpectedFaultFault)(nil)).Elem()
 77516  }
 77517  
 77518  // The parameters of `HostPatchManager.UninstallHostPatch_Task`.
 77519  type UninstallHostPatchRequestType struct {
 77520  	This ManagedObjectReference `xml:"_this" json:"-"`
 77521  	// A list of bulletin IDs to be removed.
 77522  	BulletinIds []string                                   `xml:"bulletinIds,omitempty" json:"bulletinIds,omitempty"`
 77523  	Spec        *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
 77524  }
 77525  
 77526  func init() {
 77527  	t["UninstallHostPatchRequestType"] = reflect.TypeOf((*UninstallHostPatchRequestType)(nil)).Elem()
 77528  }
 77529  
 77530  type UninstallHostPatch_Task UninstallHostPatchRequestType
 77531  
 77532  func init() {
 77533  	t["UninstallHostPatch_Task"] = reflect.TypeOf((*UninstallHostPatch_Task)(nil)).Elem()
 77534  }
 77535  
 77536  type UninstallHostPatch_TaskResponse struct {
 77537  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77538  }
 77539  
 77540  // The parameters of `IoFilterManager.UninstallIoFilter_Task`.
 77541  type UninstallIoFilterRequestType struct {
 77542  	This ManagedObjectReference `xml:"_this" json:"-"`
 77543  	// ID of the filter.
 77544  	FilterId string `xml:"filterId" json:"filterId"`
 77545  	// The compute resource to uninstall the IO Filter from.
 77546  	// "compRes" must be a cluster.
 77547  	//
 77548  	// Refers instance of `ComputeResource`.
 77549  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 77550  }
 77551  
 77552  func init() {
 77553  	t["UninstallIoFilterRequestType"] = reflect.TypeOf((*UninstallIoFilterRequestType)(nil)).Elem()
 77554  }
 77555  
 77556  type UninstallIoFilter_Task UninstallIoFilterRequestType
 77557  
 77558  func init() {
 77559  	t["UninstallIoFilter_Task"] = reflect.TypeOf((*UninstallIoFilter_Task)(nil)).Elem()
 77560  }
 77561  
 77562  type UninstallIoFilter_TaskResponse struct {
 77563  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77564  }
 77565  
 77566  type UninstallService UninstallServiceRequestType
 77567  
 77568  func init() {
 77569  	t["UninstallService"] = reflect.TypeOf((*UninstallService)(nil)).Elem()
 77570  }
 77571  
 77572  // The parameters of `HostServiceSystem.UninstallService`.
 77573  type UninstallServiceRequestType struct {
 77574  	This ManagedObjectReference `xml:"_this" json:"-"`
 77575  	// Service identifier
 77576  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 77577  	Id string `xml:"id" json:"id"`
 77578  }
 77579  
 77580  func init() {
 77581  	t["UninstallServiceRequestType"] = reflect.TypeOf((*UninstallServiceRequestType)(nil)).Elem()
 77582  }
 77583  
 77584  type UninstallServiceResponse struct {
 77585  }
 77586  
 77587  // This event records that we have unlicensed virtual machines on the
 77588  // specified host.
 77589  //
 77590  // This can be both a (@link vim.ManagedEntity.configIssue
 77591  // configIssue) and an entry in the event log.
 77592  type UnlicensedVirtualMachinesEvent struct {
 77593  	LicenseEvent
 77594  
 77595  	Unlicensed int32 `xml:"unlicensed" json:"unlicensed"`
 77596  	Available  int32 `xml:"available" json:"available"`
 77597  }
 77598  
 77599  func init() {
 77600  	t["UnlicensedVirtualMachinesEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesEvent)(nil)).Elem()
 77601  }
 77602  
 77603  // This event records that we discovered unlicensed virtual machines on
 77604  // the specified host.
 77605  //
 77606  // After this event is entered into the event log, we
 77607  // expect to see a corresponding (@link
 77608  // vim.event.Event.UnlicensedVirtualMachinesEvent
 77609  // UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue
 77610  // configIssue) on the host.
 77611  type UnlicensedVirtualMachinesFoundEvent struct {
 77612  	LicenseEvent
 77613  
 77614  	Available int32 `xml:"available" json:"available"`
 77615  }
 77616  
 77617  func init() {
 77618  	t["UnlicensedVirtualMachinesFoundEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesFoundEvent)(nil)).Elem()
 77619  }
 77620  
 77621  // The parameters of `HostStorageSystem.UnmapVmfsVolumeEx_Task`.
 77622  type UnmapVmfsVolumeExRequestType struct {
 77623  	This ManagedObjectReference `xml:"_this" json:"-"`
 77624  	// each element specifies the UUID of a VMFS volume to be unmapped.
 77625  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 77626  }
 77627  
 77628  func init() {
 77629  	t["UnmapVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmapVmfsVolumeExRequestType)(nil)).Elem()
 77630  }
 77631  
 77632  type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType
 77633  
 77634  func init() {
 77635  	t["UnmapVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmapVmfsVolumeEx_Task)(nil)).Elem()
 77636  }
 77637  
 77638  type UnmapVmfsVolumeEx_TaskResponse struct {
 77639  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77640  }
 77641  
 77642  type UnmarkServiceProviderEntities UnmarkServiceProviderEntitiesRequestType
 77643  
 77644  func init() {
 77645  	t["UnmarkServiceProviderEntities"] = reflect.TypeOf((*UnmarkServiceProviderEntities)(nil)).Elem()
 77646  }
 77647  
 77648  // The parameters of `TenantTenantManager.UnmarkServiceProviderEntities`.
 77649  type UnmarkServiceProviderEntitiesRequestType struct {
 77650  	This ManagedObjectReference `xml:"_this" json:"-"`
 77651  	// an array of management entities.
 77652  	//
 77653  	// Required privileges: TenantManager.Update
 77654  	//
 77655  	// Refers instances of `ManagedEntity`.
 77656  	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 77657  }
 77658  
 77659  func init() {
 77660  	t["UnmarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*UnmarkServiceProviderEntitiesRequestType)(nil)).Elem()
 77661  }
 77662  
 77663  type UnmarkServiceProviderEntitiesResponse struct {
 77664  }
 77665  
 77666  // The parameters of `HostVsanSystem.UnmountDiskMapping_Task`.
 77667  type UnmountDiskMappingRequestType struct {
 77668  	This    ManagedObjectReference `xml:"_this" json:"-"`
 77669  	Mapping []VsanHostDiskMapping  `xml:"mapping" json:"mapping"`
 77670  }
 77671  
 77672  func init() {
 77673  	t["UnmountDiskMappingRequestType"] = reflect.TypeOf((*UnmountDiskMappingRequestType)(nil)).Elem()
 77674  }
 77675  
 77676  type UnmountDiskMapping_Task UnmountDiskMappingRequestType
 77677  
 77678  func init() {
 77679  	t["UnmountDiskMapping_Task"] = reflect.TypeOf((*UnmountDiskMapping_Task)(nil)).Elem()
 77680  }
 77681  
 77682  type UnmountDiskMapping_TaskResponse struct {
 77683  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77684  }
 77685  
 77686  type UnmountForceMountedVmfsVolume UnmountForceMountedVmfsVolumeRequestType
 77687  
 77688  func init() {
 77689  	t["UnmountForceMountedVmfsVolume"] = reflect.TypeOf((*UnmountForceMountedVmfsVolume)(nil)).Elem()
 77690  }
 77691  
 77692  // The parameters of `HostStorageSystem.UnmountForceMountedVmfsVolume`.
 77693  type UnmountForceMountedVmfsVolumeRequestType struct {
 77694  	This     ManagedObjectReference `xml:"_this" json:"-"`
 77695  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 77696  }
 77697  
 77698  func init() {
 77699  	t["UnmountForceMountedVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountForceMountedVmfsVolumeRequestType)(nil)).Elem()
 77700  }
 77701  
 77702  type UnmountForceMountedVmfsVolumeResponse struct {
 77703  }
 77704  
 77705  type UnmountToolsInstaller UnmountToolsInstallerRequestType
 77706  
 77707  func init() {
 77708  	t["UnmountToolsInstaller"] = reflect.TypeOf((*UnmountToolsInstaller)(nil)).Elem()
 77709  }
 77710  
 77711  type UnmountToolsInstallerRequestType struct {
 77712  	This ManagedObjectReference `xml:"_this" json:"-"`
 77713  }
 77714  
 77715  func init() {
 77716  	t["UnmountToolsInstallerRequestType"] = reflect.TypeOf((*UnmountToolsInstallerRequestType)(nil)).Elem()
 77717  }
 77718  
 77719  type UnmountToolsInstallerResponse struct {
 77720  }
 77721  
 77722  type UnmountVffsVolume UnmountVffsVolumeRequestType
 77723  
 77724  func init() {
 77725  	t["UnmountVffsVolume"] = reflect.TypeOf((*UnmountVffsVolume)(nil)).Elem()
 77726  }
 77727  
 77728  // The parameters of `HostStorageSystem.UnmountVffsVolume`.
 77729  type UnmountVffsVolumeRequestType struct {
 77730  	This     ManagedObjectReference `xml:"_this" json:"-"`
 77731  	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
 77732  }
 77733  
 77734  func init() {
 77735  	t["UnmountVffsVolumeRequestType"] = reflect.TypeOf((*UnmountVffsVolumeRequestType)(nil)).Elem()
 77736  }
 77737  
 77738  type UnmountVffsVolumeResponse struct {
 77739  }
 77740  
 77741  type UnmountVmfsVolume UnmountVmfsVolumeRequestType
 77742  
 77743  func init() {
 77744  	t["UnmountVmfsVolume"] = reflect.TypeOf((*UnmountVmfsVolume)(nil)).Elem()
 77745  }
 77746  
 77747  // The parameters of `HostStorageSystem.UnmountVmfsVolumeEx_Task`.
 77748  type UnmountVmfsVolumeExRequestType struct {
 77749  	This ManagedObjectReference `xml:"_this" json:"-"`
 77750  	// each element specifies the UUID of a VMFS volume to be unmounted.
 77751  	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
 77752  }
 77753  
 77754  func init() {
 77755  	t["UnmountVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeExRequestType)(nil)).Elem()
 77756  }
 77757  
 77758  type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType
 77759  
 77760  func init() {
 77761  	t["UnmountVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmountVmfsVolumeEx_Task)(nil)).Elem()
 77762  }
 77763  
 77764  type UnmountVmfsVolumeEx_TaskResponse struct {
 77765  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77766  }
 77767  
 77768  // The parameters of `HostStorageSystem.UnmountVmfsVolume`.
 77769  type UnmountVmfsVolumeRequestType struct {
 77770  	This     ManagedObjectReference `xml:"_this" json:"-"`
 77771  	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
 77772  }
 77773  
 77774  func init() {
 77775  	t["UnmountVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeRequestType)(nil)).Elem()
 77776  }
 77777  
 77778  type UnmountVmfsVolumeResponse struct {
 77779  }
 77780  
 77781  // A UnrecognizedHost is thrown if the VirtualCenter server fails to
 77782  // validate the identity of the host using host-key.
 77783  //
 77784  // If a reconnect is attempted on a host and if the host-key of the host
 77785  // has changed since the last successful connection attempt,
 77786  // (might be changed by another instance of VirtualCenter), VirtualCenter
 77787  // server will fail to recognize the host.
 77788  type UnrecognizedHost struct {
 77789  	VimFault
 77790  
 77791  	// Host in the VirtualCenter inventory which failed the identity
 77792  	// validation.
 77793  	HostName string `xml:"hostName" json:"hostName"`
 77794  }
 77795  
 77796  func init() {
 77797  	t["UnrecognizedHost"] = reflect.TypeOf((*UnrecognizedHost)(nil)).Elem()
 77798  }
 77799  
 77800  type UnrecognizedHostFault UnrecognizedHost
 77801  
 77802  func init() {
 77803  	t["UnrecognizedHostFault"] = reflect.TypeOf((*UnrecognizedHostFault)(nil)).Elem()
 77804  }
 77805  
 77806  type UnregisterAndDestroyRequestType struct {
 77807  	This ManagedObjectReference `xml:"_this" json:"-"`
 77808  }
 77809  
 77810  func init() {
 77811  	t["UnregisterAndDestroyRequestType"] = reflect.TypeOf((*UnregisterAndDestroyRequestType)(nil)).Elem()
 77812  }
 77813  
 77814  type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType
 77815  
 77816  func init() {
 77817  	t["UnregisterAndDestroy_Task"] = reflect.TypeOf((*UnregisterAndDestroy_Task)(nil)).Elem()
 77818  }
 77819  
 77820  type UnregisterAndDestroy_TaskResponse struct {
 77821  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 77822  }
 77823  
 77824  type UnregisterExtension UnregisterExtensionRequestType
 77825  
 77826  func init() {
 77827  	t["UnregisterExtension"] = reflect.TypeOf((*UnregisterExtension)(nil)).Elem()
 77828  }
 77829  
 77830  // The parameters of `ExtensionManager.UnregisterExtension`.
 77831  type UnregisterExtensionRequestType struct {
 77832  	This ManagedObjectReference `xml:"_this" json:"-"`
 77833  	// Unique name of extension to unregister.
 77834  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 77835  }
 77836  
 77837  func init() {
 77838  	t["UnregisterExtensionRequestType"] = reflect.TypeOf((*UnregisterExtensionRequestType)(nil)).Elem()
 77839  }
 77840  
 77841  type UnregisterExtensionResponse struct {
 77842  }
 77843  
 77844  type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType
 77845  
 77846  func init() {
 77847  	t["UnregisterHealthUpdateProvider"] = reflect.TypeOf((*UnregisterHealthUpdateProvider)(nil)).Elem()
 77848  }
 77849  
 77850  // The parameters of `HealthUpdateManager.UnregisterHealthUpdateProvider`.
 77851  type UnregisterHealthUpdateProviderRequestType struct {
 77852  	This ManagedObjectReference `xml:"_this" json:"-"`
 77853  	// The provider id.
 77854  	ProviderId string `xml:"providerId" json:"providerId"`
 77855  }
 77856  
 77857  func init() {
 77858  	t["UnregisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*UnregisterHealthUpdateProviderRequestType)(nil)).Elem()
 77859  }
 77860  
 77861  type UnregisterHealthUpdateProviderResponse struct {
 77862  }
 77863  
 77864  type UnregisterKmsCluster UnregisterKmsClusterRequestType
 77865  
 77866  func init() {
 77867  	t["UnregisterKmsCluster"] = reflect.TypeOf((*UnregisterKmsCluster)(nil)).Elem()
 77868  }
 77869  
 77870  // The parameters of `CryptoManagerKmip.UnregisterKmsCluster`.
 77871  type UnregisterKmsClusterRequestType struct {
 77872  	This ManagedObjectReference `xml:"_this" json:"-"`
 77873  	// \[in\] KMS cluster ID to unregister.
 77874  	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
 77875  }
 77876  
 77877  func init() {
 77878  	t["UnregisterKmsClusterRequestType"] = reflect.TypeOf((*UnregisterKmsClusterRequestType)(nil)).Elem()
 77879  }
 77880  
 77881  type UnregisterKmsClusterResponse struct {
 77882  }
 77883  
 77884  type UnregisterVM UnregisterVMRequestType
 77885  
 77886  func init() {
 77887  	t["UnregisterVM"] = reflect.TypeOf((*UnregisterVM)(nil)).Elem()
 77888  }
 77889  
 77890  type UnregisterVMRequestType struct {
 77891  	This ManagedObjectReference `xml:"_this" json:"-"`
 77892  }
 77893  
 77894  func init() {
 77895  	t["UnregisterVMRequestType"] = reflect.TypeOf((*UnregisterVMRequestType)(nil)).Elem()
 77896  }
 77897  
 77898  type UnregisterVMResponse struct {
 77899  }
 77900  
 77901  // The compute resource and virtual machine configurations for swapfile
 77902  // placement would require the virtual machine swapfile to change location for
 77903  // this VMotion; however the host does not support this.
 77904  type UnsharedSwapVMotionNotSupported struct {
 77905  	MigrationFeatureNotSupported
 77906  }
 77907  
 77908  func init() {
 77909  	t["UnsharedSwapVMotionNotSupported"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupported)(nil)).Elem()
 77910  }
 77911  
 77912  type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported
 77913  
 77914  func init() {
 77915  	t["UnsharedSwapVMotionNotSupportedFault"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupportedFault)(nil)).Elem()
 77916  }
 77917  
 77918  // The virtual machine is not supported on the target datastore.
 77919  //
 77920  // This fault is
 77921  // thrown by provisioning operations when an attempt is made to create a virtual
 77922  // machine on an unsupported datastore (for example, creating a non-legacy
 77923  // virtual machine on a legacy datastore).
 77924  type UnsupportedDatastore struct {
 77925  	VmConfigFault
 77926  
 77927  	// The invalid datastore for this virtual machine.
 77928  	//
 77929  	// Refers instance of `Datastore`.
 77930  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 77931  }
 77932  
 77933  func init() {
 77934  	t["UnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem()
 77935  }
 77936  
 77937  type UnsupportedDatastoreFault BaseUnsupportedDatastore
 77938  
 77939  func init() {
 77940  	t["UnsupportedDatastoreFault"] = reflect.TypeOf((*UnsupportedDatastoreFault)(nil)).Elem()
 77941  }
 77942  
 77943  // The specified guest operating system is not supported on the host
 77944  // that is the target of the operation.
 77945  type UnsupportedGuest struct {
 77946  	InvalidVmConfig
 77947  
 77948  	// The guest OS ID for the unsupported guest.
 77949  	UnsupportedGuestOS string `xml:"unsupportedGuestOS" json:"unsupportedGuestOS"`
 77950  }
 77951  
 77952  func init() {
 77953  	t["UnsupportedGuest"] = reflect.TypeOf((*UnsupportedGuest)(nil)).Elem()
 77954  }
 77955  
 77956  type UnsupportedGuestFault UnsupportedGuest
 77957  
 77958  func init() {
 77959  	t["UnsupportedGuestFault"] = reflect.TypeOf((*UnsupportedGuestFault)(nil)).Elem()
 77960  }
 77961  
 77962  // This exception will be thrown if a client tries to connect with a unsupported version
 77963  // of the Vim API.
 77964  type UnsupportedVimApiVersion struct {
 77965  	VimFault
 77966  
 77967  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 77968  }
 77969  
 77970  func init() {
 77971  	t["UnsupportedVimApiVersion"] = reflect.TypeOf((*UnsupportedVimApiVersion)(nil)).Elem()
 77972  }
 77973  
 77974  type UnsupportedVimApiVersionFault UnsupportedVimApiVersion
 77975  
 77976  func init() {
 77977  	t["UnsupportedVimApiVersionFault"] = reflect.TypeOf((*UnsupportedVimApiVersionFault)(nil)).Elem()
 77978  }
 77979  
 77980  // ESX 3 Server products requires the .vmx file to be stored
 77981  // on NAS or VMFS3 storage.
 77982  //
 77983  // If attempting to power on a virtual
 77984  // machine with the .vmx file stored on the service console, this
 77985  // fault will be thrown.
 77986  type UnsupportedVmxLocation struct {
 77987  	VmConfigFault
 77988  }
 77989  
 77990  func init() {
 77991  	t["UnsupportedVmxLocation"] = reflect.TypeOf((*UnsupportedVmxLocation)(nil)).Elem()
 77992  }
 77993  
 77994  type UnsupportedVmxLocationFault UnsupportedVmxLocation
 77995  
 77996  func init() {
 77997  	t["UnsupportedVmxLocationFault"] = reflect.TypeOf((*UnsupportedVmxLocationFault)(nil)).Elem()
 77998  }
 77999  
 78000  // Specifies SSL policy for untrusted SSL certificate.
 78001  //
 78002  // This option allows to explicitly disable SSL certificate verification.
 78003  type UntrustedCertificate struct {
 78004  	IoFilterManagerSslTrust
 78005  }
 78006  
 78007  func init() {
 78008  	t["UntrustedCertificate"] = reflect.TypeOf((*UntrustedCertificate)(nil)).Elem()
 78009  	minAPIVersionForType["UntrustedCertificate"] = "8.0.3.0"
 78010  }
 78011  
 78012  // The unused disk blocks of the specified virtual disk have not been
 78013  // scrubbed on the file system.
 78014  //
 78015  // Typically, this fault is returned as part of a parent fault like
 78016  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 78017  // unused blocks of the virtual disk must be zeroed-out on the file system before
 78018  // before fault tolerance can be enabled on the associated virtual machine.
 78019  type UnusedVirtualDiskBlocksNotScrubbed struct {
 78020  	DeviceBackingNotSupported
 78021  }
 78022  
 78023  func init() {
 78024  	t["UnusedVirtualDiskBlocksNotScrubbed"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbed)(nil)).Elem()
 78025  }
 78026  
 78027  type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed
 78028  
 78029  func init() {
 78030  	t["UnusedVirtualDiskBlocksNotScrubbedFault"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbedFault)(nil)).Elem()
 78031  }
 78032  
 78033  // The parameters of `HostProfileManager.UpdateAnswerFile_Task`.
 78034  type UpdateAnswerFileRequestType struct {
 78035  	This ManagedObjectReference `xml:"_this" json:"-"`
 78036  	// Host with which the answer file is associated.
 78037  	//
 78038  	// Refers instance of `HostSystem`.
 78039  	Host ManagedObjectReference `xml:"host" json:"host"`
 78040  	// Host-specific configuration data. If the configuration
 78041  	// specification does not contain any host-specific user input
 78042  	// (<code>configSpec</code>.`AnswerFileOptionsCreateSpec.userInput`),
 78043  	// the method does not perform any operation on the answer file.
 78044  	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
 78045  }
 78046  
 78047  func init() {
 78048  	t["UpdateAnswerFileRequestType"] = reflect.TypeOf((*UpdateAnswerFileRequestType)(nil)).Elem()
 78049  }
 78050  
 78051  type UpdateAnswerFile_Task UpdateAnswerFileRequestType
 78052  
 78053  func init() {
 78054  	t["UpdateAnswerFile_Task"] = reflect.TypeOf((*UpdateAnswerFile_Task)(nil)).Elem()
 78055  }
 78056  
 78057  type UpdateAnswerFile_TaskResponse struct {
 78058  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78059  }
 78060  
 78061  type UpdateAssignableHardwareConfig UpdateAssignableHardwareConfigRequestType
 78062  
 78063  func init() {
 78064  	t["UpdateAssignableHardwareConfig"] = reflect.TypeOf((*UpdateAssignableHardwareConfig)(nil)).Elem()
 78065  }
 78066  
 78067  // The parameters of `HostAssignableHardwareManager.UpdateAssignableHardwareConfig`.
 78068  type UpdateAssignableHardwareConfigRequestType struct {
 78069  	This   ManagedObjectReference       `xml:"_this" json:"-"`
 78070  	Config HostAssignableHardwareConfig `xml:"config" json:"config"`
 78071  }
 78072  
 78073  func init() {
 78074  	t["UpdateAssignableHardwareConfigRequestType"] = reflect.TypeOf((*UpdateAssignableHardwareConfigRequestType)(nil)).Elem()
 78075  }
 78076  
 78077  type UpdateAssignableHardwareConfigResponse struct {
 78078  }
 78079  
 78080  type UpdateAssignedLicense UpdateAssignedLicenseRequestType
 78081  
 78082  func init() {
 78083  	t["UpdateAssignedLicense"] = reflect.TypeOf((*UpdateAssignedLicense)(nil)).Elem()
 78084  }
 78085  
 78086  // The parameters of `LicenseAssignmentManager.UpdateAssignedLicense`.
 78087  type UpdateAssignedLicenseRequestType struct {
 78088  	This ManagedObjectReference `xml:"_this" json:"-"`
 78089  	// ID of the entity. E.g. HostSystem.
 78090  	Entity string `xml:"entity" json:"entity"`
 78091  	// A license.
 78092  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 78093  	// Display name for the entity
 78094  	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
 78095  }
 78096  
 78097  func init() {
 78098  	t["UpdateAssignedLicenseRequestType"] = reflect.TypeOf((*UpdateAssignedLicenseRequestType)(nil)).Elem()
 78099  }
 78100  
 78101  type UpdateAssignedLicenseResponse struct {
 78102  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 78103  }
 78104  
 78105  type UpdateAuthorizationRole UpdateAuthorizationRoleRequestType
 78106  
 78107  func init() {
 78108  	t["UpdateAuthorizationRole"] = reflect.TypeOf((*UpdateAuthorizationRole)(nil)).Elem()
 78109  }
 78110  
 78111  // The parameters of `AuthorizationManager.UpdateAuthorizationRole`.
 78112  type UpdateAuthorizationRoleRequestType struct {
 78113  	This ManagedObjectReference `xml:"_this" json:"-"`
 78114  	// The ID of the role that is updated.
 78115  	RoleId int32 `xml:"roleId" json:"roleId"`
 78116  	// The new name for the role.
 78117  	NewName string `xml:"newName" json:"newName"`
 78118  	// The new set of privileges to assign to the role.
 78119  	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
 78120  }
 78121  
 78122  func init() {
 78123  	t["UpdateAuthorizationRoleRequestType"] = reflect.TypeOf((*UpdateAuthorizationRoleRequestType)(nil)).Elem()
 78124  }
 78125  
 78126  type UpdateAuthorizationRoleResponse struct {
 78127  }
 78128  
 78129  type UpdateBootDevice UpdateBootDeviceRequestType
 78130  
 78131  func init() {
 78132  	t["UpdateBootDevice"] = reflect.TypeOf((*UpdateBootDevice)(nil)).Elem()
 78133  }
 78134  
 78135  // The parameters of `HostBootDeviceSystem.UpdateBootDevice`.
 78136  type UpdateBootDeviceRequestType struct {
 78137  	This ManagedObjectReference `xml:"_this" json:"-"`
 78138  	// The `HostBootDevice.key` of the
 78139  	// `HostBootDevice` from which the host will boot.
 78140  	Key string `xml:"key" json:"key"`
 78141  }
 78142  
 78143  func init() {
 78144  	t["UpdateBootDeviceRequestType"] = reflect.TypeOf((*UpdateBootDeviceRequestType)(nil)).Elem()
 78145  }
 78146  
 78147  type UpdateBootDeviceResponse struct {
 78148  }
 78149  
 78150  type UpdateChildResourceConfiguration UpdateChildResourceConfigurationRequestType
 78151  
 78152  func init() {
 78153  	t["UpdateChildResourceConfiguration"] = reflect.TypeOf((*UpdateChildResourceConfiguration)(nil)).Elem()
 78154  }
 78155  
 78156  // The parameters of `ResourcePool.UpdateChildResourceConfiguration`.
 78157  type UpdateChildResourceConfigurationRequestType struct {
 78158  	This ManagedObjectReference `xml:"_this" json:"-"`
 78159  	Spec []ResourceConfigSpec   `xml:"spec" json:"spec"`
 78160  }
 78161  
 78162  func init() {
 78163  	t["UpdateChildResourceConfigurationRequestType"] = reflect.TypeOf((*UpdateChildResourceConfigurationRequestType)(nil)).Elem()
 78164  }
 78165  
 78166  type UpdateChildResourceConfigurationResponse struct {
 78167  }
 78168  
 78169  type UpdateClusterProfile UpdateClusterProfileRequestType
 78170  
 78171  func init() {
 78172  	t["UpdateClusterProfile"] = reflect.TypeOf((*UpdateClusterProfile)(nil)).Elem()
 78173  }
 78174  
 78175  // The parameters of `ClusterProfile.UpdateClusterProfile`.
 78176  type UpdateClusterProfileRequestType struct {
 78177  	This ManagedObjectReference `xml:"_this" json:"-"`
 78178  	// Specification which describes the changes.
 78179  	Config BaseClusterProfileConfigSpec `xml:"config,typeattr" json:"config"`
 78180  }
 78181  
 78182  func init() {
 78183  	t["UpdateClusterProfileRequestType"] = reflect.TypeOf((*UpdateClusterProfileRequestType)(nil)).Elem()
 78184  }
 78185  
 78186  type UpdateClusterProfileResponse struct {
 78187  }
 78188  
 78189  type UpdateConfig UpdateConfigRequestType
 78190  
 78191  func init() {
 78192  	t["UpdateConfig"] = reflect.TypeOf((*UpdateConfig)(nil)).Elem()
 78193  }
 78194  
 78195  // The parameters of `ResourcePool.UpdateConfig`.
 78196  type UpdateConfigRequestType struct {
 78197  	This ManagedObjectReference `xml:"_this" json:"-"`
 78198  	// If set, then the new name of the resource pool.
 78199  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 78200  	// If set, then the new resource allocation for this
 78201  	// resource pool.
 78202  	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 78203  }
 78204  
 78205  func init() {
 78206  	t["UpdateConfigRequestType"] = reflect.TypeOf((*UpdateConfigRequestType)(nil)).Elem()
 78207  }
 78208  
 78209  type UpdateConfigResponse struct {
 78210  }
 78211  
 78212  type UpdateConsoleIpRouteConfig UpdateConsoleIpRouteConfigRequestType
 78213  
 78214  func init() {
 78215  	t["UpdateConsoleIpRouteConfig"] = reflect.TypeOf((*UpdateConsoleIpRouteConfig)(nil)).Elem()
 78216  }
 78217  
 78218  // The parameters of `HostNetworkSystem.UpdateConsoleIpRouteConfig`.
 78219  type UpdateConsoleIpRouteConfigRequestType struct {
 78220  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78221  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 78222  }
 78223  
 78224  func init() {
 78225  	t["UpdateConsoleIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateConsoleIpRouteConfigRequestType)(nil)).Elem()
 78226  }
 78227  
 78228  type UpdateConsoleIpRouteConfigResponse struct {
 78229  }
 78230  
 78231  type UpdateCounterLevelMapping UpdateCounterLevelMappingRequestType
 78232  
 78233  func init() {
 78234  	t["UpdateCounterLevelMapping"] = reflect.TypeOf((*UpdateCounterLevelMapping)(nil)).Elem()
 78235  }
 78236  
 78237  // The parameters of `PerformanceManager.UpdateCounterLevelMapping`.
 78238  type UpdateCounterLevelMappingRequestType struct {
 78239  	This ManagedObjectReference `xml:"_this" json:"-"`
 78240  	// An array of `PerformanceManagerCounterLevelMapping` objects. The
 78241  	// levels for the counters passed in are changed to the passed in values. If
 78242  	// the optional aggregateLevel field is left unset then only the
 78243  	// perDeviceLevel is configured. If the optional perDeviceLevel is left
 78244  	// unset then only the aggregateLevel is configured. If there are multiple
 78245  	// entries in the passed in array for the same counterId being updated then
 78246  	// the last entry containing the counterId takes effect.
 78247  	CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap" json:"counterLevelMap"`
 78248  }
 78249  
 78250  func init() {
 78251  	t["UpdateCounterLevelMappingRequestType"] = reflect.TypeOf((*UpdateCounterLevelMappingRequestType)(nil)).Elem()
 78252  }
 78253  
 78254  type UpdateCounterLevelMappingResponse struct {
 78255  }
 78256  
 78257  // The parameters of `DistributedVirtualSwitch.UpdateDVSHealthCheckConfig_Task`.
 78258  type UpdateDVSHealthCheckConfigRequestType struct {
 78259  	This ManagedObjectReference `xml:"_this" json:"-"`
 78260  	// The health check configuration.
 78261  	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr" json:"healthCheckConfig"`
 78262  }
 78263  
 78264  func init() {
 78265  	t["UpdateDVSHealthCheckConfigRequestType"] = reflect.TypeOf((*UpdateDVSHealthCheckConfigRequestType)(nil)).Elem()
 78266  }
 78267  
 78268  type UpdateDVSHealthCheckConfig_Task UpdateDVSHealthCheckConfigRequestType
 78269  
 78270  func init() {
 78271  	t["UpdateDVSHealthCheckConfig_Task"] = reflect.TypeOf((*UpdateDVSHealthCheckConfig_Task)(nil)).Elem()
 78272  }
 78273  
 78274  type UpdateDVSHealthCheckConfig_TaskResponse struct {
 78275  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78276  }
 78277  
 78278  // The parameters of `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task`.
 78279  type UpdateDVSLacpGroupConfigRequestType struct {
 78280  	This ManagedObjectReference `xml:"_this" json:"-"`
 78281  	// The Link Aggregation Control Protocol groups to be configured.
 78282  	LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec" json:"lacpGroupSpec"`
 78283  }
 78284  
 78285  func init() {
 78286  	t["UpdateDVSLacpGroupConfigRequestType"] = reflect.TypeOf((*UpdateDVSLacpGroupConfigRequestType)(nil)).Elem()
 78287  }
 78288  
 78289  type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType
 78290  
 78291  func init() {
 78292  	t["UpdateDVSLacpGroupConfig_Task"] = reflect.TypeOf((*UpdateDVSLacpGroupConfig_Task)(nil)).Elem()
 78293  }
 78294  
 78295  type UpdateDVSLacpGroupConfig_TaskResponse struct {
 78296  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 78297  }
 78298  
 78299  type UpdateDateTime UpdateDateTimeRequestType
 78300  
 78301  func init() {
 78302  	t["UpdateDateTime"] = reflect.TypeOf((*UpdateDateTime)(nil)).Elem()
 78303  }
 78304  
 78305  type UpdateDateTimeConfig UpdateDateTimeConfigRequestType
 78306  
 78307  func init() {
 78308  	t["UpdateDateTimeConfig"] = reflect.TypeOf((*UpdateDateTimeConfig)(nil)).Elem()
 78309  }
 78310  
 78311  // The parameters of `HostDateTimeSystem.UpdateDateTimeConfig`.
 78312  type UpdateDateTimeConfigRequestType struct {
 78313  	This ManagedObjectReference `xml:"_this" json:"-"`
 78314  	// The new DateTime configuration information.
 78315  	Config HostDateTimeConfig `xml:"config" json:"config"`
 78316  }
 78317  
 78318  func init() {
 78319  	t["UpdateDateTimeConfigRequestType"] = reflect.TypeOf((*UpdateDateTimeConfigRequestType)(nil)).Elem()
 78320  }
 78321  
 78322  type UpdateDateTimeConfigResponse struct {
 78323  }
 78324  
 78325  // The parameters of `HostDateTimeSystem.UpdateDateTime`.
 78326  type UpdateDateTimeRequestType struct {
 78327  	This ManagedObjectReference `xml:"_this" json:"-"`
 78328  	// DateTime to update the host to.
 78329  	DateTime time.Time `xml:"dateTime" json:"dateTime"`
 78330  }
 78331  
 78332  func init() {
 78333  	t["UpdateDateTimeRequestType"] = reflect.TypeOf((*UpdateDateTimeRequestType)(nil)).Elem()
 78334  }
 78335  
 78336  type UpdateDateTimeResponse struct {
 78337  }
 78338  
 78339  type UpdateDefaultPolicy UpdateDefaultPolicyRequestType
 78340  
 78341  func init() {
 78342  	t["UpdateDefaultPolicy"] = reflect.TypeOf((*UpdateDefaultPolicy)(nil)).Elem()
 78343  }
 78344  
 78345  // The parameters of `HostFirewallSystem.UpdateDefaultPolicy`.
 78346  type UpdateDefaultPolicyRequestType struct {
 78347  	This          ManagedObjectReference    `xml:"_this" json:"-"`
 78348  	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
 78349  }
 78350  
 78351  func init() {
 78352  	t["UpdateDefaultPolicyRequestType"] = reflect.TypeOf((*UpdateDefaultPolicyRequestType)(nil)).Elem()
 78353  }
 78354  
 78355  type UpdateDefaultPolicyResponse struct {
 78356  }
 78357  
 78358  type UpdateDiskPartitions UpdateDiskPartitionsRequestType
 78359  
 78360  func init() {
 78361  	t["UpdateDiskPartitions"] = reflect.TypeOf((*UpdateDiskPartitions)(nil)).Elem()
 78362  }
 78363  
 78364  // The parameters of `HostStorageSystem.UpdateDiskPartitions`.
 78365  type UpdateDiskPartitionsRequestType struct {
 78366  	This ManagedObjectReference `xml:"_this" json:"-"`
 78367  	// The name of the device path for the specific disk.
 78368  	DevicePath string `xml:"devicePath" json:"devicePath"`
 78369  	// A data object that describes the disk partition table
 78370  	// specification used to configure the partitions on a disk.
 78371  	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
 78372  }
 78373  
 78374  func init() {
 78375  	t["UpdateDiskPartitionsRequestType"] = reflect.TypeOf((*UpdateDiskPartitionsRequestType)(nil)).Elem()
 78376  }
 78377  
 78378  type UpdateDiskPartitionsResponse struct {
 78379  }
 78380  
 78381  type UpdateDnsConfig UpdateDnsConfigRequestType
 78382  
 78383  func init() {
 78384  	t["UpdateDnsConfig"] = reflect.TypeOf((*UpdateDnsConfig)(nil)).Elem()
 78385  }
 78386  
 78387  // The parameters of `HostNetworkSystem.UpdateDnsConfig`.
 78388  type UpdateDnsConfigRequestType struct {
 78389  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78390  	Config BaseHostDnsConfig      `xml:"config,typeattr" json:"config"`
 78391  }
 78392  
 78393  func init() {
 78394  	t["UpdateDnsConfigRequestType"] = reflect.TypeOf((*UpdateDnsConfigRequestType)(nil)).Elem()
 78395  }
 78396  
 78397  type UpdateDnsConfigResponse struct {
 78398  }
 78399  
 78400  type UpdateDvsCapability UpdateDvsCapabilityRequestType
 78401  
 78402  func init() {
 78403  	t["UpdateDvsCapability"] = reflect.TypeOf((*UpdateDvsCapability)(nil)).Elem()
 78404  }
 78405  
 78406  // The parameters of `DistributedVirtualSwitch.UpdateDvsCapability`.
 78407  type UpdateDvsCapabilityRequestType struct {
 78408  	This ManagedObjectReference `xml:"_this" json:"-"`
 78409  	// The capability of the switch.
 78410  	Capability DVSCapability `xml:"capability" json:"capability"`
 78411  }
 78412  
 78413  func init() {
 78414  	t["UpdateDvsCapabilityRequestType"] = reflect.TypeOf((*UpdateDvsCapabilityRequestType)(nil)).Elem()
 78415  }
 78416  
 78417  type UpdateDvsCapabilityResponse struct {
 78418  }
 78419  
 78420  type UpdateExtension UpdateExtensionRequestType
 78421  
 78422  func init() {
 78423  	t["UpdateExtension"] = reflect.TypeOf((*UpdateExtension)(nil)).Elem()
 78424  }
 78425  
 78426  // The parameters of `ExtensionManager.UpdateExtension`.
 78427  type UpdateExtensionRequestType struct {
 78428  	This ManagedObjectReference `xml:"_this" json:"-"`
 78429  	// Updated extension description.
 78430  	Extension Extension `xml:"extension" json:"extension"`
 78431  }
 78432  
 78433  func init() {
 78434  	t["UpdateExtensionRequestType"] = reflect.TypeOf((*UpdateExtensionRequestType)(nil)).Elem()
 78435  }
 78436  
 78437  type UpdateExtensionResponse struct {
 78438  }
 78439  
 78440  type UpdateFlags UpdateFlagsRequestType
 78441  
 78442  func init() {
 78443  	t["UpdateFlags"] = reflect.TypeOf((*UpdateFlags)(nil)).Elem()
 78444  }
 78445  
 78446  // The parameters of `HostSystem.UpdateFlags`.
 78447  type UpdateFlagsRequestType struct {
 78448  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78449  	FlagInfo HostFlagInfo           `xml:"flagInfo" json:"flagInfo"`
 78450  }
 78451  
 78452  func init() {
 78453  	t["UpdateFlagsRequestType"] = reflect.TypeOf((*UpdateFlagsRequestType)(nil)).Elem()
 78454  }
 78455  
 78456  type UpdateFlagsResponse struct {
 78457  }
 78458  
 78459  type UpdateGraphicsConfig UpdateGraphicsConfigRequestType
 78460  
 78461  func init() {
 78462  	t["UpdateGraphicsConfig"] = reflect.TypeOf((*UpdateGraphicsConfig)(nil)).Elem()
 78463  }
 78464  
 78465  // The parameters of `HostGraphicsManager.UpdateGraphicsConfig`.
 78466  type UpdateGraphicsConfigRequestType struct {
 78467  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78468  	Config HostGraphicsConfig     `xml:"config" json:"config"`
 78469  }
 78470  
 78471  func init() {
 78472  	t["UpdateGraphicsConfigRequestType"] = reflect.TypeOf((*UpdateGraphicsConfigRequestType)(nil)).Elem()
 78473  }
 78474  
 78475  type UpdateGraphicsConfigResponse struct {
 78476  }
 78477  
 78478  type UpdateHostImageAcceptanceLevel UpdateHostImageAcceptanceLevelRequestType
 78479  
 78480  func init() {
 78481  	t["UpdateHostImageAcceptanceLevel"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevel)(nil)).Elem()
 78482  }
 78483  
 78484  // The parameters of `HostImageConfigManager.UpdateHostImageAcceptanceLevel`.
 78485  type UpdateHostImageAcceptanceLevelRequestType struct {
 78486  	This ManagedObjectReference `xml:"_this" json:"-"`
 78487  	// the new AcceptanceLevel to set.
 78488  	NewAcceptanceLevel string `xml:"newAcceptanceLevel" json:"newAcceptanceLevel"`
 78489  }
 78490  
 78491  func init() {
 78492  	t["UpdateHostImageAcceptanceLevelRequestType"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevelRequestType)(nil)).Elem()
 78493  }
 78494  
 78495  type UpdateHostImageAcceptanceLevelResponse struct {
 78496  }
 78497  
 78498  type UpdateHostProfile UpdateHostProfileRequestType
 78499  
 78500  func init() {
 78501  	t["UpdateHostProfile"] = reflect.TypeOf((*UpdateHostProfile)(nil)).Elem()
 78502  }
 78503  
 78504  // The parameters of `HostProfile.UpdateHostProfile`.
 78505  type UpdateHostProfileRequestType struct {
 78506  	This ManagedObjectReference `xml:"_this" json:"-"`
 78507  	// Specification containing the new data.
 78508  	Config BaseHostProfileConfigSpec `xml:"config,typeattr" json:"config"`
 78509  }
 78510  
 78511  func init() {
 78512  	t["UpdateHostProfileRequestType"] = reflect.TypeOf((*UpdateHostProfileRequestType)(nil)).Elem()
 78513  }
 78514  
 78515  type UpdateHostProfileResponse struct {
 78516  }
 78517  
 78518  type UpdateHostSpecification UpdateHostSpecificationRequestType
 78519  
 78520  func init() {
 78521  	t["UpdateHostSpecification"] = reflect.TypeOf((*UpdateHostSpecification)(nil)).Elem()
 78522  }
 78523  
 78524  // The parameters of `HostSpecificationManager.UpdateHostSpecification`.
 78525  type UpdateHostSpecificationRequestType struct {
 78526  	This ManagedObjectReference `xml:"_this" json:"-"`
 78527  	// The host whose specification will be updated.
 78528  	//
 78529  	// Refers instance of `HostSystem`.
 78530  	Host ManagedObjectReference `xml:"host" json:"host"`
 78531  	// The new host specification to be updated with.
 78532  	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
 78533  }
 78534  
 78535  func init() {
 78536  	t["UpdateHostSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSpecificationRequestType)(nil)).Elem()
 78537  }
 78538  
 78539  type UpdateHostSpecificationResponse struct {
 78540  }
 78541  
 78542  type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType
 78543  
 78544  func init() {
 78545  	t["UpdateHostSubSpecification"] = reflect.TypeOf((*UpdateHostSubSpecification)(nil)).Elem()
 78546  }
 78547  
 78548  // The parameters of `HostSpecificationManager.UpdateHostSubSpecification`.
 78549  type UpdateHostSubSpecificationRequestType struct {
 78550  	This ManagedObjectReference `xml:"_this" json:"-"`
 78551  	// The host whose specification will be updated.
 78552  	//
 78553  	// Refers instance of `HostSystem`.
 78554  	Host ManagedObjectReference `xml:"host" json:"host"`
 78555  	// The data object for the new host sub specification.
 78556  	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
 78557  }
 78558  
 78559  func init() {
 78560  	t["UpdateHostSubSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSubSpecificationRequestType)(nil)).Elem()
 78561  }
 78562  
 78563  type UpdateHostSubSpecificationResponse struct {
 78564  }
 78565  
 78566  type UpdateHppMultipathLunPolicy UpdateHppMultipathLunPolicyRequestType
 78567  
 78568  func init() {
 78569  	t["UpdateHppMultipathLunPolicy"] = reflect.TypeOf((*UpdateHppMultipathLunPolicy)(nil)).Elem()
 78570  }
 78571  
 78572  // The parameters of `HostStorageSystem.UpdateHppMultipathLunPolicy`.
 78573  type UpdateHppMultipathLunPolicyRequestType struct {
 78574  	This ManagedObjectReference `xml:"_this" json:"-"`
 78575  	// The logical unit ID
 78576  	LunId string `xml:"lunId" json:"lunId"`
 78577  	// A data object that describes a path selection policy and
 78578  	// its configuration for the logical unit.
 78579  	Policy HostMultipathInfoHppLogicalUnitPolicy `xml:"policy" json:"policy"`
 78580  }
 78581  
 78582  func init() {
 78583  	t["UpdateHppMultipathLunPolicyRequestType"] = reflect.TypeOf((*UpdateHppMultipathLunPolicyRequestType)(nil)).Elem()
 78584  }
 78585  
 78586  type UpdateHppMultipathLunPolicyResponse struct {
 78587  }
 78588  
 78589  type UpdateInternetScsiAdvancedOptions UpdateInternetScsiAdvancedOptionsRequestType
 78590  
 78591  func init() {
 78592  	t["UpdateInternetScsiAdvancedOptions"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptions)(nil)).Elem()
 78593  }
 78594  
 78595  // The parameters of `HostStorageSystem.UpdateInternetScsiAdvancedOptions`.
 78596  type UpdateInternetScsiAdvancedOptionsRequestType struct {
 78597  	This ManagedObjectReference `xml:"_this" json:"-"`
 78598  	// The device of the Internet SCSI HBA adapter.
 78599  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78600  	// The set the targets to configure. If not provided,
 78601  	// the settings will be applied to the host bus adapter itself.
 78602  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 78603  	// The list of options to set.
 78604  	Options []HostInternetScsiHbaParamValue `xml:"options" json:"options"`
 78605  }
 78606  
 78607  func init() {
 78608  	t["UpdateInternetScsiAdvancedOptionsRequestType"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptionsRequestType)(nil)).Elem()
 78609  }
 78610  
 78611  type UpdateInternetScsiAdvancedOptionsResponse struct {
 78612  }
 78613  
 78614  type UpdateInternetScsiAlias UpdateInternetScsiAliasRequestType
 78615  
 78616  func init() {
 78617  	t["UpdateInternetScsiAlias"] = reflect.TypeOf((*UpdateInternetScsiAlias)(nil)).Elem()
 78618  }
 78619  
 78620  // The parameters of `HostStorageSystem.UpdateInternetScsiAlias`.
 78621  type UpdateInternetScsiAliasRequestType struct {
 78622  	This ManagedObjectReference `xml:"_this" json:"-"`
 78623  	// The device of the Internet SCSI HBA adapter.
 78624  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78625  	// The new value for the alias of the adapter.
 78626  	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
 78627  }
 78628  
 78629  func init() {
 78630  	t["UpdateInternetScsiAliasRequestType"] = reflect.TypeOf((*UpdateInternetScsiAliasRequestType)(nil)).Elem()
 78631  }
 78632  
 78633  type UpdateInternetScsiAliasResponse struct {
 78634  }
 78635  
 78636  type UpdateInternetScsiAuthenticationProperties UpdateInternetScsiAuthenticationPropertiesRequestType
 78637  
 78638  func init() {
 78639  	t["UpdateInternetScsiAuthenticationProperties"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationProperties)(nil)).Elem()
 78640  }
 78641  
 78642  // The parameters of `HostStorageSystem.UpdateInternetScsiAuthenticationProperties`.
 78643  type UpdateInternetScsiAuthenticationPropertiesRequestType struct {
 78644  	This ManagedObjectReference `xml:"_this" json:"-"`
 78645  	// The device of the Internet SCSI HBA adapter.
 78646  	// associated with the target.
 78647  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78648  	// The data object that represents
 78649  	// the authentication settings to set.
 78650  	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
 78651  	// The set the targets to configure. Optional,
 78652  	// when obmitted will configura the authentication properties
 78653  	// for the adapter instead.
 78654  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 78655  }
 78656  
 78657  func init() {
 78658  	t["UpdateInternetScsiAuthenticationPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationPropertiesRequestType)(nil)).Elem()
 78659  }
 78660  
 78661  type UpdateInternetScsiAuthenticationPropertiesResponse struct {
 78662  }
 78663  
 78664  type UpdateInternetScsiDigestProperties UpdateInternetScsiDigestPropertiesRequestType
 78665  
 78666  func init() {
 78667  	t["UpdateInternetScsiDigestProperties"] = reflect.TypeOf((*UpdateInternetScsiDigestProperties)(nil)).Elem()
 78668  }
 78669  
 78670  // The parameters of `HostStorageSystem.UpdateInternetScsiDigestProperties`.
 78671  type UpdateInternetScsiDigestPropertiesRequestType struct {
 78672  	This ManagedObjectReference `xml:"_this" json:"-"`
 78673  	// The device of the Internet SCSI HBA adapter.
 78674  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78675  	// The set the targets to configure. If not provided,
 78676  	// the settings will be applied to the host bus adapter itself.
 78677  	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
 78678  	// The data object that represents the digest
 78679  	// settings to set.
 78680  	DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties" json:"digestProperties"`
 78681  }
 78682  
 78683  func init() {
 78684  	t["UpdateInternetScsiDigestPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDigestPropertiesRequestType)(nil)).Elem()
 78685  }
 78686  
 78687  type UpdateInternetScsiDigestPropertiesResponse struct {
 78688  }
 78689  
 78690  type UpdateInternetScsiDiscoveryProperties UpdateInternetScsiDiscoveryPropertiesRequestType
 78691  
 78692  func init() {
 78693  	t["UpdateInternetScsiDiscoveryProperties"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryProperties)(nil)).Elem()
 78694  }
 78695  
 78696  // The parameters of `HostStorageSystem.UpdateInternetScsiDiscoveryProperties`.
 78697  type UpdateInternetScsiDiscoveryPropertiesRequestType struct {
 78698  	This ManagedObjectReference `xml:"_this" json:"-"`
 78699  	// The device of the Internet SCSI HBA adapter.
 78700  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78701  	// The discovery settings for this host bus adapter.
 78702  	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
 78703  }
 78704  
 78705  func init() {
 78706  	t["UpdateInternetScsiDiscoveryPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryPropertiesRequestType)(nil)).Elem()
 78707  }
 78708  
 78709  type UpdateInternetScsiDiscoveryPropertiesResponse struct {
 78710  }
 78711  
 78712  type UpdateInternetScsiIPProperties UpdateInternetScsiIPPropertiesRequestType
 78713  
 78714  func init() {
 78715  	t["UpdateInternetScsiIPProperties"] = reflect.TypeOf((*UpdateInternetScsiIPProperties)(nil)).Elem()
 78716  }
 78717  
 78718  // The parameters of `HostStorageSystem.UpdateInternetScsiIPProperties`.
 78719  type UpdateInternetScsiIPPropertiesRequestType struct {
 78720  	This ManagedObjectReference `xml:"_this" json:"-"`
 78721  	// The device of the Internet SCSI HBA adapter.
 78722  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78723  	// A data object representing the IP properties
 78724  	// for the host bus adapter
 78725  	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
 78726  }
 78727  
 78728  func init() {
 78729  	t["UpdateInternetScsiIPPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiIPPropertiesRequestType)(nil)).Elem()
 78730  }
 78731  
 78732  type UpdateInternetScsiIPPropertiesResponse struct {
 78733  }
 78734  
 78735  type UpdateInternetScsiName UpdateInternetScsiNameRequestType
 78736  
 78737  func init() {
 78738  	t["UpdateInternetScsiName"] = reflect.TypeOf((*UpdateInternetScsiName)(nil)).Elem()
 78739  }
 78740  
 78741  // The parameters of `HostStorageSystem.UpdateInternetScsiName`.
 78742  type UpdateInternetScsiNameRequestType struct {
 78743  	This ManagedObjectReference `xml:"_this" json:"-"`
 78744  	// The current name of the Internet SCSI HBA adapter.
 78745  	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
 78746  	// The new name for the Internet SCSI HBA adapter
 78747  	IScsiName string `xml:"iScsiName" json:"iScsiName"`
 78748  }
 78749  
 78750  func init() {
 78751  	t["UpdateInternetScsiNameRequestType"] = reflect.TypeOf((*UpdateInternetScsiNameRequestType)(nil)).Elem()
 78752  }
 78753  
 78754  type UpdateInternetScsiNameResponse struct {
 78755  }
 78756  
 78757  type UpdateIpConfig UpdateIpConfigRequestType
 78758  
 78759  func init() {
 78760  	t["UpdateIpConfig"] = reflect.TypeOf((*UpdateIpConfig)(nil)).Elem()
 78761  }
 78762  
 78763  // The parameters of `HostVMotionSystem.UpdateIpConfig`.
 78764  type UpdateIpConfigRequestType struct {
 78765  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78766  	IpConfig HostIpConfig           `xml:"ipConfig" json:"ipConfig"`
 78767  }
 78768  
 78769  func init() {
 78770  	t["UpdateIpConfigRequestType"] = reflect.TypeOf((*UpdateIpConfigRequestType)(nil)).Elem()
 78771  }
 78772  
 78773  type UpdateIpConfigResponse struct {
 78774  }
 78775  
 78776  type UpdateIpPool UpdateIpPoolRequestType
 78777  
 78778  func init() {
 78779  	t["UpdateIpPool"] = reflect.TypeOf((*UpdateIpPool)(nil)).Elem()
 78780  }
 78781  
 78782  // The parameters of `IpPoolManager.UpdateIpPool`.
 78783  type UpdateIpPoolRequestType struct {
 78784  	This ManagedObjectReference `xml:"_this" json:"-"`
 78785  	// The datacenter on which to look up the pool.
 78786  	//
 78787  	// Required privileges: Datacenter.IpPoolConfig
 78788  	//
 78789  	// Refers instance of `Datacenter`.
 78790  	Dc ManagedObjectReference `xml:"dc" json:"dc"`
 78791  	// The IP pool to update on the server
 78792  	Pool IpPool `xml:"pool" json:"pool"`
 78793  }
 78794  
 78795  func init() {
 78796  	t["UpdateIpPoolRequestType"] = reflect.TypeOf((*UpdateIpPoolRequestType)(nil)).Elem()
 78797  }
 78798  
 78799  type UpdateIpPoolResponse struct {
 78800  }
 78801  
 78802  type UpdateIpRouteConfig UpdateIpRouteConfigRequestType
 78803  
 78804  func init() {
 78805  	t["UpdateIpRouteConfig"] = reflect.TypeOf((*UpdateIpRouteConfig)(nil)).Elem()
 78806  }
 78807  
 78808  // The parameters of `HostNetworkSystem.UpdateIpRouteConfig`.
 78809  type UpdateIpRouteConfigRequestType struct {
 78810  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78811  	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
 78812  }
 78813  
 78814  func init() {
 78815  	t["UpdateIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteConfigRequestType)(nil)).Elem()
 78816  }
 78817  
 78818  type UpdateIpRouteConfigResponse struct {
 78819  }
 78820  
 78821  type UpdateIpRouteTableConfig UpdateIpRouteTableConfigRequestType
 78822  
 78823  func init() {
 78824  	t["UpdateIpRouteTableConfig"] = reflect.TypeOf((*UpdateIpRouteTableConfig)(nil)).Elem()
 78825  }
 78826  
 78827  // The parameters of `HostNetworkSystem.UpdateIpRouteTableConfig`.
 78828  type UpdateIpRouteTableConfigRequestType struct {
 78829  	This   ManagedObjectReference `xml:"_this" json:"-"`
 78830  	Config HostIpRouteTableConfig `xml:"config" json:"config"`
 78831  }
 78832  
 78833  func init() {
 78834  	t["UpdateIpRouteTableConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteTableConfigRequestType)(nil)).Elem()
 78835  }
 78836  
 78837  type UpdateIpRouteTableConfigResponse struct {
 78838  }
 78839  
 78840  type UpdateIpmi UpdateIpmiRequestType
 78841  
 78842  func init() {
 78843  	t["UpdateIpmi"] = reflect.TypeOf((*UpdateIpmi)(nil)).Elem()
 78844  }
 78845  
 78846  // The parameters of `HostSystem.UpdateIpmi`.
 78847  type UpdateIpmiRequestType struct {
 78848  	This     ManagedObjectReference `xml:"_this" json:"-"`
 78849  	IpmiInfo HostIpmiInfo           `xml:"ipmiInfo" json:"ipmiInfo"`
 78850  }
 78851  
 78852  func init() {
 78853  	t["UpdateIpmiRequestType"] = reflect.TypeOf((*UpdateIpmiRequestType)(nil)).Elem()
 78854  }
 78855  
 78856  type UpdateIpmiResponse struct {
 78857  }
 78858  
 78859  type UpdateKmipServer UpdateKmipServerRequestType
 78860  
 78861  func init() {
 78862  	t["UpdateKmipServer"] = reflect.TypeOf((*UpdateKmipServer)(nil)).Elem()
 78863  }
 78864  
 78865  // The parameters of `CryptoManagerKmip.UpdateKmipServer`.
 78866  type UpdateKmipServerRequestType struct {
 78867  	This ManagedObjectReference `xml:"_this" json:"-"`
 78868  	// \[in\] KMIP server connection information.
 78869  	// When update a KMIP server settings, changes to
 78870  	// `KmipServerSpec#defaultKeyType` and
 78871  	// `KmipServerSpec#wrappingKeySpec`
 78872  	// will apply to all servers.
 78873  	Server KmipServerSpec `xml:"server" json:"server"`
 78874  }
 78875  
 78876  func init() {
 78877  	t["UpdateKmipServerRequestType"] = reflect.TypeOf((*UpdateKmipServerRequestType)(nil)).Elem()
 78878  }
 78879  
 78880  type UpdateKmipServerResponse struct {
 78881  }
 78882  
 78883  type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType
 78884  
 78885  func init() {
 78886  	t["UpdateKmsSignedCsrClientCert"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCert)(nil)).Elem()
 78887  }
 78888  
 78889  // The parameters of `CryptoManagerKmip.UpdateKmsSignedCsrClientCert`.
 78890  type UpdateKmsSignedCsrClientCertRequestType struct {
 78891  	This ManagedObjectReference `xml:"_this" json:"-"`
 78892  	// \[in\] KMIP cluster.
 78893  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 78894  	// \[in\] Client certificate.
 78895  	Certificate string `xml:"certificate" json:"certificate"`
 78896  }
 78897  
 78898  func init() {
 78899  	t["UpdateKmsSignedCsrClientCertRequestType"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCertRequestType)(nil)).Elem()
 78900  }
 78901  
 78902  type UpdateKmsSignedCsrClientCertResponse struct {
 78903  }
 78904  
 78905  type UpdateLicense UpdateLicenseRequestType
 78906  
 78907  func init() {
 78908  	t["UpdateLicense"] = reflect.TypeOf((*UpdateLicense)(nil)).Elem()
 78909  }
 78910  
 78911  type UpdateLicenseLabel UpdateLicenseLabelRequestType
 78912  
 78913  func init() {
 78914  	t["UpdateLicenseLabel"] = reflect.TypeOf((*UpdateLicenseLabel)(nil)).Elem()
 78915  }
 78916  
 78917  // The parameters of `LicenseManager.UpdateLicenseLabel`.
 78918  type UpdateLicenseLabelRequestType struct {
 78919  	This ManagedObjectReference `xml:"_this" json:"-"`
 78920  	// A license.
 78921  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 78922  	// A label key.
 78923  	LabelKey string `xml:"labelKey" json:"labelKey"`
 78924  	// Value for the label.
 78925  	LabelValue string `xml:"labelValue" json:"labelValue"`
 78926  }
 78927  
 78928  func init() {
 78929  	t["UpdateLicenseLabelRequestType"] = reflect.TypeOf((*UpdateLicenseLabelRequestType)(nil)).Elem()
 78930  }
 78931  
 78932  type UpdateLicenseLabelResponse struct {
 78933  }
 78934  
 78935  // The parameters of `LicenseManager.UpdateLicense`.
 78936  type UpdateLicenseRequestType struct {
 78937  	This ManagedObjectReference `xml:"_this" json:"-"`
 78938  	// A license. E.g. a serial license.
 78939  	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
 78940  	// array of key-value labels.
 78941  	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
 78942  }
 78943  
 78944  func init() {
 78945  	t["UpdateLicenseRequestType"] = reflect.TypeOf((*UpdateLicenseRequestType)(nil)).Elem()
 78946  }
 78947  
 78948  type UpdateLicenseResponse struct {
 78949  	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
 78950  }
 78951  
 78952  type UpdateLinkedChildren UpdateLinkedChildrenRequestType
 78953  
 78954  func init() {
 78955  	t["UpdateLinkedChildren"] = reflect.TypeOf((*UpdateLinkedChildren)(nil)).Elem()
 78956  }
 78957  
 78958  // The parameters of `VirtualApp.UpdateLinkedChildren`.
 78959  type UpdateLinkedChildrenRequestType struct {
 78960  	This ManagedObjectReference `xml:"_this" json:"-"`
 78961  	// a set of LinkInfo objects that either add a new link
 78962  	// or modify an exisiting link.
 78963  	AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty" json:"addChangeSet,omitempty"`
 78964  	// a set of entities that should no longer link to this vApp.
 78965  	//
 78966  	// Refers instances of `ManagedEntity`.
 78967  	RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty" json:"removeSet,omitempty"`
 78968  }
 78969  
 78970  func init() {
 78971  	t["UpdateLinkedChildrenRequestType"] = reflect.TypeOf((*UpdateLinkedChildrenRequestType)(nil)).Elem()
 78972  }
 78973  
 78974  type UpdateLinkedChildrenResponse struct {
 78975  }
 78976  
 78977  type UpdateLocalSwapDatastore UpdateLocalSwapDatastoreRequestType
 78978  
 78979  func init() {
 78980  	t["UpdateLocalSwapDatastore"] = reflect.TypeOf((*UpdateLocalSwapDatastore)(nil)).Elem()
 78981  }
 78982  
 78983  // The parameters of `HostDatastoreSystem.UpdateLocalSwapDatastore`.
 78984  type UpdateLocalSwapDatastoreRequestType struct {
 78985  	This ManagedObjectReference `xml:"_this" json:"-"`
 78986  	// The selected datastore. If this argument is unset, then
 78987  	// the `localSwapDatastore`
 78988  	// property becomes unset. Otherwise, the host must have read/write
 78989  	// access to the indicated datastore.
 78990  	//
 78991  	// Refers instance of `Datastore`.
 78992  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 78993  }
 78994  
 78995  func init() {
 78996  	t["UpdateLocalSwapDatastoreRequestType"] = reflect.TypeOf((*UpdateLocalSwapDatastoreRequestType)(nil)).Elem()
 78997  }
 78998  
 78999  type UpdateLocalSwapDatastoreResponse struct {
 79000  }
 79001  
 79002  type UpdateLockdownExceptions UpdateLockdownExceptionsRequestType
 79003  
 79004  func init() {
 79005  	t["UpdateLockdownExceptions"] = reflect.TypeOf((*UpdateLockdownExceptions)(nil)).Elem()
 79006  }
 79007  
 79008  // The parameters of `HostAccessManager.UpdateLockdownExceptions`.
 79009  type UpdateLockdownExceptionsRequestType struct {
 79010  	This ManagedObjectReference `xml:"_this" json:"-"`
 79011  	// the new list of lockdown mode exceptions.
 79012  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 79013  }
 79014  
 79015  func init() {
 79016  	t["UpdateLockdownExceptionsRequestType"] = reflect.TypeOf((*UpdateLockdownExceptionsRequestType)(nil)).Elem()
 79017  }
 79018  
 79019  type UpdateLockdownExceptionsResponse struct {
 79020  }
 79021  
 79022  type UpdateModuleOptionString UpdateModuleOptionStringRequestType
 79023  
 79024  func init() {
 79025  	t["UpdateModuleOptionString"] = reflect.TypeOf((*UpdateModuleOptionString)(nil)).Elem()
 79026  }
 79027  
 79028  // The parameters of `HostKernelModuleSystem.UpdateModuleOptionString`.
 79029  type UpdateModuleOptionStringRequestType struct {
 79030  	This ManagedObjectReference `xml:"_this" json:"-"`
 79031  	// Module name.
 79032  	Name string `xml:"name" json:"name"`
 79033  	// Option string to be passed to the kernel module at
 79034  	// load time.
 79035  	Options string `xml:"options" json:"options"`
 79036  }
 79037  
 79038  func init() {
 79039  	t["UpdateModuleOptionStringRequestType"] = reflect.TypeOf((*UpdateModuleOptionStringRequestType)(nil)).Elem()
 79040  }
 79041  
 79042  type UpdateModuleOptionStringResponse struct {
 79043  }
 79044  
 79045  type UpdateNetworkConfig UpdateNetworkConfigRequestType
 79046  
 79047  func init() {
 79048  	t["UpdateNetworkConfig"] = reflect.TypeOf((*UpdateNetworkConfig)(nil)).Elem()
 79049  }
 79050  
 79051  // The parameters of `HostNetworkSystem.UpdateNetworkConfig`.
 79052  type UpdateNetworkConfigRequestType struct {
 79053  	This       ManagedObjectReference `xml:"_this" json:"-"`
 79054  	Config     HostNetworkConfig      `xml:"config" json:"config"`
 79055  	ChangeMode string                 `xml:"changeMode" json:"changeMode"`
 79056  }
 79057  
 79058  func init() {
 79059  	t["UpdateNetworkConfigRequestType"] = reflect.TypeOf((*UpdateNetworkConfigRequestType)(nil)).Elem()
 79060  }
 79061  
 79062  type UpdateNetworkConfigResponse struct {
 79063  	Returnval HostNetworkConfigResult `xml:"returnval" json:"returnval"`
 79064  }
 79065  
 79066  type UpdateNetworkResourcePool UpdateNetworkResourcePoolRequestType
 79067  
 79068  func init() {
 79069  	t["UpdateNetworkResourcePool"] = reflect.TypeOf((*UpdateNetworkResourcePool)(nil)).Elem()
 79070  }
 79071  
 79072  // The parameters of `DistributedVirtualSwitch.UpdateNetworkResourcePool`.
 79073  type UpdateNetworkResourcePoolRequestType struct {
 79074  	This ManagedObjectReference `xml:"_this" json:"-"`
 79075  	// The network resource pool configuration specification.
 79076  	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
 79077  }
 79078  
 79079  func init() {
 79080  	t["UpdateNetworkResourcePoolRequestType"] = reflect.TypeOf((*UpdateNetworkResourcePoolRequestType)(nil)).Elem()
 79081  }
 79082  
 79083  type UpdateNetworkResourcePoolResponse struct {
 79084  }
 79085  
 79086  type UpdateOptions UpdateOptionsRequestType
 79087  
 79088  func init() {
 79089  	t["UpdateOptions"] = reflect.TypeOf((*UpdateOptions)(nil)).Elem()
 79090  }
 79091  
 79092  // The parameters of `OptionManager.UpdateOptions`.
 79093  type UpdateOptionsRequestType struct {
 79094  	This         ManagedObjectReference `xml:"_this" json:"-"`
 79095  	ChangedValue []BaseOptionValue      `xml:"changedValue,typeattr" json:"changedValue"`
 79096  }
 79097  
 79098  func init() {
 79099  	t["UpdateOptionsRequestType"] = reflect.TypeOf((*UpdateOptionsRequestType)(nil)).Elem()
 79100  }
 79101  
 79102  type UpdateOptionsResponse struct {
 79103  }
 79104  
 79105  type UpdatePassthruConfig UpdatePassthruConfigRequestType
 79106  
 79107  func init() {
 79108  	t["UpdatePassthruConfig"] = reflect.TypeOf((*UpdatePassthruConfig)(nil)).Elem()
 79109  }
 79110  
 79111  // The parameters of `HostPciPassthruSystem.UpdatePassthruConfig`.
 79112  type UpdatePassthruConfigRequestType struct {
 79113  	This ManagedObjectReference `xml:"_this" json:"-"`
 79114  	// The new PciPassthru configuration information.
 79115  	Config []BaseHostPciPassthruConfig `xml:"config,typeattr" json:"config"`
 79116  }
 79117  
 79118  func init() {
 79119  	t["UpdatePassthruConfigRequestType"] = reflect.TypeOf((*UpdatePassthruConfigRequestType)(nil)).Elem()
 79120  }
 79121  
 79122  type UpdatePassthruConfigResponse struct {
 79123  }
 79124  
 79125  type UpdatePerfInterval UpdatePerfIntervalRequestType
 79126  
 79127  func init() {
 79128  	t["UpdatePerfInterval"] = reflect.TypeOf((*UpdatePerfInterval)(nil)).Elem()
 79129  }
 79130  
 79131  // The parameters of `PerformanceManager.UpdatePerfInterval`.
 79132  type UpdatePerfIntervalRequestType struct {
 79133  	This ManagedObjectReference `xml:"_this" json:"-"`
 79134  	// The *historical interval* being modified, a
 79135  	// complete data object comprising values for `PerfInterval.enabled`, *interval ID*,
 79136  	// `PerfInterval.length` of time to maintain statistics for this
 79137  	// interval in the database, `PerfInterval.level`, `PerfInterval.name`, and `PerfInterval.samplingPeriod`
 79138  	// properties.
 79139  	Interval PerfInterval `xml:"interval" json:"interval"`
 79140  }
 79141  
 79142  func init() {
 79143  	t["UpdatePerfIntervalRequestType"] = reflect.TypeOf((*UpdatePerfIntervalRequestType)(nil)).Elem()
 79144  }
 79145  
 79146  type UpdatePerfIntervalResponse struct {
 79147  }
 79148  
 79149  type UpdatePhysicalNicLinkSpeed UpdatePhysicalNicLinkSpeedRequestType
 79150  
 79151  func init() {
 79152  	t["UpdatePhysicalNicLinkSpeed"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeed)(nil)).Elem()
 79153  }
 79154  
 79155  // The parameters of `HostNetworkSystem.UpdatePhysicalNicLinkSpeed`.
 79156  type UpdatePhysicalNicLinkSpeedRequestType struct {
 79157  	This      ManagedObjectReference `xml:"_this" json:"-"`
 79158  	Device    string                 `xml:"device" json:"device"`
 79159  	LinkSpeed *PhysicalNicLinkInfo   `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
 79160  }
 79161  
 79162  func init() {
 79163  	t["UpdatePhysicalNicLinkSpeedRequestType"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeedRequestType)(nil)).Elem()
 79164  }
 79165  
 79166  type UpdatePhysicalNicLinkSpeedResponse struct {
 79167  }
 79168  
 79169  type UpdatePortGroup UpdatePortGroupRequestType
 79170  
 79171  func init() {
 79172  	t["UpdatePortGroup"] = reflect.TypeOf((*UpdatePortGroup)(nil)).Elem()
 79173  }
 79174  
 79175  // The parameters of `HostNetworkSystem.UpdatePortGroup`.
 79176  type UpdatePortGroupRequestType struct {
 79177  	This    ManagedObjectReference `xml:"_this" json:"-"`
 79178  	PgName  string                 `xml:"pgName" json:"pgName"`
 79179  	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
 79180  }
 79181  
 79182  func init() {
 79183  	t["UpdatePortGroupRequestType"] = reflect.TypeOf((*UpdatePortGroupRequestType)(nil)).Elem()
 79184  }
 79185  
 79186  type UpdatePortGroupResponse struct {
 79187  }
 79188  
 79189  // The parameters of `HostSystem.UpdateProductLockerLocation_Task`.
 79190  type UpdateProductLockerLocationRequestType struct {
 79191  	This ManagedObjectReference `xml:"_this" json:"-"`
 79192  	// The absolute path for the VMware Tools repository
 79193  	// on the host. It should have "/vmfs/volumes/" prefix and
 79194  	// it should be a valid existing path, or it could be
 79195  	// empty to restore to default value.
 79196  	Path string `xml:"path" json:"path"`
 79197  }
 79198  
 79199  func init() {
 79200  	t["UpdateProductLockerLocationRequestType"] = reflect.TypeOf((*UpdateProductLockerLocationRequestType)(nil)).Elem()
 79201  }
 79202  
 79203  type UpdateProductLockerLocation_Task UpdateProductLockerLocationRequestType
 79204  
 79205  func init() {
 79206  	t["UpdateProductLockerLocation_Task"] = reflect.TypeOf((*UpdateProductLockerLocation_Task)(nil)).Elem()
 79207  }
 79208  
 79209  type UpdateProductLockerLocation_TaskResponse struct {
 79210  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79211  }
 79212  
 79213  type UpdateProgress UpdateProgressRequestType
 79214  
 79215  func init() {
 79216  	t["UpdateProgress"] = reflect.TypeOf((*UpdateProgress)(nil)).Elem()
 79217  }
 79218  
 79219  // The parameters of `Task.UpdateProgress`.
 79220  type UpdateProgressRequestType struct {
 79221  	This ManagedObjectReference `xml:"_this" json:"-"`
 79222  	// Percentage to set for this task
 79223  	PercentDone int32 `xml:"percentDone" json:"percentDone"`
 79224  }
 79225  
 79226  func init() {
 79227  	t["UpdateProgressRequestType"] = reflect.TypeOf((*UpdateProgressRequestType)(nil)).Elem()
 79228  }
 79229  
 79230  type UpdateProgressResponse struct {
 79231  }
 79232  
 79233  type UpdateReferenceHost UpdateReferenceHostRequestType
 79234  
 79235  func init() {
 79236  	t["UpdateReferenceHost"] = reflect.TypeOf((*UpdateReferenceHost)(nil)).Elem()
 79237  }
 79238  
 79239  // The parameters of `HostProfile.UpdateReferenceHost`.
 79240  type UpdateReferenceHostRequestType struct {
 79241  	This ManagedObjectReference `xml:"_this" json:"-"`
 79242  	// Reference host to use. If unset, the `HostProfile.referenceHost`
 79243  	// property is cleared.
 79244  	//
 79245  	// Refers instance of `HostSystem`.
 79246  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 79247  }
 79248  
 79249  func init() {
 79250  	t["UpdateReferenceHostRequestType"] = reflect.TypeOf((*UpdateReferenceHostRequestType)(nil)).Elem()
 79251  }
 79252  
 79253  type UpdateReferenceHostResponse struct {
 79254  }
 79255  
 79256  type UpdateRuleset UpdateRulesetRequestType
 79257  
 79258  func init() {
 79259  	t["UpdateRuleset"] = reflect.TypeOf((*UpdateRuleset)(nil)).Elem()
 79260  }
 79261  
 79262  // The parameters of `HostFirewallSystem.UpdateRuleset`.
 79263  type UpdateRulesetRequestType struct {
 79264  	This ManagedObjectReference         `xml:"_this" json:"-"`
 79265  	Id   string                         `xml:"id" json:"id"`
 79266  	Spec HostFirewallRulesetRulesetSpec `xml:"spec" json:"spec"`
 79267  }
 79268  
 79269  func init() {
 79270  	t["UpdateRulesetRequestType"] = reflect.TypeOf((*UpdateRulesetRequestType)(nil)).Elem()
 79271  }
 79272  
 79273  type UpdateRulesetResponse struct {
 79274  }
 79275  
 79276  type UpdateScsiLunDisplayName UpdateScsiLunDisplayNameRequestType
 79277  
 79278  func init() {
 79279  	t["UpdateScsiLunDisplayName"] = reflect.TypeOf((*UpdateScsiLunDisplayName)(nil)).Elem()
 79280  }
 79281  
 79282  // The parameters of `HostStorageSystem.UpdateScsiLunDisplayName`.
 79283  type UpdateScsiLunDisplayNameRequestType struct {
 79284  	This ManagedObjectReference `xml:"_this" json:"-"`
 79285  	// The uuid of the ScsiLun to update.
 79286  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 79287  	// The new name to assign to the ScsiLun object.
 79288  	DisplayName string `xml:"displayName" json:"displayName"`
 79289  }
 79290  
 79291  func init() {
 79292  	t["UpdateScsiLunDisplayNameRequestType"] = reflect.TypeOf((*UpdateScsiLunDisplayNameRequestType)(nil)).Elem()
 79293  }
 79294  
 79295  type UpdateScsiLunDisplayNameResponse struct {
 79296  }
 79297  
 79298  type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType
 79299  
 79300  func init() {
 79301  	t["UpdateSelfSignedClientCert"] = reflect.TypeOf((*UpdateSelfSignedClientCert)(nil)).Elem()
 79302  }
 79303  
 79304  // The parameters of `CryptoManagerKmip.UpdateSelfSignedClientCert`.
 79305  type UpdateSelfSignedClientCertRequestType struct {
 79306  	This ManagedObjectReference `xml:"_this" json:"-"`
 79307  	// \[in\] KMIP cluster.
 79308  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 79309  	// \[in\] Client certificate.
 79310  	Certificate string `xml:"certificate" json:"certificate"`
 79311  }
 79312  
 79313  func init() {
 79314  	t["UpdateSelfSignedClientCertRequestType"] = reflect.TypeOf((*UpdateSelfSignedClientCertRequestType)(nil)).Elem()
 79315  }
 79316  
 79317  type UpdateSelfSignedClientCertResponse struct {
 79318  }
 79319  
 79320  type UpdateServiceConsoleVirtualNic UpdateServiceConsoleVirtualNicRequestType
 79321  
 79322  func init() {
 79323  	t["UpdateServiceConsoleVirtualNic"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNic)(nil)).Elem()
 79324  }
 79325  
 79326  // The parameters of `HostNetworkSystem.UpdateServiceConsoleVirtualNic`.
 79327  type UpdateServiceConsoleVirtualNicRequestType struct {
 79328  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79329  	Device string                 `xml:"device" json:"device"`
 79330  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 79331  }
 79332  
 79333  func init() {
 79334  	t["UpdateServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNicRequestType)(nil)).Elem()
 79335  }
 79336  
 79337  type UpdateServiceConsoleVirtualNicResponse struct {
 79338  }
 79339  
 79340  type UpdateServiceMessage UpdateServiceMessageRequestType
 79341  
 79342  func init() {
 79343  	t["UpdateServiceMessage"] = reflect.TypeOf((*UpdateServiceMessage)(nil)).Elem()
 79344  }
 79345  
 79346  // The parameters of `SessionManager.UpdateServiceMessage`.
 79347  type UpdateServiceMessageRequestType struct {
 79348  	This ManagedObjectReference `xml:"_this" json:"-"`
 79349  	// The message to send. Newline characters may be included.
 79350  	Message string `xml:"message" json:"message"`
 79351  }
 79352  
 79353  func init() {
 79354  	t["UpdateServiceMessageRequestType"] = reflect.TypeOf((*UpdateServiceMessageRequestType)(nil)).Elem()
 79355  }
 79356  
 79357  type UpdateServiceMessageResponse struct {
 79358  }
 79359  
 79360  type UpdateServicePolicy UpdateServicePolicyRequestType
 79361  
 79362  func init() {
 79363  	t["UpdateServicePolicy"] = reflect.TypeOf((*UpdateServicePolicy)(nil)).Elem()
 79364  }
 79365  
 79366  // The parameters of `HostServiceSystem.UpdateServicePolicy`.
 79367  type UpdateServicePolicyRequestType struct {
 79368  	This ManagedObjectReference `xml:"_this" json:"-"`
 79369  	// Service identifier
 79370  	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
 79371  	Id string `xml:"id" json:"id"`
 79372  	// Specifies the condition for service activation.
 79373  	// Use one of the `HostServicePolicy_enum` values.
 79374  	Policy string `xml:"policy" json:"policy"`
 79375  }
 79376  
 79377  func init() {
 79378  	t["UpdateServicePolicyRequestType"] = reflect.TypeOf((*UpdateServicePolicyRequestType)(nil)).Elem()
 79379  }
 79380  
 79381  type UpdateServicePolicyResponse struct {
 79382  }
 79383  
 79384  // A set of updates that represent the changes since a prior call to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 79385  type UpdateSet struct {
 79386  	DynamicData
 79387  
 79388  	// New data version to pass in the next call to `PropertyCollector.CheckForUpdates`,
 79389  	// `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
 79390  	//
 79391  	// These versions,
 79392  	// although they are opaque, are strongly ordered in the sense that passing
 79393  	// a version to `PropertyCollector.WaitForUpdates`, `PropertyCollector.CheckForUpdates` or
 79394  	// `PropertyCollector.WaitForUpdatesEx` requests updates that reflect changes in the
 79395  	// objects selected by the Filter that happened after the specified version.
 79396  	Version string `xml:"version" json:"version"`
 79397  	// Set of managed object updates detected by specific filters.
 79398  	//
 79399  	// Updates
 79400  	// are reported in sets. Each set is associated with a reference to a
 79401  	// filter that detected the updates in the set.
 79402  	FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty" json:"filterSet,omitempty"`
 79403  	// If true, this `UpdateSet` contains results
 79404  	// from a suspended change calculation, which places restrictions on the
 79405  	// use of version.
 79406  	//
 79407  	// The `PropertyCollector` may suspend a calculation due to server
 79408  	// policy or if the total number of `ObjectUpdate` entries summed across every `PropertyFilterUpdate` reached the maximum specified in
 79409  	// `WaitOptions.maxObjectUpdates`. The client
 79410  	// can pass the "truncated data version" to `PropertyCollector.WaitForUpdatesEx` to
 79411  	// resume the update calculation, which will start on the filter where it
 79412  	// left off. A truncated data version cannot be used more than once and
 79413  	// may not be passed to `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`. `UpdateSet.truncated` will
 79414  	// never be true in an `UpdateSet` returned from
 79415  	// `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`.
 79416  	//
 79417  	// If false, this `UpdateSet` contains a
 79418  	// complete change calculation or the last part of a series of suspended
 79419  	// 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
 79420  	// to recover a change sequence after a transient failure on a previous
 79421  	// call.
 79422  	Truncated *bool `xml:"truncated" json:"truncated,omitempty"`
 79423  }
 79424  
 79425  func init() {
 79426  	t["UpdateSet"] = reflect.TypeOf((*UpdateSet)(nil)).Elem()
 79427  }
 79428  
 79429  type UpdateSoftwareInternetScsiEnabled UpdateSoftwareInternetScsiEnabledRequestType
 79430  
 79431  func init() {
 79432  	t["UpdateSoftwareInternetScsiEnabled"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabled)(nil)).Elem()
 79433  }
 79434  
 79435  // The parameters of `HostStorageSystem.UpdateSoftwareInternetScsiEnabled`.
 79436  type UpdateSoftwareInternetScsiEnabledRequestType struct {
 79437  	This ManagedObjectReference `xml:"_this" json:"-"`
 79438  	// True to enable the iSCSI; false to disable it
 79439  	Enabled bool `xml:"enabled" json:"enabled"`
 79440  }
 79441  
 79442  func init() {
 79443  	t["UpdateSoftwareInternetScsiEnabledRequestType"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabledRequestType)(nil)).Elem()
 79444  }
 79445  
 79446  type UpdateSoftwareInternetScsiEnabledResponse struct {
 79447  }
 79448  
 79449  type UpdateSystemResources UpdateSystemResourcesRequestType
 79450  
 79451  func init() {
 79452  	t["UpdateSystemResources"] = reflect.TypeOf((*UpdateSystemResources)(nil)).Elem()
 79453  }
 79454  
 79455  // The parameters of `HostSystem.UpdateSystemResources`.
 79456  type UpdateSystemResourcesRequestType struct {
 79457  	This         ManagedObjectReference `xml:"_this" json:"-"`
 79458  	ResourceInfo HostSystemResourceInfo `xml:"resourceInfo" json:"resourceInfo"`
 79459  }
 79460  
 79461  func init() {
 79462  	t["UpdateSystemResourcesRequestType"] = reflect.TypeOf((*UpdateSystemResourcesRequestType)(nil)).Elem()
 79463  }
 79464  
 79465  type UpdateSystemResourcesResponse struct {
 79466  }
 79467  
 79468  type UpdateSystemSwapConfiguration UpdateSystemSwapConfigurationRequestType
 79469  
 79470  func init() {
 79471  	t["UpdateSystemSwapConfiguration"] = reflect.TypeOf((*UpdateSystemSwapConfiguration)(nil)).Elem()
 79472  }
 79473  
 79474  // The parameters of `HostSystem.UpdateSystemSwapConfiguration`.
 79475  type UpdateSystemSwapConfigurationRequestType struct {
 79476  	This ManagedObjectReference `xml:"_this" json:"-"`
 79477  	// Contains a list of system swap options that
 79478  	// configure the system swap functionality.
 79479  	SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig" json:"sysSwapConfig"`
 79480  }
 79481  
 79482  func init() {
 79483  	t["UpdateSystemSwapConfigurationRequestType"] = reflect.TypeOf((*UpdateSystemSwapConfigurationRequestType)(nil)).Elem()
 79484  }
 79485  
 79486  type UpdateSystemSwapConfigurationResponse struct {
 79487  }
 79488  
 79489  type UpdateSystemUsers UpdateSystemUsersRequestType
 79490  
 79491  func init() {
 79492  	t["UpdateSystemUsers"] = reflect.TypeOf((*UpdateSystemUsers)(nil)).Elem()
 79493  }
 79494  
 79495  // The parameters of `HostAccessManager.UpdateSystemUsers`.
 79496  type UpdateSystemUsersRequestType struct {
 79497  	This ManagedObjectReference `xml:"_this" json:"-"`
 79498  	// the new list of local system users.
 79499  	Users []string `xml:"users,omitempty" json:"users,omitempty"`
 79500  }
 79501  
 79502  func init() {
 79503  	t["UpdateSystemUsersRequestType"] = reflect.TypeOf((*UpdateSystemUsersRequestType)(nil)).Elem()
 79504  }
 79505  
 79506  type UpdateSystemUsersResponse struct {
 79507  }
 79508  
 79509  type UpdateUser UpdateUserRequestType
 79510  
 79511  func init() {
 79512  	t["UpdateUser"] = reflect.TypeOf((*UpdateUser)(nil)).Elem()
 79513  }
 79514  
 79515  // The parameters of `HostLocalAccountManager.UpdateUser`.
 79516  type UpdateUserRequestType struct {
 79517  	This ManagedObjectReference `xml:"_this" json:"-"`
 79518  	// Specification of user being updated.
 79519  	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
 79520  }
 79521  
 79522  func init() {
 79523  	t["UpdateUserRequestType"] = reflect.TypeOf((*UpdateUserRequestType)(nil)).Elem()
 79524  }
 79525  
 79526  type UpdateUserResponse struct {
 79527  }
 79528  
 79529  type UpdateVAppConfig UpdateVAppConfigRequestType
 79530  
 79531  func init() {
 79532  	t["UpdateVAppConfig"] = reflect.TypeOf((*UpdateVAppConfig)(nil)).Elem()
 79533  }
 79534  
 79535  // The parameters of `VirtualApp.UpdateVAppConfig`.
 79536  type UpdateVAppConfigRequestType struct {
 79537  	This ManagedObjectReference `xml:"_this" json:"-"`
 79538  	// contains the updates to the current configuration. Any set element,
 79539  	// is changed. All values in the spec that is left unset, will not be
 79540  	// modified.
 79541  	Spec VAppConfigSpec `xml:"spec" json:"spec"`
 79542  }
 79543  
 79544  func init() {
 79545  	t["UpdateVAppConfigRequestType"] = reflect.TypeOf((*UpdateVAppConfigRequestType)(nil)).Elem()
 79546  }
 79547  
 79548  type UpdateVAppConfigResponse struct {
 79549  }
 79550  
 79551  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageInfrastructureObjectPolicy_Task`.
 79552  type UpdateVStorageInfrastructureObjectPolicyRequestType struct {
 79553  	This ManagedObjectReference `xml:"_this" json:"-"`
 79554  	// specification to assign a SPBM policy to virtual storage
 79555  	// infrastructure object.
 79556  	Spec VslmInfrastructureObjectPolicySpec `xml:"spec" json:"spec"`
 79557  }
 79558  
 79559  func init() {
 79560  	t["UpdateVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem()
 79561  }
 79562  
 79563  type UpdateVStorageInfrastructureObjectPolicy_Task UpdateVStorageInfrastructureObjectPolicyRequestType
 79564  
 79565  func init() {
 79566  	t["UpdateVStorageInfrastructureObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicy_Task)(nil)).Elem()
 79567  }
 79568  
 79569  type UpdateVStorageInfrastructureObjectPolicy_TaskResponse struct {
 79570  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79571  }
 79572  
 79573  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectCrypto_Task`.
 79574  type UpdateVStorageObjectCryptoRequestType struct {
 79575  	This ManagedObjectReference `xml:"_this" json:"-"`
 79576  	// The ID of the virtual storage object.
 79577  	Id ID `xml:"id" json:"id"`
 79578  	// The datastore where the virtual storage object is
 79579  	// located.
 79580  	//
 79581  	// Refers instance of `Datastore`.
 79582  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 79583  	// New profile requirement on the virtual storage object.
 79584  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 79585  	// The crypto information of each disk on the chain.
 79586  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
 79587  }
 79588  
 79589  func init() {
 79590  	t["UpdateVStorageObjectCryptoRequestType"] = reflect.TypeOf((*UpdateVStorageObjectCryptoRequestType)(nil)).Elem()
 79591  }
 79592  
 79593  type UpdateVStorageObjectCrypto_Task UpdateVStorageObjectCryptoRequestType
 79594  
 79595  func init() {
 79596  	t["UpdateVStorageObjectCrypto_Task"] = reflect.TypeOf((*UpdateVStorageObjectCrypto_Task)(nil)).Elem()
 79597  }
 79598  
 79599  type UpdateVStorageObjectCrypto_TaskResponse struct {
 79600  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79601  }
 79602  
 79603  // The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectPolicy_Task`.
 79604  type UpdateVStorageObjectPolicyRequestType struct {
 79605  	This ManagedObjectReference `xml:"_this" json:"-"`
 79606  	// The ID of the virtual storage object.
 79607  	Id ID `xml:"id" json:"id"`
 79608  	// The datastore where the virtual storage object is
 79609  	// located.
 79610  	//
 79611  	// Refers instance of `Datastore`.
 79612  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 79613  	// New profile requirement on the virtual storage object.
 79614  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 79615  }
 79616  
 79617  func init() {
 79618  	t["UpdateVStorageObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageObjectPolicyRequestType)(nil)).Elem()
 79619  }
 79620  
 79621  type UpdateVStorageObjectPolicy_Task UpdateVStorageObjectPolicyRequestType
 79622  
 79623  func init() {
 79624  	t["UpdateVStorageObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageObjectPolicy_Task)(nil)).Elem()
 79625  }
 79626  
 79627  type UpdateVStorageObjectPolicy_TaskResponse struct {
 79628  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79629  }
 79630  
 79631  // The parameters of `Datastore.UpdateVVolVirtualMachineFiles_Task`.
 79632  type UpdateVVolVirtualMachineFilesRequestType struct {
 79633  	This ManagedObjectReference `xml:"_this" json:"-"`
 79634  	// Mapping of source to target storage container
 79635  	// as well as source to target VVol IDs.
 79636  	FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty" json:"failoverPair,omitempty"`
 79637  }
 79638  
 79639  func init() {
 79640  	t["UpdateVVolVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVVolVirtualMachineFilesRequestType)(nil)).Elem()
 79641  }
 79642  
 79643  type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType
 79644  
 79645  func init() {
 79646  	t["UpdateVVolVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVVolVirtualMachineFiles_Task)(nil)).Elem()
 79647  }
 79648  
 79649  type UpdateVVolVirtualMachineFiles_TaskResponse struct {
 79650  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79651  }
 79652  
 79653  // The parameters of `Datastore.UpdateVirtualMachineFiles_Task`.
 79654  type UpdateVirtualMachineFilesRequestType struct {
 79655  	This ManagedObjectReference `xml:"_this" json:"-"`
 79656  	// Old mount path to datastore mapping.
 79657  	MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping" json:"mountPathDatastoreMapping"`
 79658  }
 79659  
 79660  func init() {
 79661  	t["UpdateVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVirtualMachineFilesRequestType)(nil)).Elem()
 79662  }
 79663  
 79664  // UpdateVirtualMachineFilesResult is the result returned
 79665  // to the `Datastore.UpdateVirtualMachineFiles_Task` method.
 79666  type UpdateVirtualMachineFilesResult struct {
 79667  	DynamicData
 79668  
 79669  	// The list of virtual machines files the server has attempted
 79670  	// to update but failed to update.
 79671  	FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty" json:"failedVmFile,omitempty"`
 79672  }
 79673  
 79674  func init() {
 79675  	t["UpdateVirtualMachineFilesResult"] = reflect.TypeOf((*UpdateVirtualMachineFilesResult)(nil)).Elem()
 79676  }
 79677  
 79678  type UpdateVirtualMachineFilesResultFailedVmFileInfo struct {
 79679  	DynamicData
 79680  
 79681  	// The file path
 79682  	VmFile string `xml:"vmFile" json:"vmFile"`
 79683  	// The reason why the update failed.
 79684  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 79685  }
 79686  
 79687  func init() {
 79688  	t["UpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*UpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem()
 79689  }
 79690  
 79691  type UpdateVirtualMachineFiles_Task UpdateVirtualMachineFilesRequestType
 79692  
 79693  func init() {
 79694  	t["UpdateVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVirtualMachineFiles_Task)(nil)).Elem()
 79695  }
 79696  
 79697  type UpdateVirtualMachineFiles_TaskResponse struct {
 79698  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79699  }
 79700  
 79701  type UpdateVirtualNic UpdateVirtualNicRequestType
 79702  
 79703  func init() {
 79704  	t["UpdateVirtualNic"] = reflect.TypeOf((*UpdateVirtualNic)(nil)).Elem()
 79705  }
 79706  
 79707  // The parameters of `HostNetworkSystem.UpdateVirtualNic`.
 79708  type UpdateVirtualNicRequestType struct {
 79709  	This   ManagedObjectReference `xml:"_this" json:"-"`
 79710  	Device string                 `xml:"device" json:"device"`
 79711  	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
 79712  }
 79713  
 79714  func init() {
 79715  	t["UpdateVirtualNicRequestType"] = reflect.TypeOf((*UpdateVirtualNicRequestType)(nil)).Elem()
 79716  }
 79717  
 79718  type UpdateVirtualNicResponse struct {
 79719  }
 79720  
 79721  type UpdateVirtualSwitch UpdateVirtualSwitchRequestType
 79722  
 79723  func init() {
 79724  	t["UpdateVirtualSwitch"] = reflect.TypeOf((*UpdateVirtualSwitch)(nil)).Elem()
 79725  }
 79726  
 79727  // The parameters of `HostNetworkSystem.UpdateVirtualSwitch`.
 79728  type UpdateVirtualSwitchRequestType struct {
 79729  	This        ManagedObjectReference `xml:"_this" json:"-"`
 79730  	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
 79731  	Spec        HostVirtualSwitchSpec  `xml:"spec" json:"spec"`
 79732  }
 79733  
 79734  func init() {
 79735  	t["UpdateVirtualSwitchRequestType"] = reflect.TypeOf((*UpdateVirtualSwitchRequestType)(nil)).Elem()
 79736  }
 79737  
 79738  type UpdateVirtualSwitchResponse struct {
 79739  }
 79740  
 79741  type UpdateVmfsUnmapBandwidth UpdateVmfsUnmapBandwidthRequestType
 79742  
 79743  func init() {
 79744  	t["UpdateVmfsUnmapBandwidth"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidth)(nil)).Elem()
 79745  }
 79746  
 79747  // The parameters of `HostStorageSystem.UpdateVmfsUnmapBandwidth`.
 79748  type UpdateVmfsUnmapBandwidthRequestType struct {
 79749  	This ManagedObjectReference `xml:"_this" json:"-"`
 79750  	// The VMFS UUID.
 79751  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 79752  	// Unmap bandwidth specification. See
 79753  	// `VmfsUnmapBandwidthSpec`
 79754  	UnmapBandwidthSpec VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec" json:"unmapBandwidthSpec"`
 79755  }
 79756  
 79757  func init() {
 79758  	t["UpdateVmfsUnmapBandwidthRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidthRequestType)(nil)).Elem()
 79759  }
 79760  
 79761  type UpdateVmfsUnmapBandwidthResponse struct {
 79762  }
 79763  
 79764  type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType
 79765  
 79766  func init() {
 79767  	t["UpdateVmfsUnmapPriority"] = reflect.TypeOf((*UpdateVmfsUnmapPriority)(nil)).Elem()
 79768  }
 79769  
 79770  // The parameters of `HostStorageSystem.UpdateVmfsUnmapPriority`.
 79771  type UpdateVmfsUnmapPriorityRequestType struct {
 79772  	This ManagedObjectReference `xml:"_this" json:"-"`
 79773  	// The VMFS UUID.
 79774  	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
 79775  	// Unmap priority. The supported values are defined in
 79776  	// `HostVmfsVolumeUnmapPriority_enum`.
 79777  	UnmapPriority string `xml:"unmapPriority" json:"unmapPriority"`
 79778  }
 79779  
 79780  func init() {
 79781  	t["UpdateVmfsUnmapPriorityRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapPriorityRequestType)(nil)).Elem()
 79782  }
 79783  
 79784  type UpdateVmfsUnmapPriorityResponse struct {
 79785  }
 79786  
 79787  // The parameters of `HostVsanSystem.UpdateVsan_Task`.
 79788  type UpdateVsanRequestType struct {
 79789  	This ManagedObjectReference `xml:"_this" json:"-"`
 79790  	// host configuration settings to use for the VSAN service.
 79791  	Config VsanHostConfigInfo `xml:"config" json:"config"`
 79792  }
 79793  
 79794  func init() {
 79795  	t["UpdateVsanRequestType"] = reflect.TypeOf((*UpdateVsanRequestType)(nil)).Elem()
 79796  }
 79797  
 79798  type UpdateVsan_Task UpdateVsanRequestType
 79799  
 79800  func init() {
 79801  	t["UpdateVsan_Task"] = reflect.TypeOf((*UpdateVsan_Task)(nil)).Elem()
 79802  }
 79803  
 79804  type UpdateVsan_TaskResponse struct {
 79805  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79806  }
 79807  
 79808  // This event records that the agent has been patched and will be
 79809  // restarted.
 79810  type UpdatedAgentBeingRestartedEvent struct {
 79811  	HostEvent
 79812  }
 79813  
 79814  func init() {
 79815  	t["UpdatedAgentBeingRestartedEvent"] = reflect.TypeOf((*UpdatedAgentBeingRestartedEvent)(nil)).Elem()
 79816  }
 79817  
 79818  // These event types represent events converted from VirtualCenter 1.x.
 79819  //
 79820  // All upgraded events are converted to string values.
 79821  type UpgradeEvent struct {
 79822  	Event
 79823  
 79824  	// The formatted message from the upgrade.
 79825  	Message string `xml:"message" json:"message"`
 79826  }
 79827  
 79828  func init() {
 79829  	t["UpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem()
 79830  }
 79831  
 79832  // The parameters of `IoFilterManager.UpgradeIoFilter_Task`.
 79833  type UpgradeIoFilterRequestType struct {
 79834  	This ManagedObjectReference `xml:"_this" json:"-"`
 79835  	// The filter to be upgraded.
 79836  	FilterId string `xml:"filterId" json:"filterId"`
 79837  	// The compute resource that the filter is installed on.
 79838  	// "compRes" must be a cluster.
 79839  	//
 79840  	// Refers instance of `ComputeResource`.
 79841  	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
 79842  	// The URL that points to the new IO Filter VIB package.
 79843  	VibUrl string `xml:"vibUrl" json:"vibUrl"`
 79844  	// This specifies SSL trust policy `IoFilterManagerSslTrust`
 79845  	// for the given VIB URL. If unset, the server certificate is
 79846  	// validated against the trusted root certificates.
 79847  	VibSslTrust BaseIoFilterManagerSslTrust `xml:"vibSslTrust,omitempty,typeattr" json:"vibSslTrust,omitempty" vim:"8.0.3.0"`
 79848  }
 79849  
 79850  func init() {
 79851  	t["UpgradeIoFilterRequestType"] = reflect.TypeOf((*UpgradeIoFilterRequestType)(nil)).Elem()
 79852  }
 79853  
 79854  type UpgradeIoFilter_Task UpgradeIoFilterRequestType
 79855  
 79856  func init() {
 79857  	t["UpgradeIoFilter_Task"] = reflect.TypeOf((*UpgradeIoFilter_Task)(nil)).Elem()
 79858  }
 79859  
 79860  type UpgradeIoFilter_TaskResponse struct {
 79861  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79862  }
 79863  
 79864  // The parameters of `VirtualMachine.UpgradeTools_Task`.
 79865  type UpgradeToolsRequestType struct {
 79866  	This ManagedObjectReference `xml:"_this" json:"-"`
 79867  	// Command line options passed to the installer to modify
 79868  	// the installation procedure for tools.
 79869  	InstallerOptions string `xml:"installerOptions,omitempty" json:"installerOptions,omitempty"`
 79870  }
 79871  
 79872  func init() {
 79873  	t["UpgradeToolsRequestType"] = reflect.TypeOf((*UpgradeToolsRequestType)(nil)).Elem()
 79874  }
 79875  
 79876  type UpgradeTools_Task UpgradeToolsRequestType
 79877  
 79878  func init() {
 79879  	t["UpgradeTools_Task"] = reflect.TypeOf((*UpgradeTools_Task)(nil)).Elem()
 79880  }
 79881  
 79882  type UpgradeTools_TaskResponse struct {
 79883  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79884  }
 79885  
 79886  // The parameters of `VirtualMachine.UpgradeVM_Task`.
 79887  type UpgradeVMRequestType struct {
 79888  	This ManagedObjectReference `xml:"_this" json:"-"`
 79889  	// If specified, upgrade to that specified version. If not specified,
 79890  	// upgrade to the most current virtual hardware supported on the host.
 79891  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 79892  }
 79893  
 79894  func init() {
 79895  	t["UpgradeVMRequestType"] = reflect.TypeOf((*UpgradeVMRequestType)(nil)).Elem()
 79896  }
 79897  
 79898  type UpgradeVM_Task UpgradeVMRequestType
 79899  
 79900  func init() {
 79901  	t["UpgradeVM_Task"] = reflect.TypeOf((*UpgradeVM_Task)(nil)).Elem()
 79902  }
 79903  
 79904  type UpgradeVM_TaskResponse struct {
 79905  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 79906  }
 79907  
 79908  type UpgradeVmLayout UpgradeVmLayoutRequestType
 79909  
 79910  func init() {
 79911  	t["UpgradeVmLayout"] = reflect.TypeOf((*UpgradeVmLayout)(nil)).Elem()
 79912  }
 79913  
 79914  type UpgradeVmLayoutRequestType struct {
 79915  	This ManagedObjectReference `xml:"_this" json:"-"`
 79916  }
 79917  
 79918  func init() {
 79919  	t["UpgradeVmLayoutRequestType"] = reflect.TypeOf((*UpgradeVmLayoutRequestType)(nil)).Elem()
 79920  }
 79921  
 79922  type UpgradeVmLayoutResponse struct {
 79923  }
 79924  
 79925  type UpgradeVmfs UpgradeVmfsRequestType
 79926  
 79927  func init() {
 79928  	t["UpgradeVmfs"] = reflect.TypeOf((*UpgradeVmfs)(nil)).Elem()
 79929  }
 79930  
 79931  // The parameters of `HostStorageSystem.UpgradeVmfs`.
 79932  type UpgradeVmfsRequestType struct {
 79933  	This ManagedObjectReference `xml:"_this" json:"-"`
 79934  	// The path of the VMFS.
 79935  	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
 79936  }
 79937  
 79938  func init() {
 79939  	t["UpgradeVmfsRequestType"] = reflect.TypeOf((*UpgradeVmfsRequestType)(nil)).Elem()
 79940  }
 79941  
 79942  type UpgradeVmfsResponse struct {
 79943  }
 79944  
 79945  type UpgradeVsanObjects UpgradeVsanObjectsRequestType
 79946  
 79947  func init() {
 79948  	t["UpgradeVsanObjects"] = reflect.TypeOf((*UpgradeVsanObjects)(nil)).Elem()
 79949  }
 79950  
 79951  // The parameters of `HostVsanInternalSystem.UpgradeVsanObjects`.
 79952  type UpgradeVsanObjectsRequestType struct {
 79953  	This ManagedObjectReference `xml:"_this" json:"-"`
 79954  	// The array of objects' UUID which will be upgraded.
 79955  	Uuids []string `xml:"uuids" json:"uuids"`
 79956  	// The new version will be applied to objects.
 79957  	NewVersion int32 `xml:"newVersion" json:"newVersion"`
 79958  }
 79959  
 79960  func init() {
 79961  	t["UpgradeVsanObjectsRequestType"] = reflect.TypeOf((*UpgradeVsanObjectsRequestType)(nil)).Elem()
 79962  }
 79963  
 79964  type UpgradeVsanObjectsResponse struct {
 79965  	Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
 79966  }
 79967  
 79968  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 79969  // not all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 79970  // max MTU size packets passing.
 79971  type UplinkPortMtuNotSupportEvent struct {
 79972  	DvsHealthStatusChangeEvent
 79973  }
 79974  
 79975  func init() {
 79976  	t["UplinkPortMtuNotSupportEvent"] = reflect.TypeOf((*UplinkPortMtuNotSupportEvent)(nil)).Elem()
 79977  }
 79978  
 79979  // Mtu health check status of an uplink port is changed, and in the latest mtu health check,
 79980  // all the vlans' MTU setting on physical switch allows vSphere Distributed Switch
 79981  // max MTU size packets passing.
 79982  type UplinkPortMtuSupportEvent struct {
 79983  	DvsHealthStatusChangeEvent
 79984  }
 79985  
 79986  func init() {
 79987  	t["UplinkPortMtuSupportEvent"] = reflect.TypeOf((*UplinkPortMtuSupportEvent)(nil)).Elem()
 79988  }
 79989  
 79990  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 79991  // all the vlans are trunked by the physical switch connected to the uplink port.
 79992  type UplinkPortVlanTrunkedEvent struct {
 79993  	DvsHealthStatusChangeEvent
 79994  }
 79995  
 79996  func init() {
 79997  	t["UplinkPortVlanTrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanTrunkedEvent)(nil)).Elem()
 79998  }
 79999  
 80000  // Vlans health check status of an uplink port is changed, and in the latest vlan health check,
 80001  // not all the vlans are trunked by the physical switch connected to the uplink port.
 80002  type UplinkPortVlanUntrunkedEvent struct {
 80003  	DvsHealthStatusChangeEvent
 80004  }
 80005  
 80006  func init() {
 80007  	t["UplinkPortVlanUntrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanUntrunkedEvent)(nil)).Elem()
 80008  }
 80009  
 80010  type UploadClientCert UploadClientCertRequestType
 80011  
 80012  func init() {
 80013  	t["UploadClientCert"] = reflect.TypeOf((*UploadClientCert)(nil)).Elem()
 80014  }
 80015  
 80016  // The parameters of `CryptoManagerKmip.UploadClientCert`.
 80017  type UploadClientCertRequestType struct {
 80018  	This ManagedObjectReference `xml:"_this" json:"-"`
 80019  	// \[in\] KMIP cluster.
 80020  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80021  	// \[in\] Client certificate.
 80022  	Certificate string `xml:"certificate" json:"certificate"`
 80023  	// \[in\] Private key.
 80024  	PrivateKey string `xml:"privateKey" json:"privateKey"`
 80025  }
 80026  
 80027  func init() {
 80028  	t["UploadClientCertRequestType"] = reflect.TypeOf((*UploadClientCertRequestType)(nil)).Elem()
 80029  }
 80030  
 80031  type UploadClientCertResponse struct {
 80032  }
 80033  
 80034  type UploadKmipServerCert UploadKmipServerCertRequestType
 80035  
 80036  func init() {
 80037  	t["UploadKmipServerCert"] = reflect.TypeOf((*UploadKmipServerCert)(nil)).Elem()
 80038  }
 80039  
 80040  // The parameters of `CryptoManagerKmip.UploadKmipServerCert`.
 80041  type UploadKmipServerCertRequestType struct {
 80042  	This ManagedObjectReference `xml:"_this" json:"-"`
 80043  	// \[in\] KMIP cluster.
 80044  	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
 80045  	// \[in\] Server certificate in PEM encoding.
 80046  	Certificate string `xml:"certificate" json:"certificate"`
 80047  }
 80048  
 80049  func init() {
 80050  	t["UploadKmipServerCertRequestType"] = reflect.TypeOf((*UploadKmipServerCertRequestType)(nil)).Elem()
 80051  }
 80052  
 80053  type UploadKmipServerCertResponse struct {
 80054  }
 80055  
 80056  // This data object contains information about which USB HID codes
 80057  // to send to the Virtual Machine's keyboard.
 80058  type UsbScanCodeSpec struct {
 80059  	DynamicData
 80060  
 80061  	KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents" json:"keyEvents"`
 80062  }
 80063  
 80064  func init() {
 80065  	t["UsbScanCodeSpec"] = reflect.TypeOf((*UsbScanCodeSpec)(nil)).Elem()
 80066  }
 80067  
 80068  type UsbScanCodeSpecKeyEvent struct {
 80069  	DynamicData
 80070  
 80071  	// USB HID code of the event
 80072  	UsbHidCode int32 `xml:"usbHidCode" json:"usbHidCode"`
 80073  	// Modifiers to apply to the USB HID code
 80074  	Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty" json:"modifiers,omitempty"`
 80075  }
 80076  
 80077  func init() {
 80078  	t["UsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*UsbScanCodeSpecKeyEvent)(nil)).Elem()
 80079  }
 80080  
 80081  // The types of key modifiers to apply to each code.
 80082  type UsbScanCodeSpecModifierType struct {
 80083  	DynamicData
 80084  
 80085  	// Left control key
 80086  	LeftControl *bool `xml:"leftControl" json:"leftControl,omitempty"`
 80087  	// Left shift key
 80088  	LeftShift *bool `xml:"leftShift" json:"leftShift,omitempty"`
 80089  	// Left alt key
 80090  	LeftAlt *bool `xml:"leftAlt" json:"leftAlt,omitempty"`
 80091  	// Left gui key
 80092  	LeftGui *bool `xml:"leftGui" json:"leftGui,omitempty"`
 80093  	// Right control key
 80094  	RightControl *bool `xml:"rightControl" json:"rightControl,omitempty"`
 80095  	// Right shift key
 80096  	RightShift *bool `xml:"rightShift" json:"rightShift,omitempty"`
 80097  	// Right alt key
 80098  	RightAlt *bool `xml:"rightAlt" json:"rightAlt,omitempty"`
 80099  	// Right gui key
 80100  	RightGui *bool `xml:"rightGui" json:"rightGui,omitempty"`
 80101  }
 80102  
 80103  func init() {
 80104  	t["UsbScanCodeSpecModifierType"] = reflect.TypeOf((*UsbScanCodeSpecModifierType)(nil)).Elem()
 80105  }
 80106  
 80107  // This event records that a user account membership was added to a group.
 80108  type UserAssignedToGroup struct {
 80109  	HostEvent
 80110  
 80111  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80112  	Group     string `xml:"group" json:"group"`
 80113  }
 80114  
 80115  func init() {
 80116  	t["UserAssignedToGroup"] = reflect.TypeOf((*UserAssignedToGroup)(nil)).Elem()
 80117  }
 80118  
 80119  // The `UserGroupProfile` data object represents a user group.
 80120  //
 80121  // Use the `ApplyProfile.policy` list for access to configuration data
 80122  // for the user group profile. Use the `ApplyProfile.property` list for access
 80123  // to subprofile configuration data, if any.
 80124  type UserGroupProfile struct {
 80125  	ApplyProfile
 80126  
 80127  	// Linkable identifier.
 80128  	Key string `xml:"key" json:"key"`
 80129  }
 80130  
 80131  func init() {
 80132  	t["UserGroupProfile"] = reflect.TypeOf((*UserGroupProfile)(nil)).Elem()
 80133  }
 80134  
 80135  // The `UserInputRequiredParameterMetadata` data object represents policy option metadata
 80136  // information for configuration data.
 80137  //
 80138  // The Profile Engine saves configuration
 80139  // data from the user input options in the host `AnswerFile`.
 80140  // See the `HostProfile.ExecuteHostProfile` and
 80141  // `HostProfileManager.ApplyHostConfig_Task` methods.
 80142  type UserInputRequiredParameterMetadata struct {
 80143  	ProfilePolicyOptionMetadata
 80144  
 80145  	// Metadata for user input options.
 80146  	UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty" json:"userInputParameter,omitempty"`
 80147  }
 80148  
 80149  func init() {
 80150  	t["UserInputRequiredParameterMetadata"] = reflect.TypeOf((*UserInputRequiredParameterMetadata)(nil)).Elem()
 80151  }
 80152  
 80153  // This event records a user logon.
 80154  type UserLoginSessionEvent struct {
 80155  	SessionEvent
 80156  
 80157  	// The IP address of the peer that initiated the connection.
 80158  	//
 80159  	// This may
 80160  	// be the client that originated the session, or it may be an intervening
 80161  	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
 80162  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 80163  	// The user agent or application
 80164  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 80165  	// The locale of the session.
 80166  	Locale string `xml:"locale" json:"locale"`
 80167  	// The unique identifier for the session.
 80168  	SessionId string `xml:"sessionId" json:"sessionId"`
 80169  }
 80170  
 80171  func init() {
 80172  	t["UserLoginSessionEvent"] = reflect.TypeOf((*UserLoginSessionEvent)(nil)).Elem()
 80173  }
 80174  
 80175  // This event records a user logoff, disconnection, or session timeout.
 80176  type UserLogoutSessionEvent struct {
 80177  	SessionEvent
 80178  
 80179  	// The IP address of client
 80180  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 80181  	// The user agent or application
 80182  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 80183  	// Number of API invocations made by the session
 80184  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty"`
 80185  	// The unique identifier for the session.
 80186  	SessionId string `xml:"sessionId,omitempty" json:"sessionId,omitempty"`
 80187  	// Timestamp when the user logged on for this session.
 80188  	LoginTime *time.Time `xml:"loginTime" json:"loginTime,omitempty"`
 80189  }
 80190  
 80191  func init() {
 80192  	t["UserLogoutSessionEvent"] = reflect.TypeOf((*UserLogoutSessionEvent)(nil)).Elem()
 80193  }
 80194  
 80195  // Thrown when the request refers to a user or group name that could not
 80196  // be resolved.
 80197  type UserNotFound struct {
 80198  	VimFault
 80199  
 80200  	// Principal value that failed lookup.
 80201  	Principal string `xml:"principal" json:"principal"`
 80202  	// Flag to indicate whether or not the lookup was unsuccessful.
 80203  	//
 80204  	// A false value indicates that the user does not exist in the directory. A true
 80205  	// value indicates that the directory could not be contacted, possibly due to a
 80206  	// network error.
 80207  	Unresolved bool `xml:"unresolved" json:"unresolved"`
 80208  }
 80209  
 80210  func init() {
 80211  	t["UserNotFound"] = reflect.TypeOf((*UserNotFound)(nil)).Elem()
 80212  }
 80213  
 80214  type UserNotFoundFault UserNotFound
 80215  
 80216  func init() {
 80217  	t["UserNotFoundFault"] = reflect.TypeOf((*UserNotFoundFault)(nil)).Elem()
 80218  }
 80219  
 80220  // This event records that a user password changed.
 80221  type UserPasswordChanged struct {
 80222  	HostEvent
 80223  
 80224  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80225  }
 80226  
 80227  func init() {
 80228  	t["UserPasswordChanged"] = reflect.TypeOf((*UserPasswordChanged)(nil)).Elem()
 80229  }
 80230  
 80231  // This class is used to provide the list of effective privileges
 80232  // set on a given managed entity for a user.
 80233  type UserPrivilegeResult struct {
 80234  	DynamicData
 80235  
 80236  	// The entity on which privileges are retrieved.
 80237  	//
 80238  	// Refers instance of `ManagedEntity`.
 80239  	Entity ManagedObjectReference `xml:"entity" json:"entity"`
 80240  	// A list of privileges set on the entity.
 80241  	Privileges []string `xml:"privileges,omitempty" json:"privileges,omitempty"`
 80242  }
 80243  
 80244  func init() {
 80245  	t["UserPrivilegeResult"] = reflect.TypeOf((*UserPrivilegeResult)(nil)).Elem()
 80246  }
 80247  
 80248  // The `UserProfile` data object represents a user.
 80249  //
 80250  // Use the `ApplyProfile.policy` list for access to configuration data
 80251  // for the user profile. Use the `ApplyProfile.property` list for access
 80252  // to subprofile configuration data, if any.
 80253  type UserProfile struct {
 80254  	ApplyProfile
 80255  
 80256  	// Linkable identifier.
 80257  	Key string `xml:"key" json:"key"`
 80258  }
 80259  
 80260  func init() {
 80261  	t["UserProfile"] = reflect.TypeOf((*UserProfile)(nil)).Elem()
 80262  }
 80263  
 80264  // When searching for users, the search results in
 80265  // some additional information.
 80266  //
 80267  // This object describes
 80268  // the additional information.
 80269  type UserSearchResult struct {
 80270  	DynamicData
 80271  
 80272  	// Login name of a user or the name of a group.
 80273  	//
 80274  	// This key is
 80275  	// the user within the searched domain.
 80276  	Principal string `xml:"principal" json:"principal"`
 80277  	// Full name of the user found by the search, or the description
 80278  	// of a group, if available.
 80279  	FullName string `xml:"fullName,omitempty" json:"fullName,omitempty"`
 80280  	// If this is true, then the result is a group.
 80281  	//
 80282  	// If this is false, then the
 80283  	// result is a user.
 80284  	Group bool `xml:"group" json:"group"`
 80285  }
 80286  
 80287  func init() {
 80288  	t["UserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem()
 80289  }
 80290  
 80291  // Information about a current user session.
 80292  type UserSession struct {
 80293  	DynamicData
 80294  
 80295  	// A unique identifier for this session,
 80296  	// also known as the session ID.
 80297  	Key string `xml:"key" json:"key"`
 80298  	// The user name represented by this session.
 80299  	UserName string `xml:"userName" json:"userName"`
 80300  	// The full name of the user, if available.
 80301  	FullName string `xml:"fullName" json:"fullName"`
 80302  	// Timestamp when the user last logged on to the server.
 80303  	LoginTime time.Time `xml:"loginTime" json:"loginTime"`
 80304  	// Timestamp when the user last executed a command.
 80305  	LastActiveTime time.Time `xml:"lastActiveTime" json:"lastActiveTime"`
 80306  	// The locale for the session used for data formatting and preferred for messages.
 80307  	Locale string `xml:"locale" json:"locale"`
 80308  	// The locale used for messages for the session.
 80309  	//
 80310  	// If there are no localized messages for the user-specified locale, then
 80311  	// the server determines this locale.
 80312  	MessageLocale string `xml:"messageLocale" json:"messageLocale"`
 80313  	// Whether or not this session belongs to a VC Extension.
 80314  	ExtensionSession *bool `xml:"extensionSession" json:"extensionSession,omitempty"`
 80315  	// The client identity.
 80316  	//
 80317  	// It could be IP address, or pipe name depended
 80318  	// on client binding
 80319  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 80320  	// The name of user agent or application
 80321  	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty"`
 80322  	// Number of API invocations since the session started
 80323  	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty"`
 80324  }
 80325  
 80326  func init() {
 80327  	t["UserSession"] = reflect.TypeOf((*UserSession)(nil)).Elem()
 80328  }
 80329  
 80330  // This event records that a user account membership was removed from a group.
 80331  type UserUnassignedFromGroup struct {
 80332  	HostEvent
 80333  
 80334  	UserLogin string `xml:"userLogin" json:"userLogin"`
 80335  	Group     string `xml:"group" json:"group"`
 80336  }
 80337  
 80338  func init() {
 80339  	t["UserUnassignedFromGroup"] = reflect.TypeOf((*UserUnassignedFromGroup)(nil)).Elem()
 80340  }
 80341  
 80342  // This event is a general user event from upgrade.
 80343  type UserUpgradeEvent struct {
 80344  	UpgradeEvent
 80345  }
 80346  
 80347  func init() {
 80348  	t["UserUpgradeEvent"] = reflect.TypeOf((*UserUpgradeEvent)(nil)).Elem()
 80349  }
 80350  
 80351  // Represent Storage Array
 80352  type VASAStorageArray struct {
 80353  	DynamicData
 80354  
 80355  	// Name
 80356  	Name string `xml:"name" json:"name"`
 80357  	// Unique identifier
 80358  	Uuid string `xml:"uuid" json:"uuid"`
 80359  	// Vendor Id
 80360  	VendorId string `xml:"vendorId" json:"vendorId"`
 80361  	// Model Id
 80362  	ModelId string `xml:"modelId" json:"modelId"`
 80363  	// Transport information to address the array's discovery
 80364  	// service.
 80365  	DiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"discoverySvcInfo,omitempty" json:"discoverySvcInfo,omitempty" vim:"8.0.0.0"`
 80366  }
 80367  
 80368  func init() {
 80369  	t["VASAStorageArray"] = reflect.TypeOf((*VASAStorageArray)(nil)).Elem()
 80370  }
 80371  
 80372  // Discovery service information of the array with FC
 80373  // transport.
 80374  type VASAStorageArrayDiscoveryFcTransport struct {
 80375  	DynamicData
 80376  
 80377  	// Node-WWN (World Wide Name) represented in hexadecimal format.
 80378  	NodeWwn string `xml:"nodeWwn" json:"nodeWwn"`
 80379  	// Port-WWN (World Wide Name) represented in hexadecimal format.
 80380  	PortWwn string `xml:"portWwn" json:"portWwn"`
 80381  }
 80382  
 80383  func init() {
 80384  	t["VASAStorageArrayDiscoveryFcTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryFcTransport)(nil)).Elem()
 80385  	minAPIVersionForType["VASAStorageArrayDiscoveryFcTransport"] = "8.0.0.0"
 80386  }
 80387  
 80388  // Discovery service information of the array with IP
 80389  // transport.
 80390  type VASAStorageArrayDiscoveryIpTransport struct {
 80391  	DynamicData
 80392  
 80393  	// IP address (IPv4/v6) of the RDMA/TCP target port.
 80394  	IpAddress string `xml:"ipAddress" json:"ipAddress"`
 80395  	// Port number.
 80396  	//
 80397  	// Defaults to port 8009 (TCP) and RoCEv2
 80398  	// port 4420 (UDP).
 80399  	PortNumber string `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
 80400  }
 80401  
 80402  func init() {
 80403  	t["VASAStorageArrayDiscoveryIpTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryIpTransport)(nil)).Elem()
 80404  	minAPIVersionForType["VASAStorageArrayDiscoveryIpTransport"] = "8.0.0.0"
 80405  }
 80406  
 80407  // Discovery service information of storage array.
 80408  type VASAStorageArrayDiscoverySvcInfo struct {
 80409  	DynamicData
 80410  
 80411  	// Port type, string as defined in `VASAStorageArrayBlockEnum_enum`.
 80412  	PortType string `xml:"portType" json:"portType"`
 80413  	// Well-known NQN of discovery service.
 80414  	SvcNqn string `xml:"svcNqn" json:"svcNqn"`
 80415  	// IP transport discovery information.
 80416  	//
 80417  	// Must be specified if
 80418  	// the discovery service is IP-based.
 80419  	IpInfo *VASAStorageArrayDiscoveryIpTransport `xml:"ipInfo,omitempty" json:"ipInfo,omitempty"`
 80420  	// FC transport discovery information.
 80421  	//
 80422  	// Must be specified if
 80423  	// the discovery service is FC-based.
 80424  	FcInfo *VASAStorageArrayDiscoveryFcTransport `xml:"fcInfo,omitempty" json:"fcInfo,omitempty"`
 80425  }
 80426  
 80427  func init() {
 80428  	t["VASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*VASAStorageArrayDiscoverySvcInfo)(nil)).Elem()
 80429  	minAPIVersionForType["VASAStorageArrayDiscoverySvcInfo"] = "8.0.0.0"
 80430  }
 80431  
 80432  // Specification for a vApp cloning operation.
 80433  type VAppCloneSpec struct {
 80434  	DynamicData
 80435  
 80436  	// Location where the destination vApp must be stored
 80437  	//
 80438  	// Refers instance of `Datastore`.
 80439  	Location ManagedObjectReference `xml:"location" json:"location"`
 80440  	// The target host for the virtual machines.
 80441  	//
 80442  	// This is often not a required
 80443  	// parameter. If not specified, the behavior is as follows:
 80444  	//   - If the target pool represents a stand-alone host, that host is used.
 80445  	//   - If the target pool represents a DRS-enabled cluster, a host selected
 80446  	//     by DRS is used.
 80447  	//   - If the target pool represents a cluster without DRS enabled or a
 80448  	//     DRS-enabled cluster in manual mode, an InvalidArgument exception is
 80449  	//     thrown.
 80450  	//
 80451  	// Refers instance of `HostSystem`.
 80452  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 80453  	// The resource configuration for the vApp.
 80454  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 80455  	// The VM Folder to associate the vApp with
 80456  	//
 80457  	// Refers instance of `Folder`.
 80458  	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
 80459  	// Network mappings.
 80460  	//
 80461  	// See `VAppCloneSpecNetworkMappingPair`.
 80462  	NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
 80463  	// A set of property values to override.
 80464  	Property []KeyValue `xml:"property,omitempty" json:"property,omitempty"`
 80465  	// The resource configuration for the cloned vApp.
 80466  	ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty"`
 80467  	// Specify how the VMs in the vApp should be provisioned.
 80468  	Provisioning string `xml:"provisioning,omitempty" json:"provisioning,omitempty"`
 80469  }
 80470  
 80471  func init() {
 80472  	t["VAppCloneSpec"] = reflect.TypeOf((*VAppCloneSpec)(nil)).Elem()
 80473  }
 80474  
 80475  // Maps one network to another as part of the clone process.
 80476  //
 80477  // Instances of this class are used in the field `VAppCloneSpec.networkMapping`
 80478  type VAppCloneSpecNetworkMappingPair struct {
 80479  	DynamicData
 80480  
 80481  	// The source network
 80482  	//
 80483  	// Refers instance of `Network`.
 80484  	Source ManagedObjectReference `xml:"source" json:"source"`
 80485  	// The destination network
 80486  	//
 80487  	// Refers instance of `Network`.
 80488  	Destination ManagedObjectReference `xml:"destination" json:"destination"`
 80489  }
 80490  
 80491  func init() {
 80492  	t["VAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*VAppCloneSpecNetworkMappingPair)(nil)).Elem()
 80493  }
 80494  
 80495  // Maps source child entities to destination resource pools
 80496  // and resource settings.
 80497  //
 80498  // If a mapping is not specified,
 80499  // a child is copied as a direct child of the parent.
 80500  type VAppCloneSpecResourceMap struct {
 80501  	DynamicData
 80502  
 80503  	// Source entity
 80504  	//
 80505  	// Refers instance of `ManagedEntity`.
 80506  	Source ManagedObjectReference `xml:"source" json:"source"`
 80507  	// Resource pool to use for the cloned entity of source.
 80508  	//
 80509  	// This must specify a
 80510  	// resource pool that is not part of the vApp. If this is specified, a linked
 80511  	// child (as opposed to a direct child) is created for the vApp.
 80512  	//
 80513  	// Refers instance of `ResourcePool`.
 80514  	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
 80515  	// An optional resource configuration for the cloned entity of the source.
 80516  	//
 80517  	// If
 80518  	// not specified, the same resource configuration as the source is used.
 80519  	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
 80520  	// A client can optionally specify a datastore in the resource map to
 80521  	// override the default datastore location set in `VAppCloneSpecResourceMap.location` field.
 80522  	//
 80523  	// This
 80524  	// enables cloning to different compute resources that do not have shared
 80525  	// datastores.
 80526  	//
 80527  	// Refers instance of `Datastore`.
 80528  	Location *ManagedObjectReference `xml:"location,omitempty" json:"location,omitempty"`
 80529  }
 80530  
 80531  func init() {
 80532  	t["VAppCloneSpecResourceMap"] = reflect.TypeOf((*VAppCloneSpecResourceMap)(nil)).Elem()
 80533  }
 80534  
 80535  // Base for configuration / environment issues that can be thrown when powering on or
 80536  // changing the configuration of a vApp.
 80537  type VAppConfigFault struct {
 80538  	VimFault
 80539  }
 80540  
 80541  func init() {
 80542  	t["VAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem()
 80543  }
 80544  
 80545  type VAppConfigFaultFault BaseVAppConfigFault
 80546  
 80547  func init() {
 80548  	t["VAppConfigFaultFault"] = reflect.TypeOf((*VAppConfigFaultFault)(nil)).Elem()
 80549  }
 80550  
 80551  // Configuration of a vApp container.
 80552  type VAppConfigInfo struct {
 80553  	VmConfigInfo
 80554  
 80555  	// Configuration of sub-entities (virtual machine or vApp).
 80556  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 80557  	// Description for the vApp.
 80558  	Annotation string `xml:"annotation" json:"annotation"`
 80559  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexademical
 80560  	// string.
 80561  	//
 80562  	// This identifier is used by vCenter to uniquely identify all
 80563  	// vApp instances.
 80564  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 80565  	// Specifies that this vApp is managed by a VC Extension.
 80566  	//
 80567  	// See the
 80568  	// `managedBy` property in the
 80569  	// VAppConfigSpec for more details.
 80570  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 80571  }
 80572  
 80573  func init() {
 80574  	t["VAppConfigInfo"] = reflect.TypeOf((*VAppConfigInfo)(nil)).Elem()
 80575  }
 80576  
 80577  // Configuration of a vApp
 80578  type VAppConfigSpec struct {
 80579  	VmConfigSpec
 80580  
 80581  	// Configuration of sub-entities (virtual machine or vApp container).
 80582  	//
 80583  	// Reconfigure privilege: See EntityConfigInfo
 80584  	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
 80585  	// Description for the vApp.
 80586  	//
 80587  	// Reconfigure privilege: VApp.Rename.
 80588  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 80589  	// vCenter-specific 128-bit UUID of a vApp, represented as a hexadecimal
 80590  	// string.
 80591  	//
 80592  	// This identifier is used by vCenter to uniquely identify all
 80593  	// vApp instances in the Virtual Infrastructure environment.
 80594  	//
 80595  	// Normally, this property is not set by a client, allowing the
 80596  	// Virtual Infrastructure environment to assign or change it when
 80597  	// VirtualCenter detects an identifier conflict between vApps.
 80598  	//
 80599  	// Reconfigure privilege: VApp.ApplicationConfig
 80600  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 80601  	// Specifies that this vApp is managed by a VC Extension.
 80602  	//
 80603  	// This information is primarily used in the Client to show a custom icon for
 80604  	// managed vApps, and a description of the function of the vApp. If no extension
 80605  	// can be found with the extension key in the `managedBy`
 80606  	// object, or the type is not found in the
 80607  	// `managedEntityInfo` list of the
 80608  	// extension, the default vApp icon is used, and no description is shown.
 80609  	//
 80610  	// Reconfigure privilege: VApp.ApplicationConfig
 80611  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 80612  }
 80613  
 80614  func init() {
 80615  	t["VAppConfigSpec"] = reflect.TypeOf((*VAppConfigSpec)(nil)).Elem()
 80616  }
 80617  
 80618  // This object type describes the behavior of an entity (virtual machine or
 80619  // sub-vApp container) in a vApp container.
 80620  //
 80621  // The auto-start/auto-stop configurations control the behavior of the
 80622  // start/stop vApp operations.
 80623  //
 80624  // An virtual machine entity can be configured to wait for a period of time before
 80625  // starting or to wait to receive a successful heartbeat from a virtual machine
 80626  // before starting the next virtual machine in the sequence.
 80627  //   - For a power-on operation, if waitForHeartbeat is true, then the power-on
 80628  //     sequence continues after the the first heartbeat has been received. If
 80629  //     waitingForGuest is false, the system waits for the specified delay and
 80630  //     then continues the power-on sequence.
 80631  //   - For a power-off operation, if delay is non-zero, the requested power-off
 80632  //     action is invoked (powerOff, suspend, guestShutdown) on the virtual
 80633  //     machine and the system waits until the number of seconds specified in the
 80634  //     delay have passed.
 80635  //
 80636  // If startAction and stopAction for an entity are both set to none, that
 80637  // entity does not participate in the sequence.
 80638  //
 80639  // The start/stop delay and waitingForGuest is not used if the entity is a
 80640  // vApp container. For a vApp the only value values for startAction is none
 80641  // or powerOn, and the valid values for stopAction is none or powerOff.
 80642  type VAppEntityConfigInfo struct {
 80643  	DynamicData
 80644  
 80645  	// Entity to power on or power off.
 80646  	//
 80647  	// This can be a virtual machine or a vApp.
 80648  	//
 80649  	// Refers instance of `ManagedEntity`.
 80650  	Key *ManagedObjectReference `xml:"key,omitempty" json:"key,omitempty"`
 80651  	// Tag for entity.
 80652  	//
 80653  	// Reconfigure privilege: VApp.ApplicationConfig
 80654  	Tag string `xml:"tag,omitempty" json:"tag,omitempty"`
 80655  	// Specifies the start order for this entity.
 80656  	//
 80657  	// Entities are started from lower
 80658  	// numbers to higher-numbers and reverse on shutdown. Multiple entities with the
 80659  	// same start-order can be started in parallel and the order is unspecified. This
 80660  	// value must be 0 or higher.
 80661  	//
 80662  	// Reconfigure privilege: VApp.ApplicationConfig
 80663  	StartOrder int32 `xml:"startOrder,omitempty" json:"startOrder,omitempty"`
 80664  	// Delay in seconds before continuing with the next entity in the order of entities
 80665  	// to be started.
 80666  	//
 80667  	// Reconfigure privilege: VApp.ApplicationConfig
 80668  	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
 80669  	// Determines if the virtual machine should start after receiving a heartbeat,
 80670  	// from the guest.
 80671  	//
 80672  	// When a virtual machine is next in the start
 80673  	// order, the system either waits a specified period of time for a virtual
 80674  	// machine to power on or it waits until it receives a successful heartbeat from a
 80675  	// powered on virtual machine. By default, this is set to false.
 80676  	//
 80677  	// This property has no effect for vApps.
 80678  	//
 80679  	// Reconfigure privilege: VApp.ApplicationConfig
 80680  	WaitingForGuest *bool `xml:"waitingForGuest" json:"waitingForGuest,omitempty"`
 80681  	// How to start the entity.
 80682  	//
 80683  	// Valid settings are none or powerOn. If set to none, then
 80684  	// the entity does not participate in auto-start.
 80685  	//
 80686  	// Reconfigure privilege: VApp.ApplicationConfig
 80687  	StartAction string `xml:"startAction,omitempty" json:"startAction,omitempty"`
 80688  	// Delay in seconds before continuing with the next entity in the order
 80689  	// sequence.
 80690  	//
 80691  	// This is only used if the stopAction is guestShutdown.
 80692  	//
 80693  	// Reconfigure privilege: VApp.ApplicationConfig
 80694  	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
 80695  	// Defines the stop action for the entity.
 80696  	//
 80697  	// Can be set to none, powerOff,
 80698  	// guestShutdown, or suspend. If set to none, then the entity does not participate in
 80699  	// auto-stop.
 80700  	//
 80701  	// Reconfigure privilege: VApp.ApplicationConfig
 80702  	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
 80703  	// Deprecated as of vSphere API 5.1.
 80704  	//
 80705  	// Whether the entity should be removed, when this vApp is removed.
 80706  	//
 80707  	// This is only set for linked children.
 80708  	//
 80709  	// Reconfigure privilege: VApp.ApplicationConfig
 80710  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
 80711  }
 80712  
 80713  func init() {
 80714  	t["VAppEntityConfigInfo"] = reflect.TypeOf((*VAppEntityConfigInfo)(nil)).Elem()
 80715  }
 80716  
 80717  // The IPAssignmentInfo class specifies how the guest software gets
 80718  // configured with IP addresses, including protocol type (IPv4 or IPv6)
 80719  // and the life-time of those IP addresses.
 80720  //
 80721  // A vApp/virtual machine can either use DHCP to acquire an IP
 80722  // configuration, or it can acquire its IP configuration through the
 80723  // use of the vSphere platform using the OVF environment's properties.
 80724  // The latter is a known as OVF-environment-assigned IP configuration.
 80725  //
 80726  // Guest software can be constructed to support DHCP , OVF assigned
 80727  // IP configuration, or both. The supportedAssignmentScheme property
 80728  // lists the supported schemes. This is typically specified by the author
 80729  // of a vApp.
 80730  //
 80731  // The deployer / operator of a vApp, specifies what IP allocation
 80732  // policy should be used:
 80733  //   - Using DHCP, if the vApp and deployed network supports it
 80734  //   - Transient Assignment, if the vApp supports OVF-assigned IP
 80735  //     configuration and the network has an IP range configured.
 80736  //   - Fixed Assignment, if the vApp supports OVF-assigned IP
 80737  //     configuration.
 80738  //   - Fixed Allocated, if the vApp supports OVF-assigned IP
 80739  //     configuration and the network has an IP range configured.
 80740  //
 80741  // Transient and fixed assignment differs in the life time of the IP
 80742  // allocation. For transient, IP addresses are automatically assigned on
 80743  // power-on and released on power-off. For fixed, the IP
 80744  // addresses are explicitly specified by the deployer and does not change
 80745  // between a power-on/power-off.
 80746  // Fixed allocated is a hybrid of transient and fixed assignment. IP
 80747  // addresses are allocated at first power-on and remain allocated on power-off.
 80748  //
 80749  // The IPAssignment settings are global to a deployment. Thus, if a vApp or
 80750  // virtual machine is part of another vApp, then the settings are ignored,
 80751  // and the ones for the top-most vApp container is used.
 80752  type VAppIPAssignmentInfo struct {
 80753  	DynamicData
 80754  
 80755  	// Specifies the IP allocation schemes supported by the guest software.
 80756  	//
 80757  	// When updating this field, an empty array will be interpreted as no changes.
 80758  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 80759  	// value will overwrite the current setting.
 80760  	//
 80761  	// Reconfigure privilege: VApp.ApplicationConfig
 80762  	SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty" json:"supportedAllocationScheme,omitempty"`
 80763  	// Specifies how IP allocation should be managed by the VI platform.
 80764  	//
 80765  	// This is
 80766  	// typically specified by the deployer. The set of valid options for the policy
 80767  	// is based on the capabilities of the vApp software, as specified by the
 80768  	// supportedAllocationSchemes property.
 80769  	//
 80770  	// Reconfigure privilege: VApp.InstanceConfig
 80771  	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
 80772  	// Specifies the IP protocols supported by the guest software.
 80773  	//
 80774  	// When updating this field, an empty array will be interpreted as no changes.
 80775  	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
 80776  	// value will overwrite the current setting.
 80777  	//
 80778  	// Reconfigure privilege: VApp.ApplicationConfig
 80779  	SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty" json:"supportedIpProtocol,omitempty"`
 80780  	// Specifies the chosen IP protocol for this deployment.
 80781  	//
 80782  	// This must be one of the
 80783  	// values in the supportedIpProtocol field.
 80784  	//
 80785  	// Reconfigure privilege: VApp.InstanceConfig
 80786  	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
 80787  }
 80788  
 80789  func init() {
 80790  	t["VAppIPAssignmentInfo"] = reflect.TypeOf((*VAppIPAssignmentInfo)(nil)).Elem()
 80791  }
 80792  
 80793  // A virtual machine in a vApp cannot be powered on unless the
 80794  // parent vApp is running.
 80795  type VAppNotRunning struct {
 80796  	VmConfigFault
 80797  }
 80798  
 80799  func init() {
 80800  	t["VAppNotRunning"] = reflect.TypeOf((*VAppNotRunning)(nil)).Elem()
 80801  }
 80802  
 80803  type VAppNotRunningFault VAppNotRunning
 80804  
 80805  func init() {
 80806  	t["VAppNotRunningFault"] = reflect.TypeOf((*VAppNotRunningFault)(nil)).Elem()
 80807  }
 80808  
 80809  // This fault is thrown when an operation is attempted on a target where
 80810  // a vApp operation is already in progress.
 80811  //
 80812  // E.g. when trying to move a
 80813  // virtual machine from a vApp that is being powered on.
 80814  type VAppOperationInProgress struct {
 80815  	RuntimeFault
 80816  }
 80817  
 80818  func init() {
 80819  	t["VAppOperationInProgress"] = reflect.TypeOf((*VAppOperationInProgress)(nil)).Elem()
 80820  }
 80821  
 80822  type VAppOperationInProgressFault VAppOperationInProgress
 80823  
 80824  func init() {
 80825  	t["VAppOperationInProgressFault"] = reflect.TypeOf((*VAppOperationInProgressFault)(nil)).Elem()
 80826  }
 80827  
 80828  // The OvfSection encapsulates uninterpreted meta-data sections in
 80829  // an OVF descriptor.
 80830  //
 80831  // When an OVF package is imported, non-required /
 80832  // non-interpreted sections will be stored as OvfSection object. During
 80833  // the creation of an OVF package, these sections will be placed in the
 80834  // OVF descriptor.
 80835  type VAppOvfSectionInfo struct {
 80836  	DynamicData
 80837  
 80838  	// A unique key to identify a section.
 80839  	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
 80840  	// The namespace for the value in xsi:type attribute.
 80841  	Namespace string `xml:"namespace,omitempty" json:"namespace,omitempty"`
 80842  	// The value of the xsi:type attribute not including the namespace prefix.
 80843  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 80844  	// Whether this is a global envelope section
 80845  	AtEnvelopeLevel *bool `xml:"atEnvelopeLevel" json:"atEnvelopeLevel,omitempty"`
 80846  	// The XML fragment including the top-level &lt;Section...&gt; element.
 80847  	//
 80848  	// The
 80849  	// fragment is self-contained will all required namespace definitions.
 80850  	Contents string `xml:"contents,omitempty" json:"contents,omitempty"`
 80851  }
 80852  
 80853  func init() {
 80854  	t["VAppOvfSectionInfo"] = reflect.TypeOf((*VAppOvfSectionInfo)(nil)).Elem()
 80855  }
 80856  
 80857  // An incremental update to the OvfSection list.
 80858  type VAppOvfSectionSpec struct {
 80859  	ArrayUpdateSpec
 80860  
 80861  	Info *VAppOvfSectionInfo `xml:"info,omitempty" json:"info,omitempty"`
 80862  }
 80863  
 80864  func init() {
 80865  	t["VAppOvfSectionSpec"] = reflect.TypeOf((*VAppOvfSectionSpec)(nil)).Elem()
 80866  }
 80867  
 80868  // Information that describes what product a vApp contains, for example,
 80869  // the software that is installed in the contained virtual machines.
 80870  type VAppProductInfo struct {
 80871  	DynamicData
 80872  
 80873  	// A unique key for the product section
 80874  	Key int32 `xml:"key" json:"key"`
 80875  	// Class name for this attribute.
 80876  	//
 80877  	// Valid values for classId:
 80878  	// Any string except any white-space characters.
 80879  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 80880  	// Class name for this attribute.
 80881  	//
 80882  	// Valid values for instanceId:
 80883  	// Any string except any white-space characters.
 80884  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 80885  	// Name of the product.
 80886  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 80887  	// Vendor of the product.
 80888  	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
 80889  	// Short version of the product, for example, 1.0.
 80890  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 80891  	// Full-version of the product, for example, 1.0-build 12323.
 80892  	FullVersion string `xml:"fullVersion,omitempty" json:"fullVersion,omitempty"`
 80893  	// URL to vendor homepage.
 80894  	VendorUrl string `xml:"vendorUrl,omitempty" json:"vendorUrl,omitempty"`
 80895  	// URL to product homepage.
 80896  	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
 80897  	// URL to entry-point for application.
 80898  	//
 80899  	// This is often specified using
 80900  	// a macro, for example, http://${app.ip}/, where app.ip is a defined property
 80901  	// on the virtual machine or vApp container.
 80902  	AppUrl string `xml:"appUrl,omitempty" json:"appUrl,omitempty"`
 80903  }
 80904  
 80905  func init() {
 80906  	t["VAppProductInfo"] = reflect.TypeOf((*VAppProductInfo)(nil)).Elem()
 80907  }
 80908  
 80909  // An incremental update to the Product information list.
 80910  type VAppProductSpec struct {
 80911  	ArrayUpdateSpec
 80912  
 80913  	Info *VAppProductInfo `xml:"info,omitempty" json:"info,omitempty"`
 80914  }
 80915  
 80916  func init() {
 80917  	t["VAppProductSpec"] = reflect.TypeOf((*VAppProductSpec)(nil)).Elem()
 80918  }
 80919  
 80920  // The base fault for all vApp property configuration issues
 80921  type VAppPropertyFault struct {
 80922  	VmConfigFault
 80923  
 80924  	// The fully-qualified id of the property, including instance and class
 80925  	// identifiers.
 80926  	Id string `xml:"id" json:"id"`
 80927  	// The user-readable category
 80928  	Category string `xml:"category" json:"category"`
 80929  	// The user-readable label
 80930  	Label string `xml:"label" json:"label"`
 80931  	// The type specified for the property
 80932  	Type string `xml:"type" json:"type"`
 80933  	// The value of the property
 80934  	Value string `xml:"value" json:"value"`
 80935  }
 80936  
 80937  func init() {
 80938  	t["VAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem()
 80939  }
 80940  
 80941  type VAppPropertyFaultFault BaseVAppPropertyFault
 80942  
 80943  func init() {
 80944  	t["VAppPropertyFaultFault"] = reflect.TypeOf((*VAppPropertyFaultFault)(nil)).Elem()
 80945  }
 80946  
 80947  // A vApp Property description, including deployment values
 80948  type VAppPropertyInfo struct {
 80949  	DynamicData
 80950  
 80951  	// A unique integer key for the property.
 80952  	Key int32 `xml:"key" json:"key"`
 80953  	// class name for this property
 80954  	//
 80955  	// Valid values for classId:
 80956  	// Any string except any white-space characters
 80957  	//
 80958  	// Reconfigure privilege: VApp.ApplicationConfig
 80959  	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
 80960  	// class name for this property
 80961  	//
 80962  	// Valid values for instanceId:
 80963  	// Any string except any white-space characters
 80964  	//
 80965  	// Reconfigure privilege: VApp.ApplicationConfig
 80966  	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
 80967  	// Name of property.
 80968  	//
 80969  	// In the OVF environment, the property is listed as
 80970  	// \[classId.\]id\[.instanceId\]. The \[classId.\]name\[.instanceId\] must be unique.
 80971  	//
 80972  	// This field cannot be empty for a property. Thus, it must be specified at creation
 80973  	// and cannot be set to the empty string.
 80974  	//
 80975  	// Valid values for id:
 80976  	// Any string except any white-space characters
 80977  	//
 80978  	// Reconfigure privilege: VApp.ApplicationConfig
 80979  	Id string `xml:"id,omitempty" json:"id,omitempty"`
 80980  	// A user-visible description the category the property belongs to.
 80981  	//
 80982  	// Reconfigure privilege: VApp.ApplicationConfig
 80983  	Category string `xml:"category,omitempty" json:"category,omitempty"`
 80984  	// The display name for the property.
 80985  	//
 80986  	// Reconfigure privilege: VApp.ApplicationConfig
 80987  	Label string `xml:"label,omitempty" json:"label,omitempty"`
 80988  	// Describes the valid format of the property.
 80989  	//
 80990  	// A type must be one of:
 80991  	//   - string : A generic string. Max length 65535 (64k).
 80992  	//   - string(x..) : A string with minimum character length x.
 80993  	//   - string(..y) : A string with maximum character length y.
 80994  	//   - string(x..y) : A string with minimum character length x and maximum
 80995  	//     character length y.
 80996  	//   - string\["choice1", "choice2", "choice3"\] : A set of choices. " inside a choice
 80997  	//     must be either \\" or ' e.g "start\\"middle\\"end" or "start'middle'end" and
 80998  	//     a \\ inside a string choice must be encoded as \\\\ e.g. "start\\\\end".
 80999  	//   - int : An integer value. Is semantically equivalent to
 81000  	//     int(-2147483648..2147483647) e.g. signed int32.
 81001  	//   - int(x..y): An integer value with a minimum size x and a maximum size y.
 81002  	//     For example int(0..255) is a number between 0 and 255 both incl. This is
 81003  	//     also a way to specify that the number must be a uint8. There is always a lower
 81004  	//     and lower bound. Max number of digits is 100 including any sign. If exported to OVF the
 81005  	//     value will be truncated to max of uint64 or int64.
 81006  	//   - real : IEEE 8-byte floating-point value.
 81007  	//   - real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a
 81008  	//     maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5.
 81009  	//     Because of the nature of float some conversions can truncate the value.
 81010  	//     Real must be encoded according to CIM:
 81011  	//     RealValue = \[ "+" | "-" } \*decimalDigit "." 1\*decimalDigit
 81012  	//     \[ ("e" | "E" ) \[ "+" | "-" \] 1\*decimalDigit \] \]
 81013  	//   - boolean : A boolean. The value can be True or False
 81014  	//   - password : A generic string. Max length 65535 (64k).
 81015  	//   - password(x..) : A string with minimum character length x.
 81016  	//   - password(..y) : A string with maximum character length y.
 81017  	//   - password(x..y) : A string with minimum character length x and maximum
 81018  	//     character length y.
 81019  	//   - ip : An IPv4 address in dot-decimal notation or an IPv6 address in
 81020  	//     colon-hexadecimal notation.
 81021  	//   - ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6)
 81022  	//     on a particular network. The behavior of this type depends on the
 81023  	//     ipAllocationPolicy. See below.
 81024  	//   - expression: The default value specifies an expression that is calculated
 81025  	//     by the system.
 81026  	//
 81027  	// For properties of type 'password', the value field and default value field will
 81028  	// always be returned as an empty string when queried. Thus, it is a write-only property.
 81029  	// Typically, a client application will also render these as a text field with hidden
 81030  	// text and double prompting.
 81031  	//
 81032  	// An expression follows the general patterns of either ${arg} or ${cmd:arg}. The
 81033  	// list of supported expressions are listed below:
 81034  	//   - ${&lt;name&gt;} : This expression evaluates to the same value as the named
 81035  	//     property in the parent vApp. A parent vApp is the
 81036  	//     first vApp in the ancestry chain (resource pools are
 81037  	//     skipped). If no parent vApp exists or the property is
 81038  	//     not defined on the parent vApp, the expression
 81039  	//     evaluates to the empty value.
 81040  	//   - ${subnet:&lt;network&gt;} : The subnet value of the given network.
 81041  	//   - ${netmask:&lt;network&gt;} : The netmask value of the given network.
 81042  	//   - ${gateway:&lt;network&gt;} : The gateway value of the given network.
 81043  	//   - ${autoIp:&lt;network&gt;} : An auto-assigned network address on the given
 81044  	//     network
 81045  	//   - ${net:&lt;network&gt;} : The name of the network
 81046  	//   - ${domainName:&lt;network&gt;} : The DNS domain name, e.g., vmware.com, of
 81047  	//     the given network.
 81048  	//   - ${searchPath:&lt;network&gt;} : The DNS search path, e.g.,
 81049  	//     eng.vmware.com;vmware.com, of the given
 81050  	//     network.
 81051  	//   - ${hostPrefix:&lt;network&gt;}: The host prefix on a given network, e.g.,
 81052  	//     "voe-"
 81053  	//   - ${dns:network}: A comma-separated string of configured network addresses
 81054  	//   - ${httpProxy:network}: The hostname:port for a proxy on the network
 81055  	//   - ${vimIp:} : The IP address of the VIM API provider server. This would
 81056  	//     typical be an ESX Server or VirtualCenter Server.
 81057  	//
 81058  	// A vApp will fail to start if any of the properties cannot be computed. For
 81059  	// example, if a property reference a gateway on a network, for which is has not
 81060  	// been specified. The value of the computed computation is assigned to the 'value'
 81061  	// field upon start of the vApp or virtual machine. The value is cleared once
 81062  	// the vApp or virtual machine is not-running.
 81063  	//
 81064  	// The system provides three ways of specifying IP addresses:
 81065  	//   - ip,
 81066  	//   - ip:network type,
 81067  	//   - ${ip:network} expression.
 81068  	//
 81069  	// The _ip_ types are typically used to specify an IP addressed to an
 81070  	// external system. Thus, these are not used by a virtual ethernet adapter
 81071  	// within the guest itself. Both the ip:network expression and the ${ip:network}
 81072  	// expression are intended as a way to obtain an IP address for a virtual machine
 81073  	// in a vApp.
 81074  	//
 81075  	// The behavior of ip:network type is controlled by the ipAssignPolicy, as
 81076  	// described in the following table:
 81077  	// <table>
 81078  	// <tr>
 81079  	// <td>`*Policy*`</td>
 81080  	// <td>ip:&lt;network&gt; type</td>
 81081  	// </tr>
 81082  	// <tr>
 81083  	// <td>DHCP</td>
 81084  	// <td>The user is not prompted to enter a value. The variable is set to the
 81085  	// empty string during power-on, and later updated with the IP value reported
 81086  	// by the guest software.
 81087  	// </td>
 81088  	// </tr>
 81089  	// <tr>
 81090  	// <td>Transient</td>
 81091  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 81092  	// the platform and is assigned to the variable which is available to the
 81093  	// guest. The IP address is released at power-off.</td>
 81094  	// </tr>
 81095  	// <tr>
 81096  	// <td>Fixed</td>
 81097  	// <td>The user is prompted to enter a value. This value is available to the
 81098  	// guest.</td>
 81099  	// </tr>
 81100  	// <tr>
 81101  	// <td>Fixed Allocated</td>
 81102  	// <td>The user is not prompted to enter a value. An IP address is allocated by
 81103  	// the platform and is assigned to the variable which is available to the
 81104  	// guest. The IP address remains allocated at power-off, and are only
 81105  	// released if the property is deleted or the vApp is destroyed.</td>
 81106  	// </tr>
 81107  	// </table>
 81108  	//
 81109  	// Reconfigure privilege: VApp.ApplicationConfig
 81110  	Type string `xml:"type,omitempty" json:"type,omitempty"`
 81111  	// Contains extra configuration data depending on the property type.
 81112  	//
 81113  	// For types that
 81114  	// refer to network names the type reference is the managed object reference
 81115  	// of the network.
 81116  	TypeReference string `xml:"typeReference,omitempty" json:"typeReference,omitempty"`
 81117  	// Whether the property is user-configurable or a system property.
 81118  	//
 81119  	// This is not used
 81120  	// if the type is expression.
 81121  	//
 81122  	// Reconfigure privilege: VApp.ApplicationConfig
 81123  	UserConfigurable *bool `xml:"userConfigurable" json:"userConfigurable,omitempty"`
 81124  	// This either contains the default value of a field (used if value is empty
 81125  	// string), or the expression if the type is "expression".
 81126  	//
 81127  	// See comment for the
 81128  	DefaultValue string `xml:"defaultValue,omitempty" json:"defaultValue,omitempty"`
 81129  	// The value of the field at deployment time.
 81130  	//
 81131  	// For expressions, this will contain
 81132  	// the value that has been computed.
 81133  	//
 81134  	// Reconfigure privilege: VApp.InstanceConfig
 81135  	Value string `xml:"value,omitempty" json:"value,omitempty"`
 81136  	// A description of the field.
 81137  	//
 81138  	// Reconfigure privilege: VApp.ApplicationConfig
 81139  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 81140  }
 81141  
 81142  func init() {
 81143  	t["VAppPropertyInfo"] = reflect.TypeOf((*VAppPropertyInfo)(nil)).Elem()
 81144  }
 81145  
 81146  // An incremental update to the Property list.
 81147  type VAppPropertySpec struct {
 81148  	ArrayUpdateSpec
 81149  
 81150  	Info *VAppPropertyInfo `xml:"info,omitempty" json:"info,omitempty"`
 81151  }
 81152  
 81153  func init() {
 81154  	t["VAppPropertySpec"] = reflect.TypeOf((*VAppPropertySpec)(nil)).Elem()
 81155  }
 81156  
 81157  // A specialized TaskInProgress when an operation is performed
 81158  // on a VM and it is failed due to a vApp-level operation
 81159  // is in progress.
 81160  //
 81161  // For example, while the power-on sequence is
 81162  // executed on a vApp, individual power-on's of child VMs are
 81163  // failed.
 81164  type VAppTaskInProgress struct {
 81165  	TaskInProgress
 81166  }
 81167  
 81168  func init() {
 81169  	t["VAppTaskInProgress"] = reflect.TypeOf((*VAppTaskInProgress)(nil)).Elem()
 81170  }
 81171  
 81172  type VAppTaskInProgressFault VAppTaskInProgress
 81173  
 81174  func init() {
 81175  	t["VAppTaskInProgressFault"] = reflect.TypeOf((*VAppTaskInProgressFault)(nil)).Elem()
 81176  }
 81177  
 81178  // The parameters of `VcenterVStorageObjectManager.VCenterUpdateVStorageObjectMetadataEx_Task`.
 81179  type VCenterUpdateVStorageObjectMetadataExRequestType struct {
 81180  	This ManagedObjectReference `xml:"_this" json:"-"`
 81181  	// The ID of the virtual storage object.
 81182  	Id ID `xml:"id" json:"id"`
 81183  	// The datastore to query for the virtual storage objects.
 81184  	//
 81185  	// Refers instance of `Datastore`.
 81186  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 81187  	// array of key/value strings. (keys must be unique
 81188  	// within the list)
 81189  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 81190  	// array of keys need to be deleted
 81191  	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
 81192  }
 81193  
 81194  func init() {
 81195  	t["VCenterUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataExRequestType)(nil)).Elem()
 81196  	minAPIVersionForType["VCenterUpdateVStorageObjectMetadataExRequestType"] = "7.0.2.0"
 81197  }
 81198  
 81199  type VCenterUpdateVStorageObjectMetadataEx_Task VCenterUpdateVStorageObjectMetadataExRequestType
 81200  
 81201  func init() {
 81202  	t["VCenterUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataEx_Task)(nil)).Elem()
 81203  }
 81204  
 81205  type VCenterUpdateVStorageObjectMetadataEx_TaskResponse struct {
 81206  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 81207  }
 81208  
 81209  // VFlash cache hot-configuration on a VMDK is not supported.
 81210  type VFlashCacheHotConfigNotSupported struct {
 81211  	VmConfigFault
 81212  }
 81213  
 81214  func init() {
 81215  	t["VFlashCacheHotConfigNotSupported"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupported)(nil)).Elem()
 81216  }
 81217  
 81218  type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported
 81219  
 81220  func init() {
 81221  	t["VFlashCacheHotConfigNotSupportedFault"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupportedFault)(nil)).Elem()
 81222  }
 81223  
 81224  // vFlash module is not supported due to its configuration is not
 81225  // supported by the host.
 81226  type VFlashModuleNotSupported struct {
 81227  	VmConfigFault
 81228  
 81229  	// VM name
 81230  	VmName string `xml:"vmName" json:"vmName"`
 81231  	// The vFlash module name.
 81232  	ModuleName string `xml:"moduleName" json:"moduleName"`
 81233  	// Message of reason.
 81234  	Reason string `xml:"reason" json:"reason"`
 81235  	// Host name
 81236  	HostName string `xml:"hostName" json:"hostName"`
 81237  }
 81238  
 81239  func init() {
 81240  	t["VFlashModuleNotSupported"] = reflect.TypeOf((*VFlashModuleNotSupported)(nil)).Elem()
 81241  }
 81242  
 81243  type VFlashModuleNotSupportedFault VFlashModuleNotSupported
 81244  
 81245  func init() {
 81246  	t["VFlashModuleNotSupportedFault"] = reflect.TypeOf((*VFlashModuleNotSupportedFault)(nil)).Elem()
 81247  }
 81248  
 81249  // The vFlash module version of the vFlash cache asscociated with the
 81250  // virtual disk of a VM is not compatible with the supported versions of
 81251  // the specified vFlash module on the host.
 81252  type VFlashModuleVersionIncompatible struct {
 81253  	VimFault
 81254  
 81255  	// The vFlash module name.
 81256  	ModuleName string `xml:"moduleName" json:"moduleName"`
 81257  	// The VM request module version.
 81258  	VmRequestModuleVersion string `xml:"vmRequestModuleVersion" json:"vmRequestModuleVersion"`
 81259  	// The minimum supported version of the specified module on the host.
 81260  	HostMinSupportedVerson string `xml:"hostMinSupportedVerson" json:"hostMinSupportedVerson"`
 81261  	// The verson of the specified module on the host.
 81262  	HostModuleVersion string `xml:"hostModuleVersion" json:"hostModuleVersion"`
 81263  }
 81264  
 81265  func init() {
 81266  	t["VFlashModuleVersionIncompatible"] = reflect.TypeOf((*VFlashModuleVersionIncompatible)(nil)).Elem()
 81267  }
 81268  
 81269  type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible
 81270  
 81271  func init() {
 81272  	t["VFlashModuleVersionIncompatibleFault"] = reflect.TypeOf((*VFlashModuleVersionIncompatibleFault)(nil)).Elem()
 81273  }
 81274  
 81275  // This event records when a VMFS datastore is created.
 81276  type VMFSDatastoreCreatedEvent struct {
 81277  	HostEvent
 81278  
 81279  	// The associated datastore.
 81280  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81281  	// Url of the associated datastore.
 81282  	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 81283  }
 81284  
 81285  func init() {
 81286  	t["VMFSDatastoreCreatedEvent"] = reflect.TypeOf((*VMFSDatastoreCreatedEvent)(nil)).Elem()
 81287  }
 81288  
 81289  // This event records when a datastore is expanded.
 81290  type VMFSDatastoreExpandedEvent struct {
 81291  	HostEvent
 81292  
 81293  	// The associated datastore.
 81294  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81295  }
 81296  
 81297  func init() {
 81298  	t["VMFSDatastoreExpandedEvent"] = reflect.TypeOf((*VMFSDatastoreExpandedEvent)(nil)).Elem()
 81299  }
 81300  
 81301  // This event records when a datastore is extended.
 81302  type VMFSDatastoreExtendedEvent struct {
 81303  	HostEvent
 81304  
 81305  	// The associated datastore.
 81306  	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
 81307  }
 81308  
 81309  func init() {
 81310  	t["VMFSDatastoreExtendedEvent"] = reflect.TypeOf((*VMFSDatastoreExtendedEvent)(nil)).Elem()
 81311  }
 81312  
 81313  // The virtual machine is configured to use a VMI ROM, which is not
 81314  // supported on the host.
 81315  type VMINotSupported struct {
 81316  	DeviceNotSupported
 81317  }
 81318  
 81319  func init() {
 81320  	t["VMINotSupported"] = reflect.TypeOf((*VMINotSupported)(nil)).Elem()
 81321  }
 81322  
 81323  type VMINotSupportedFault VMINotSupported
 81324  
 81325  func init() {
 81326  	t["VMINotSupportedFault"] = reflect.TypeOf((*VMINotSupportedFault)(nil)).Elem()
 81327  }
 81328  
 81329  // The virtual machine is using a conflict DVPort, which is a temporary port created
 81330  // to avoid conflict with another port.
 81331  //
 81332  // Conflict DVPort cannot be moved.
 81333  type VMOnConflictDVPort struct {
 81334  	CannotAccessNetwork
 81335  }
 81336  
 81337  func init() {
 81338  	t["VMOnConflictDVPort"] = reflect.TypeOf((*VMOnConflictDVPort)(nil)).Elem()
 81339  }
 81340  
 81341  type VMOnConflictDVPortFault VMOnConflictDVPort
 81342  
 81343  func init() {
 81344  	t["VMOnConflictDVPortFault"] = reflect.TypeOf((*VMOnConflictDVPortFault)(nil)).Elem()
 81345  }
 81346  
 81347  // The virtual machine is using a "virtual intranet", a virtual network
 81348  // that exists only within a single host.
 81349  //
 81350  // If returned as part of a migration check, this
 81351  // is an error if the virtual machine is currently connected to the network and a
 81352  // warning otherwise.
 81353  type VMOnVirtualIntranet struct {
 81354  	CannotAccessNetwork
 81355  }
 81356  
 81357  func init() {
 81358  	t["VMOnVirtualIntranet"] = reflect.TypeOf((*VMOnVirtualIntranet)(nil)).Elem()
 81359  }
 81360  
 81361  type VMOnVirtualIntranetFault VMOnVirtualIntranet
 81362  
 81363  func init() {
 81364  	t["VMOnVirtualIntranetFault"] = reflect.TypeOf((*VMOnVirtualIntranetFault)(nil)).Elem()
 81365  }
 81366  
 81367  // An operation on a powered-on virtual machine requests a change of
 81368  // networks, but the host does not have that capability.
 81369  type VMotionAcrossNetworkNotSupported struct {
 81370  	MigrationFeatureNotSupported
 81371  }
 81372  
 81373  func init() {
 81374  	t["VMotionAcrossNetworkNotSupported"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupported)(nil)).Elem()
 81375  }
 81376  
 81377  type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported
 81378  
 81379  func init() {
 81380  	t["VMotionAcrossNetworkNotSupportedFault"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupportedFault)(nil)).Elem()
 81381  }
 81382  
 81383  // A VMotion interface has a problem.
 81384  //
 81385  // This may be an error or warning depending
 81386  // on the specific fault subclass. This is an error or warning only when
 81387  // migrating a powered-on virtual machine.
 81388  type VMotionInterfaceIssue struct {
 81389  	MigrationFault
 81390  
 81391  	// Whether this error is for the source host.
 81392  	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
 81393  	// The name of the host with the bad interface.
 81394  	FailedHost string `xml:"failedHost" json:"failedHost"`
 81395  	// The host with the bad interface.
 81396  	//
 81397  	// Refers instance of `HostSystem`.
 81398  	FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty" json:"failedHostEntity,omitempty"`
 81399  }
 81400  
 81401  func init() {
 81402  	t["VMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem()
 81403  }
 81404  
 81405  type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue
 81406  
 81407  func init() {
 81408  	t["VMotionInterfaceIssueFault"] = reflect.TypeOf((*VMotionInterfaceIssueFault)(nil)).Elem()
 81409  }
 81410  
 81411  // This event records an expired VMotion license.
 81412  type VMotionLicenseExpiredEvent struct {
 81413  	LicenseEvent
 81414  }
 81415  
 81416  func init() {
 81417  	t["VMotionLicenseExpiredEvent"] = reflect.TypeOf((*VMotionLicenseExpiredEvent)(nil)).Elem()
 81418  }
 81419  
 81420  // The VMotion interface does not have the recommended capacity to support
 81421  // VMotion.
 81422  //
 81423  // VMotion is supported on links that have a speed of at least 1000
 81424  // Mbps and are full duplex. This is a warning for migrating powered-on virtual
 81425  // machines.
 81426  type VMotionLinkCapacityLow struct {
 81427  	VMotionInterfaceIssue
 81428  
 81429  	// Name of the network being used for the VMotion interface.
 81430  	Network string `xml:"network" json:"network"`
 81431  }
 81432  
 81433  func init() {
 81434  	t["VMotionLinkCapacityLow"] = reflect.TypeOf((*VMotionLinkCapacityLow)(nil)).Elem()
 81435  }
 81436  
 81437  type VMotionLinkCapacityLowFault VMotionLinkCapacityLow
 81438  
 81439  func init() {
 81440  	t["VMotionLinkCapacityLowFault"] = reflect.TypeOf((*VMotionLinkCapacityLowFault)(nil)).Elem()
 81441  }
 81442  
 81443  // The VMotion interface does not have any operational physical links
 81444  // associated with it.
 81445  //
 81446  // This is an error for migrating powered-on virtual
 81447  // machines.
 81448  type VMotionLinkDown struct {
 81449  	VMotionInterfaceIssue
 81450  
 81451  	// Name of the network being used for the VMotion interface.
 81452  	Network string `xml:"network" json:"network"`
 81453  }
 81454  
 81455  func init() {
 81456  	t["VMotionLinkDown"] = reflect.TypeOf((*VMotionLinkDown)(nil)).Elem()
 81457  }
 81458  
 81459  type VMotionLinkDownFault VMotionLinkDown
 81460  
 81461  func init() {
 81462  	t["VMotionLinkDownFault"] = reflect.TypeOf((*VMotionLinkDownFault)(nil)).Elem()
 81463  }
 81464  
 81465  // A VMotion interface is not configured (or is misconfigured) on
 81466  // either the source or destination host.
 81467  //
 81468  // This is an error only
 81469  // when migrating a powered-on virtual machine.
 81470  type VMotionNotConfigured struct {
 81471  	VMotionInterfaceIssue
 81472  }
 81473  
 81474  func init() {
 81475  	t["VMotionNotConfigured"] = reflect.TypeOf((*VMotionNotConfigured)(nil)).Elem()
 81476  }
 81477  
 81478  type VMotionNotConfiguredFault VMotionNotConfigured
 81479  
 81480  func init() {
 81481  	t["VMotionNotConfiguredFault"] = reflect.TypeOf((*VMotionNotConfiguredFault)(nil)).Elem()
 81482  }
 81483  
 81484  // VMotion is not licensed on a source or destination host.
 81485  //
 81486  // It must be licensed on both
 81487  // hosts.
 81488  type VMotionNotLicensed struct {
 81489  	VMotionInterfaceIssue
 81490  }
 81491  
 81492  func init() {
 81493  	t["VMotionNotLicensed"] = reflect.TypeOf((*VMotionNotLicensed)(nil)).Elem()
 81494  }
 81495  
 81496  type VMotionNotLicensedFault VMotionNotLicensed
 81497  
 81498  func init() {
 81499  	t["VMotionNotLicensedFault"] = reflect.TypeOf((*VMotionNotLicensedFault)(nil)).Elem()
 81500  }
 81501  
 81502  // The source or the destination host does not support VMotion.
 81503  //
 81504  // This is an
 81505  // error only when migrating a powered-on virtual machine.
 81506  type VMotionNotSupported struct {
 81507  	VMotionInterfaceIssue
 81508  }
 81509  
 81510  func init() {
 81511  	t["VMotionNotSupported"] = reflect.TypeOf((*VMotionNotSupported)(nil)).Elem()
 81512  }
 81513  
 81514  type VMotionNotSupportedFault VMotionNotSupported
 81515  
 81516  func init() {
 81517  	t["VMotionNotSupportedFault"] = reflect.TypeOf((*VMotionNotSupportedFault)(nil)).Elem()
 81518  }
 81519  
 81520  // VMotion protocol version incompatibility prevents VMotion from the
 81521  // virtual machine's current host to the requested destination host.
 81522  //
 81523  // (VMotion in the other direction may or may not be supported.)
 81524  type VMotionProtocolIncompatible struct {
 81525  	MigrationFault
 81526  }
 81527  
 81528  func init() {
 81529  	t["VMotionProtocolIncompatible"] = reflect.TypeOf((*VMotionProtocolIncompatible)(nil)).Elem()
 81530  }
 81531  
 81532  type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible
 81533  
 81534  func init() {
 81535  	t["VMotionProtocolIncompatibleFault"] = reflect.TypeOf((*VMotionProtocolIncompatibleFault)(nil)).Elem()
 81536  }
 81537  
 81538  // This class defines the VMware specific configuration for
 81539  // DistributedVirtualSwitch.
 81540  type VMwareDVSConfigInfo struct {
 81541  	DVSConfigInfo
 81542  
 81543  	// The Distributed Port Mirroring sessions in the switch.
 81544  	VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty" json:"vspanSession,omitempty"`
 81545  	// The PVLAN configured in the switch.
 81546  	PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty" json:"pvlanConfig,omitempty"`
 81547  	// The maximum MTU in the switch.
 81548  	MaxMtu int32 `xml:"maxMtu" json:"maxMtu"`
 81549  	// See `LinkDiscoveryProtocolConfig`.
 81550  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 81551  	// Configuration for ipfix monitoring of the switch traffic.
 81552  	//
 81553  	// This must be
 81554  	// set before ipfix monitoring can be enabled for the switch, or for any
 81555  	// portgroup or port of the switch.
 81556  	//
 81557  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 81558  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty"`
 81559  	// The Link Aggregation Control Protocol groups in the switch.
 81560  	LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty" json:"lacpGroupConfig,omitempty"`
 81561  	// The Link Aggregation Control Protocol group version in the switch.
 81562  	//
 81563  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 81564  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty"`
 81565  	// The Multicast Filtering mode in the switch.
 81566  	//
 81567  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 81568  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty"`
 81569  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 81570  	//
 81571  	// ID "None" means that network offload is not allowed in the switch.
 81572  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 81573  	// The network offload specific configuration of the switch.
 81574  	//
 81575  	// It is only set when network offload is allowed
 81576  	// (`VMwareDVSConfigInfo.networkOffloadSpecId`
 81577  	// is not "None").
 81578  	NetworkOffloadConfig *VmwareDistributedVirtualSwitchNetworkOffloadConfig `xml:"networkOffloadConfig,omitempty" json:"networkOffloadConfig,omitempty" vim:"8.0.3.0"`
 81579  }
 81580  
 81581  func init() {
 81582  	t["VMwareDVSConfigInfo"] = reflect.TypeOf((*VMwareDVSConfigInfo)(nil)).Elem()
 81583  }
 81584  
 81585  // This class defines the VMware specific configuration for
 81586  // DistributedVirtualSwitch.
 81587  type VMwareDVSConfigSpec struct {
 81588  	DVSConfigSpec
 81589  
 81590  	// The PVLAN configuration specification.
 81591  	//
 81592  	// A `VMwareDVSPvlanMapEntry`
 81593  	// that has the same value for
 81594  	// `VMwareDVSPvlanMapEntry.primaryVlanId` and
 81595  	// `VMwareDVSPvlanMapEntry.secondaryVlanId`
 81596  	// is referred to as a primary PVLAN entry.
 81597  	// Otherwise, the `VMwareDVSPvlanMapEntry`
 81598  	// is referred to as a secondary PVLAN entry.
 81599  	//
 81600  	// The `VMwareDVSPvlanMapEntry.pvlanType`
 81601  	// of a primary PVLAN entry must be
 81602  	// `promiscuous`.
 81603  	// A secondary PVLAN entry can have a
 81604  	// `VMwareDVSPvlanMapEntry.pvlanType`
 81605  	// of either
 81606  	// `community` or
 81607  	// `isolated`.
 81608  	//
 81609  	// Primary PVLAN entries must be explicitly added.
 81610  	// If there is no primary PVLAN entry corresponding to the
 81611  	// `VMwareDVSPvlanMapEntry.primaryVlanId`
 81612  	// of a secondary PVLAN entry, a fault is thrown.
 81613  	//
 81614  	// While deleting a primary PVLAN entry, any associated secondary PVLAN
 81615  	// entries must be explicitly deleted.
 81616  	PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty" json:"pvlanConfigSpec,omitempty"`
 81617  	// The Distributed Port Mirroring configuration specification.
 81618  	//
 81619  	// The VSPAN
 81620  	// sessions in the array cannot be of the same key.
 81621  	VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty" json:"vspanConfigSpec,omitempty"`
 81622  	// The maximum MTU in the switch.
 81623  	MaxMtu int32 `xml:"maxMtu,omitempty" json:"maxMtu,omitempty"`
 81624  	// See `LinkDiscoveryProtocolConfig`.
 81625  	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
 81626  	// Configuration for ipfix monitoring of the switch traffic.
 81627  	//
 81628  	// This must be
 81629  	// set before ipfix monitoring can be enabled for the switch, or for any
 81630  	// portgroup or port of the switch.
 81631  	//
 81632  	// See also `VMwareDVSPortSetting.ipfixEnabled`.
 81633  	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty"`
 81634  	// The Link Aggregation Control Protocol group version in the switch.
 81635  	//
 81636  	// See `VMwareDvsLacpApiVersion_enum` for valid values.
 81637  	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty"`
 81638  	// The Multicast Filtering mode in the switch.
 81639  	//
 81640  	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
 81641  	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty"`
 81642  	// Indicate the ID of NetworkOffloadSpec used in the switch.
 81643  	//
 81644  	// Unset it when network offload is not allowed when creating a switch.
 81645  	// Use ID "None" to change network offload from allowed to not allowed.
 81646  	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
 81647  	// The network offload specific configuration of the switch.
 81648  	//
 81649  	// This can be set only when network offload is allowed
 81650  	// (`VMwareDVSConfigInfo.networkOffloadSpecId`
 81651  	// is not "None").
 81652  	NetworkOffloadConfig *VmwareDistributedVirtualSwitchNetworkOffloadConfig `xml:"networkOffloadConfig,omitempty" json:"networkOffloadConfig,omitempty" vim:"8.0.3.0"`
 81653  }
 81654  
 81655  func init() {
 81656  	t["VMwareDVSConfigSpec"] = reflect.TypeOf((*VMwareDVSConfigSpec)(nil)).Elem()
 81657  }
 81658  
 81659  // Indicators of support for version-specific DVS features that are only
 81660  // available on a VMware-class switch.
 81661  type VMwareDVSFeatureCapability struct {
 81662  	DVSFeatureCapability
 81663  
 81664  	// Flag to indicate whether vspan(DVMirror) is supported on the
 81665  	// vSphere Distributed Switch.
 81666  	//
 81667  	// Distributed Port Mirroring is supported in vSphere Distributed Switch Version 5.0 or later.
 81668  	VspanSupported *bool `xml:"vspanSupported" json:"vspanSupported,omitempty"`
 81669  	// Flag to indicate whether LLDP(Link Layer Discovery Protocol) is supported on the
 81670  	// vSphere Distributed Switch.
 81671  	//
 81672  	// LLDP is supported in vSphere Distributed Switch Version 5.0 or later.
 81673  	LldpSupported *bool `xml:"lldpSupported" json:"lldpSupported,omitempty"`
 81674  	// Deprecated as of vSphere API 6.0, use `VMwareDvsIpfixCapability`.
 81675  	//
 81676  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 81677  	// vSphere Distributed Switch.
 81678  	//
 81679  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 81680  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
 81681  	// The support for version-specific IPFIX(NetFlow).
 81682  	IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty" json:"ipfixCapability,omitempty"`
 81683  	// Flag to indicate whether multicast snooping(IGMP/MLD Snooping)
 81684  	// is supported on the vSphere Distributed Switch.
 81685  	//
 81686  	// IGMP/MLD Snooping is supported in vSphere Distributed Switch Version 6.0 or later.
 81687  	MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported" json:"multicastSnoopingSupported,omitempty"`
 81688  	// The support for version-specific Distributed Port Mirroring sessions.
 81689  	VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty" json:"vspanCapability,omitempty"`
 81690  	// The support for version-specific Link Aggregation Control Protocol.
 81691  	LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty" json:"lacpCapability,omitempty"`
 81692  	// The support for version-specific DPU(SmartNic).
 81693  	DpuCapability *VMwareDvsDpuCapability `xml:"dpuCapability,omitempty" json:"dpuCapability,omitempty" vim:"8.0.0.1"`
 81694  	// Flag to indicate whether NSX is supported on the
 81695  	// vSphere Distributed Switch.
 81696  	//
 81697  	// NSX is supported in vSphere Distributed Switch Version 7.0 or later.
 81698  	NsxSupported *bool `xml:"nsxSupported" json:"nsxSupported,omitempty"`
 81699  	// The support for version-specific supported MTU.
 81700  	MtuCapability *VMwareDvsMtuCapability `xml:"mtuCapability,omitempty" json:"mtuCapability,omitempty" vim:"7.0.2.0"`
 81701  }
 81702  
 81703  func init() {
 81704  	t["VMwareDVSFeatureCapability"] = reflect.TypeOf((*VMwareDVSFeatureCapability)(nil)).Elem()
 81705  }
 81706  
 81707  // The feature capabilities of health check supported by the
 81708  // vSphere Distributed Switch
 81709  type VMwareDVSHealthCheckCapability struct {
 81710  	DVSHealthCheckCapability
 81711  
 81712  	// Flag to indicate whether vlan/mtu health check is supported on the
 81713  	// vSphere Distributed Switch.
 81714  	VlanMtuSupported bool `xml:"vlanMtuSupported" json:"vlanMtuSupported"`
 81715  	// Flag to indicate whether teaming health check is supported on the
 81716  	// vSphere Distributed Switch.
 81717  	TeamingSupported bool `xml:"teamingSupported" json:"teamingSupported"`
 81718  }
 81719  
 81720  func init() {
 81721  	t["VMwareDVSHealthCheckCapability"] = reflect.TypeOf((*VMwareDVSHealthCheckCapability)(nil)).Elem()
 81722  }
 81723  
 81724  // This class defines health check configuration for
 81725  // VMware vSphere Distributed Switch.
 81726  type VMwareDVSHealthCheckConfig struct {
 81727  	DVSHealthCheckConfig
 81728  }
 81729  
 81730  func init() {
 81731  	t["VMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem()
 81732  }
 81733  
 81734  // This class defines MTU health check result of an uplink port
 81735  // in the VMware vSphered Distributed Switch.
 81736  type VMwareDVSMtuHealthCheckResult struct {
 81737  	HostMemberUplinkHealthCheckResult
 81738  
 81739  	// True if the MTU configured in the vSphere Distributed Switch is different from
 81740  	// the value configured in the Physical NIC, else false.
 81741  	//
 81742  	// If it is true,
 81743  	// MTU health check is stopped. In this case, `VMwareDVSMtuHealthCheckResult.vlanSupportSwitchMtu` and
 81744  	// `VMwareDVSMtuHealthCheckResult.vlanNotSupportSwitchMtu` will not have values.
 81745  	MtuMismatch bool `xml:"mtuMismatch" json:"mtuMismatch"`
 81746  	// The vlan's MTU setting on physical switch allows vSphere Distributed Switch
 81747  	// max MTU size packets passing.
 81748  	//
 81749  	// If the vlan is not a range, but a single Id,
 81750  	// both start and end have the same value with the single vlan Id.
 81751  	VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty" json:"vlanSupportSwitchMtu,omitempty"`
 81752  	// The vlan's MTU setting on physical switch does not allow
 81753  	// vSphere Distributed Switch max MTU size packets passing.
 81754  	//
 81755  	// If the vlan is not a range, but a single Id,
 81756  	// both start and end have the same value with the single vlan Id.
 81757  	VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty" json:"vlanNotSupportSwitchMtu,omitempty"`
 81758  }
 81759  
 81760  func init() {
 81761  	t["VMwareDVSMtuHealthCheckResult"] = reflect.TypeOf((*VMwareDVSMtuHealthCheckResult)(nil)).Elem()
 81762  }
 81763  
 81764  // This class defines the VMware specific configuration for
 81765  // DistributedVirtualPort.
 81766  type VMwareDVSPortSetting struct {
 81767  	DVPortSetting
 81768  
 81769  	// The VLAN Specification of the port.
 81770  	Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr" json:"vlan,omitempty"`
 81771  	// Deprecated as of vSphere API 5.0.
 81772  	//
 81773  	// The Quality Of Service tagging of the port.
 81774  	QosTag *IntPolicy `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
 81775  	// The uplink teaming policy.
 81776  	//
 81777  	// This property is ignored for uplink
 81778  	// ports.
 81779  	UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty" json:"uplinkTeamingPolicy,omitempty"`
 81780  	// Deprecated as of vSphere API 6.7, use
 81781  	// `DVSMacManagementPolicy`
 81782  	// instead to specify the security policy.
 81783  	//
 81784  	// The security policy.
 81785  	SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty" json:"securityPolicy,omitempty"`
 81786  	// True if ipfix monitoring is enabled.
 81787  	//
 81788  	// To successfully enable ipfix
 81789  	// monitoring, the switch must have an assigned
 81790  	// *IP address*
 81791  	// and an appropriately populated
 81792  	// *ipfix configuration*
 81793  	// that specifies a collector IP address and port.
 81794  	IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty" json:"ipfixEnabled,omitempty"`
 81795  	// If true, a copy of packets sent to the switch will always be forwarded to
 81796  	// an uplink in addition to the regular packet forwarded done by the switch.
 81797  	TxUplink *BoolPolicy `xml:"txUplink,omitempty" json:"txUplink,omitempty"`
 81798  	// Deprecated as of vSphere API 5.5, use
 81799  	// `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task` and
 81800  	// `VMwareDVSConfigInfo.lacpGroupConfig`
 81801  	// instead.
 81802  	//
 81803  	// Link Aggregation Control Protocol policy.
 81804  	//
 81805  	// This policy is ignored on non-uplink portgroups.
 81806  	// Setting this policy at port level is not supported.
 81807  	LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty" json:"lacpPolicy,omitempty"`
 81808  	// The MAC learning policy.
 81809  	MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty" json:"macManagementPolicy,omitempty"`
 81810  	// The VNI number of overlay logical switch, which is used by
 81811  	// NSX portgroup.
 81812  	VNI *IntPolicy `xml:"VNI,omitempty" json:"VNI,omitempty"`
 81813  }
 81814  
 81815  func init() {
 81816  	t["VMwareDVSPortSetting"] = reflect.TypeOf((*VMwareDVSPortSetting)(nil)).Elem()
 81817  }
 81818  
 81819  // This class defines the VMware specific configuration for
 81820  // DistributedVirtualPort.
 81821  type VMwareDVSPortgroupPolicy struct {
 81822  	DVPortgroupPolicy
 81823  
 81824  	// Allow the setting of
 81825  	// `VmwareDistributedVirtualSwitchVlanIdSpec.vlanId`, trunk
 81826  	// `VmwareDistributedVirtualSwitchTrunkVlanSpec.vlanId`, or
 81827  	// `VmwareDistributedVirtualSwitchPvlanSpec.pvlanId`
 81828  	// for an individual port to override the setting in
 81829  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 81830  	// a portgroup.
 81831  	VlanOverrideAllowed bool `xml:"vlanOverrideAllowed" json:"vlanOverrideAllowed"`
 81832  	// Allow the setting of
 81833  	// `VMwareDVSPortSetting.uplinkTeamingPolicy`
 81834  	// for an individual port to override the setting in
 81835  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 81836  	// a portgroup.
 81837  	UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed" json:"uplinkTeamingOverrideAllowed"`
 81838  	// Deprecated as of vSphere API 6.7.1, use
 81839  	// `VMwareDVSPortgroupPolicy.macManagementOverrideAllowed` instead.
 81840  	//
 81841  	// Allow the setting of
 81842  	// `VMwareDVSPortSetting.securityPolicy`
 81843  	// for an individual port to override the setting in
 81844  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 81845  	// a portgroup.
 81846  	SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed" json:"securityPolicyOverrideAllowed"`
 81847  	// Allow the setting of
 81848  	// `VMwareDVSPortSetting.ipfixEnabled`
 81849  	// for an individual port to override the setting in
 81850  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 81851  	// a portgroup.
 81852  	IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed" json:"ipfixOverrideAllowed,omitempty"`
 81853  	// Allow the setting of
 81854  	// `VMwareDVSPortSetting.macManagementPolicy`
 81855  	// for an individual port to override the setting in
 81856  	// `DVPortgroupConfigInfo.defaultPortConfig` of
 81857  	// a portgroup.
 81858  	MacManagementOverrideAllowed *bool `xml:"macManagementOverrideAllowed" json:"macManagementOverrideAllowed,omitempty"`
 81859  }
 81860  
 81861  func init() {
 81862  	t["VMwareDVSPortgroupPolicy"] = reflect.TypeOf((*VMwareDVSPortgroupPolicy)(nil)).Elem()
 81863  }
 81864  
 81865  // This class defines the configuration of a PVLAN map entry
 81866  type VMwareDVSPvlanConfigSpec struct {
 81867  	DynamicData
 81868  
 81869  	// The PVLAN entry to be added or removed.
 81870  	PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry" json:"pvlanEntry"`
 81871  	// Operation type.
 81872  	//
 81873  	// See
 81874  	// `ConfigSpecOperation_enum` for valid values,
 81875  	// except for the "edit" value, which is not supported.
 81876  	Operation string `xml:"operation" json:"operation"`
 81877  }
 81878  
 81879  func init() {
 81880  	t["VMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*VMwareDVSPvlanConfigSpec)(nil)).Elem()
 81881  }
 81882  
 81883  // The class represents a PVLAN id.
 81884  type VMwareDVSPvlanMapEntry struct {
 81885  	DynamicData
 81886  
 81887  	// The primary VLAN ID.
 81888  	//
 81889  	// The VLAN IDs of 0 and 4095 are reserved
 81890  	// and cannot be used in this property.
 81891  	PrimaryVlanId int32 `xml:"primaryVlanId" json:"primaryVlanId"`
 81892  	// The secondary VLAN ID.
 81893  	//
 81894  	// The VLAN IDs of 0 and 4095 are reserved
 81895  	// and cannot be used in this property.
 81896  	SecondaryVlanId int32 `xml:"secondaryVlanId" json:"secondaryVlanId"`
 81897  	// The type of PVLAN.
 81898  	//
 81899  	// See `VmwareDistributedVirtualSwitchPvlanPortType_enum`
 81900  	// for valid values.
 81901  	PvlanType string `xml:"pvlanType" json:"pvlanType"`
 81902  }
 81903  
 81904  func init() {
 81905  	t["VMwareDVSPvlanMapEntry"] = reflect.TypeOf((*VMwareDVSPvlanMapEntry)(nil)).Elem()
 81906  }
 81907  
 81908  // This class defines the teaming health check configuration.
 81909  //
 81910  // Teaming health check is used to check whether the teaming policy configuration
 81911  // of the vSphere Distributed Switch matches the physical switch.
 81912  type VMwareDVSTeamingHealthCheckConfig struct {
 81913  	VMwareDVSHealthCheckConfig
 81914  }
 81915  
 81916  func init() {
 81917  	t["VMwareDVSTeamingHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckConfig)(nil)).Elem()
 81918  }
 81919  
 81920  // This class defines teaming health check result of a host that
 81921  // joined the VMware vSphered Distributed Switch.
 81922  type VMwareDVSTeamingHealthCheckResult struct {
 81923  	HostMemberHealthCheckResult
 81924  
 81925  	// Teaming check status.
 81926  	//
 81927  	// See `VMwareDVSTeamingMatchStatus_enum`
 81928  	// for valid values.
 81929  	TeamingStatus string `xml:"teamingStatus" json:"teamingStatus"`
 81930  }
 81931  
 81932  func init() {
 81933  	t["VMwareDVSTeamingHealthCheckResult"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckResult)(nil)).Elem()
 81934  }
 81935  
 81936  // This class defines Vlan health check result of an uplink port
 81937  // in the VMware vSphered Distributed Switch.
 81938  type VMwareDVSVlanHealthCheckResult struct {
 81939  	HostMemberUplinkHealthCheckResult
 81940  
 81941  	// The vlans which are trunked by the physical switch connected to the uplink port.
 81942  	//
 81943  	// If the vlan is not a range, but a single Id,
 81944  	// both start and end have the same value with the single vlan Id.
 81945  	TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty" json:"trunkedVlan,omitempty"`
 81946  	// The vlans which are not trunked by the physical switch connected to the uplink port.
 81947  	//
 81948  	// If the vlan is not a range, but a single Id,
 81949  	// both start and end have the same value with the single vlan Id.
 81950  	UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty" json:"untrunkedVlan,omitempty"`
 81951  }
 81952  
 81953  func init() {
 81954  	t["VMwareDVSVlanHealthCheckResult"] = reflect.TypeOf((*VMwareDVSVlanHealthCheckResult)(nil)).Elem()
 81955  }
 81956  
 81957  // This class defines the vlan and mtu health check configuration.
 81958  //
 81959  // Vlan health check is used to check whether vlans are trunked by the physical
 81960  // switch connected to the uplink ports.
 81961  // MTU health check is used to verify current MTU setting workable on all uplink ports of
 81962  // the vSphere Distributed Switch.
 81963  type VMwareDVSVlanMtuHealthCheckConfig struct {
 81964  	VMwareDVSHealthCheckConfig
 81965  }
 81966  
 81967  func init() {
 81968  	t["VMwareDVSVlanMtuHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSVlanMtuHealthCheckConfig)(nil)).Elem()
 81969  }
 81970  
 81971  // Indicators of support for version-specific Distributed Port Mirroring sessions.
 81972  type VMwareDVSVspanCapability struct {
 81973  	DynamicData
 81974  
 81975  	// Flag to indicate whether mixed dest mirror session is supported on the
 81976  	// vSphere Distributed Switch.
 81977  	MixedDestSupported bool `xml:"mixedDestSupported" json:"mixedDestSupported"`
 81978  	// Flag to indicate whether dvport mirror session is supported on the
 81979  	// vSphere Distributed Switch.
 81980  	DvportSupported bool `xml:"dvportSupported" json:"dvportSupported"`
 81981  	// Flag to indicate whether remote mirror source session is supported on the
 81982  	// vSphere Distributed Switch.
 81983  	RemoteSourceSupported bool `xml:"remoteSourceSupported" json:"remoteSourceSupported"`
 81984  	// Flag to indicate whether remote mirror destination session is supported on the
 81985  	// vSphere Distributed Switch.
 81986  	RemoteDestSupported bool `xml:"remoteDestSupported" json:"remoteDestSupported"`
 81987  	// Flag to indicate whether encapsulated remote mirror source session is supported on the
 81988  	// vSphere Distributed Switch.
 81989  	EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported" json:"encapRemoteSourceSupported"`
 81990  	// Flag to indicate whether ERSPAN protocol encapsulation is supported
 81991  	// on the vSphere Distributed Switch.
 81992  	ErspanProtocolSupported *bool `xml:"erspanProtocolSupported" json:"erspanProtocolSupported,omitempty"`
 81993  	// Flag to indicate whether dvport mirror can be configured to use a
 81994  	// dedicated network stack instance.
 81995  	MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported" json:"mirrorNetstackSupported,omitempty"`
 81996  }
 81997  
 81998  func init() {
 81999  	t["VMwareDVSVspanCapability"] = reflect.TypeOf((*VMwareDVSVspanCapability)(nil)).Elem()
 82000  }
 82001  
 82002  // This class defines the configuration of a Distributed Port Mirroring session.
 82003  //
 82004  // A Distributed Port Mirroring session
 82005  type VMwareDVSVspanConfigSpec struct {
 82006  	DynamicData
 82007  
 82008  	// The Distributed Port Mirroring session to be reconfigured.
 82009  	VspanSession VMwareVspanSession `xml:"vspanSession" json:"vspanSession"`
 82010  	// Operation type, see
 82011  	// `ConfigSpecOperation_enum` for valid values.
 82012  	Operation string `xml:"operation" json:"operation"`
 82013  }
 82014  
 82015  func init() {
 82016  	t["VMwareDVSVspanConfigSpec"] = reflect.TypeOf((*VMwareDVSVspanConfigSpec)(nil)).Elem()
 82017  }
 82018  
 82019  // The feature capabilities of Dpu Features supported by the
 82020  // vSphere Distributed Switch.
 82021  type VMwareDvsDpuCapability struct {
 82022  	DynamicData
 82023  
 82024  	// Flag to indicate whether network offloading is supported on the
 82025  	// vSphere Distributed Switch.
 82026  	NetworkOffloadSupported *bool `xml:"networkOffloadSupported" json:"networkOffloadSupported,omitempty"`
 82027  	// Flag to indicate whether the vSphere Distributed Switch supports
 82028  	// connecting two DPUs to an offloading VDS and operating in an
 82029  	// active-standby mode.
 82030  	//
 82031  	// If not set, the feature is not supported.
 82032  	ActiveStandbyModeSupported *bool `xml:"activeStandbyModeSupported" json:"activeStandbyModeSupported,omitempty" vim:"8.0.3.0"`
 82033  }
 82034  
 82035  func init() {
 82036  	t["VMwareDvsDpuCapability"] = reflect.TypeOf((*VMwareDvsDpuCapability)(nil)).Elem()
 82037  	minAPIVersionForType["VMwareDvsDpuCapability"] = "8.0.0.1"
 82038  }
 82039  
 82040  // The feature capabilities of Ipfix supported by the vSphere Distributed Switch.
 82041  type VMwareDvsIpfixCapability struct {
 82042  	DynamicData
 82043  
 82044  	// Flag to indicate whether IPFIX(NetFlow) is supported on the
 82045  	// vSphere Distributed Switch.
 82046  	//
 82047  	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
 82048  	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
 82049  	// Flag to indicate whether IPv6 for IPFIX(NetFlow) is supported on the
 82050  	// vSphere Distributed Switch.
 82051  	//
 82052  	// IPv6 for IPFIX is supported in vSphere Distributed Switch Version 6.0 or later.
 82053  	Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported" json:"ipv6ForIpfixSupported,omitempty"`
 82054  	// Flag to indicate whether Observation Domain Id for IPFIX is supported
 82055  	// on the vSphere Distributed Switch.
 82056  	//
 82057  	// Observation Domain Id is supported in vSphere Distributed Switch Version 6.0 or later.
 82058  	ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported" json:"observationDomainIdSupported,omitempty"`
 82059  }
 82060  
 82061  func init() {
 82062  	t["VMwareDvsIpfixCapability"] = reflect.TypeOf((*VMwareDvsIpfixCapability)(nil)).Elem()
 82063  }
 82064  
 82065  // The feature capabilities of Link Aggregation Control Protocol supported by the
 82066  // vSphere Distributed Switch.
 82067  type VMwareDvsLacpCapability struct {
 82068  	DynamicData
 82069  
 82070  	// Flag to indicate whether Link Aggregation Control Protocol is supported on the
 82071  	// vSphere Distributed Switch.
 82072  	LacpSupported *bool `xml:"lacpSupported" json:"lacpSupported,omitempty"`
 82073  	// Flag to indicate whether the vSphere Distributed Switch supports more
 82074  	// than one Link Aggregation Control Protocol group to be configured.
 82075  	//
 82076  	// It is suppported in vSphere Distributed Switch Version 5.5 or later.
 82077  	MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported" json:"multiLacpGroupSupported,omitempty"`
 82078  	// Flag to indicate whether LACP Fast Mode is supported on the
 82079  	// vSphere Distributed Switch.
 82080  	//
 82081  	// LACP Fast Mode is supported in vSphere Distributed Switch Version 7.0 or later.
 82082  	LacpFastModeSupported *bool `xml:"lacpFastModeSupported" json:"lacpFastModeSupported,omitempty" vim:"7.0.2.0"`
 82083  }
 82084  
 82085  func init() {
 82086  	t["VMwareDvsLacpCapability"] = reflect.TypeOf((*VMwareDvsLacpCapability)(nil)).Elem()
 82087  }
 82088  
 82089  // This class defines VMware specific multiple IEEE 802.3ad
 82090  // Dynamic Link Aggregation Control Protocol groups.
 82091  type VMwareDvsLacpGroupConfig struct {
 82092  	DynamicData
 82093  
 82094  	// The generated key as the identifier for the Link Aggregation group.
 82095  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 82096  	// The display name.
 82097  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 82098  	// The mode of Link Aggregation Control Protocol.
 82099  	//
 82100  	// See `VMwareUplinkLacpMode_enum` for valid values.
 82101  	Mode string `xml:"mode,omitempty" json:"mode,omitempty"`
 82102  	// The number of uplink ports.
 82103  	UplinkNum int32 `xml:"uplinkNum,omitempty" json:"uplinkNum,omitempty"`
 82104  	// Load balance policy.
 82105  	//
 82106  	// See `VMwareDvsLacpLoadBalanceAlgorithm_enum` for valid values.
 82107  	LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty" json:"loadbalanceAlgorithm,omitempty"`
 82108  	// The VLAN Specification of the Uplink Ports in the Link Aggregation group.
 82109  	Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty" json:"vlan,omitempty"`
 82110  	// Ipfix configuration of the Link Aggregation
 82111  	// Control Protocol group.
 82112  	Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty" json:"ipfix,omitempty"`
 82113  	// Names for the Uplink Ports in the group.
 82114  	//
 82115  	// This property is ignored in an update operation.
 82116  	UplinkName []string `xml:"uplinkName,omitempty" json:"uplinkName,omitempty"`
 82117  	// Keys for the Uplink Ports in the group.
 82118  	//
 82119  	// This property is ignored in an update operation.
 82120  	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
 82121  	// The timeout mode of LACP group.
 82122  	//
 82123  	// See `VMwareUplinkLacpTimeoutMode_enum` for valid values.
 82124  	TimeoutMode string `xml:"timeoutMode,omitempty" json:"timeoutMode,omitempty" vim:"7.0.2.0"`
 82125  }
 82126  
 82127  func init() {
 82128  	t["VMwareDvsLacpGroupConfig"] = reflect.TypeOf((*VMwareDvsLacpGroupConfig)(nil)).Elem()
 82129  }
 82130  
 82131  // This class defines the configuration of a Link Aggregation
 82132  // Control Protocol group.
 82133  type VMwareDvsLacpGroupSpec struct {
 82134  	DynamicData
 82135  
 82136  	// The Link Aggregation Control Protocol group to be configured.
 82137  	LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig" json:"lacpGroupConfig"`
 82138  	// Operation type, see
 82139  	// `ConfigSpecOperation_enum` for valid values.
 82140  	Operation string `xml:"operation" json:"operation"`
 82141  }
 82142  
 82143  func init() {
 82144  	t["VMwareDvsLacpGroupSpec"] = reflect.TypeOf((*VMwareDvsLacpGroupSpec)(nil)).Elem()
 82145  }
 82146  
 82147  // This class defines the ipfix configuration of the Link Aggregation
 82148  // Control Protocol group.
 82149  type VMwareDvsLagIpfixConfig struct {
 82150  	DynamicData
 82151  
 82152  	// True if ipfix monitoring is enabled in the Link Aggregation Control Protocol group.
 82153  	//
 82154  	// If set, this property will override the ipfix configuration of Uplink Ports
 82155  	// in the Link Aggregation Control Protocol group.
 82156  	// Thus they are no longer inheriting ipfix configuration from their Uplink Port Group.
 82157  	// Setting this property would require
 82158  	// `VMwareDVSPortgroupPolicy.ipfixOverrideAllowed`
 82159  	// of all the Uplink Port Groups to be true,
 82160  	// otherwise ConflictingConfiguration fault will be raised.
 82161  	IpfixEnabled *bool `xml:"ipfixEnabled" json:"ipfixEnabled,omitempty"`
 82162  }
 82163  
 82164  func init() {
 82165  	t["VMwareDvsLagIpfixConfig"] = reflect.TypeOf((*VMwareDvsLagIpfixConfig)(nil)).Elem()
 82166  }
 82167  
 82168  // This class defines the vlan configuration of the Link Aggregation
 82169  // Control Protocol group.
 82170  type VMwareDvsLagVlanConfig struct {
 82171  	DynamicData
 82172  
 82173  	// The VlanId range for the Uplink Ports in the Link Aggregation
 82174  	// Control Protocol group.
 82175  	//
 82176  	// The valid VlanId range is from 0 to 4094. Overlapping ranges are allowed.
 82177  	// If set, this property will override the VLAN configuration of Uplink Ports
 82178  	// in the Link Aggregation Control Protocol group.
 82179  	// Thus they are no longer inheriting VLAN configuration from their Uplink Port Group.
 82180  	// Setting this property would require
 82181  	// `VMwareDVSPortgroupPolicy.vlanOverrideAllowed`
 82182  	// of all the Uplink Port Groups to be true,
 82183  	// otherwise ConflictingConfiguration fault will be raised.
 82184  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 82185  }
 82186  
 82187  func init() {
 82188  	t["VMwareDvsLagVlanConfig"] = reflect.TypeOf((*VMwareDvsLagVlanConfig)(nil)).Elem()
 82189  }
 82190  
 82191  // Indicators of support for version-specific supported MTU.
 82192  type VMwareDvsMtuCapability struct {
 82193  	DynamicData
 82194  
 82195  	// Minimum supported MTU on VDS.
 82196  	MinMtuSupported int32 `xml:"minMtuSupported" json:"minMtuSupported"`
 82197  	// Maximum supported MTU on VDS.
 82198  	MaxMtuSupported int32 `xml:"maxMtuSupported" json:"maxMtuSupported"`
 82199  }
 82200  
 82201  func init() {
 82202  	t["VMwareDvsMtuCapability"] = reflect.TypeOf((*VMwareDvsMtuCapability)(nil)).Elem()
 82203  	minAPIVersionForType["VMwareDvsMtuCapability"] = "7.0.2.0"
 82204  }
 82205  
 82206  // Configuration for IPFIX monitoring of distributed virtual switch traffic.
 82207  //
 82208  // IPFIX monitoring must be enabled to use this capability. See
 82209  // `VMwareDVSPortSetting*.*VMwareDVSPortSetting.ipfixEnabled`.
 82210  type VMwareIpfixConfig struct {
 82211  	DynamicData
 82212  
 82213  	// IP address for the ipfix collector, using IPv4 or IPv6.
 82214  	//
 82215  	// IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
 82216  	// This must be set before ipfix monitoring can be enabled for the
 82217  	// switch, or for any portgroup or port of the switch.
 82218  	CollectorIpAddress string `xml:"collectorIpAddress,omitempty" json:"collectorIpAddress,omitempty"`
 82219  	// Port for the ipfix collector.
 82220  	//
 82221  	// This must be set before ipfix monitoring
 82222  	// can be enabled for the switch, or for any portgroup or port of the
 82223  	// switch. Legal value range is 0-65535.
 82224  	CollectorPort int32 `xml:"collectorPort,omitempty" json:"collectorPort,omitempty"`
 82225  	// Observation Domain Id for the ipfix collector.
 82226  	//
 82227  	// Observation Domain Id is supported
 82228  	// in vSphere Distributed Switch Version 6.0 or later.
 82229  	// Legal value range is 0-((2^32)-1)
 82230  	ObservationDomainId int64 `xml:"observationDomainId,omitempty" json:"observationDomainId,omitempty"`
 82231  	// The number of seconds after which "active" flows are forced to be
 82232  	// exported to the collector.
 82233  	//
 82234  	// Legal value range is 60-3600. Default: 60.
 82235  	ActiveFlowTimeout int32 `xml:"activeFlowTimeout" json:"activeFlowTimeout"`
 82236  	// The number of seconds after which "idle" flows are forced to be
 82237  	// exported to the collector.
 82238  	//
 82239  	// Legal value range is 10-600. Default: 15.
 82240  	IdleFlowTimeout int32 `xml:"idleFlowTimeout" json:"idleFlowTimeout"`
 82241  	// The ratio of total number of packets to the number of packets
 82242  	// analyzed.
 82243  	//
 82244  	// Set to 0 to disable sampling. Legal value range is 0-16384.
 82245  	// Default: 4096.
 82246  	SamplingRate int32 `xml:"samplingRate" json:"samplingRate"`
 82247  	// Whether to limit analysis to traffic that has both source and
 82248  	// destination served by the same host.
 82249  	//
 82250  	// Default: false.
 82251  	InternalFlowsOnly bool `xml:"internalFlowsOnly" json:"internalFlowsOnly"`
 82252  }
 82253  
 82254  func init() {
 82255  	t["VMwareIpfixConfig"] = reflect.TypeOf((*VMwareIpfixConfig)(nil)).Elem()
 82256  }
 82257  
 82258  // Deprecated as of vSphere API 5.5.
 82259  //
 82260  // This class defines VMware specific Link Aggregation Control Protocol
 82261  // policy.
 82262  type VMwareUplinkLacpPolicy struct {
 82263  	InheritablePolicy
 82264  
 82265  	// The flag to indicate whether or not
 82266  	// Link Aggregation Control Protocol is enabled.
 82267  	//
 82268  	// It can be set to true if the value of
 82269  	// `VMwareDVSConfigInfo.lacpApiVersion`
 82270  	// is `singleLag`,
 82271  	// else an exception ConflictingConfiguration will be thrown.
 82272  	Enable *BoolPolicy `xml:"enable,omitempty" json:"enable,omitempty"`
 82273  	// The mode of Link Aggregation Control Protocol.
 82274  	//
 82275  	// See `VMwareUplinkLacpMode_enum` for valid values.
 82276  	Mode *StringPolicy `xml:"mode,omitempty" json:"mode,omitempty"`
 82277  }
 82278  
 82279  func init() {
 82280  	t["VMwareUplinkLacpPolicy"] = reflect.TypeOf((*VMwareUplinkLacpPolicy)(nil)).Elem()
 82281  }
 82282  
 82283  // This data object type describes uplink port ordering policy for a
 82284  // distributed virtual port.
 82285  //
 82286  // A uplink port can be in the active
 82287  // list, the standby list, or neither. It cannot be in both lists.
 82288  type VMwareUplinkPortOrderPolicy struct {
 82289  	InheritablePolicy
 82290  
 82291  	// List of active uplink ports used for load balancing.
 82292  	ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty" json:"activeUplinkPort,omitempty"`
 82293  	// Standby uplink ports used for failover.
 82294  	StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty" json:"standbyUplinkPort,omitempty"`
 82295  }
 82296  
 82297  func init() {
 82298  	t["VMwareUplinkPortOrderPolicy"] = reflect.TypeOf((*VMwareUplinkPortOrderPolicy)(nil)).Elem()
 82299  }
 82300  
 82301  // This class defines the ports, uplink ports name, vlans and IP addresses participating in a
 82302  // Distributed Port Mirroring session.
 82303  //
 82304  // See `VMwareVspanSession`.
 82305  type VMwareVspanPort struct {
 82306  	DynamicData
 82307  
 82308  	// Individual ports to participate in the Distributed Port Mirroring session.
 82309  	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
 82310  	// Uplink ports used as destination ports to participate in the Distributed Port Mirroring session.
 82311  	//
 82312  	// A fault will be raised if uplinkPortName is used as source ports
 82313  	// in any Distributed Port Mirroring session.
 82314  	UplinkPortName []string `xml:"uplinkPortName,omitempty" json:"uplinkPortName,omitempty"`
 82315  	// Wild card specification for source ports participating in the Distributed Port Mirroring session.
 82316  	//
 82317  	// See `DistributedVirtualSwitchPortConnecteeConnecteeType_enum` for valid values.
 82318  	// Any port that has a connectee of the specified type has its receive traffic
 82319  	// mirrored. A fault will be raised if wildcards are specified as destination
 82320  	// ports or source ports mirroring traffic on the transmit side.
 82321  	// It is to be not used.
 82322  	WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty" json:"wildcardPortConnecteeType,omitempty"`
 82323  	// Vlan Ids for ingress source of Remote Mirror destination
 82324  	// session.
 82325  	Vlans []int32 `xml:"vlans,omitempty" json:"vlans,omitempty"`
 82326  	// IP address for the destination of encapsulated remote mirror source session,
 82327  	// IPv4 address is specified using dotted decimal notation.
 82328  	//
 82329  	// For example, "192.0.2.1".
 82330  	// IPv6 addresses are 128-bit addresses represented as eight fields
 82331  	// of up to four hexadecimal digits.
 82332  	// A colon separates each field (:). For example,
 82333  	// 2001:DB8:101::230:6eff:fe04:d9ff.
 82334  	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 82335  }
 82336  
 82337  func init() {
 82338  	t["VMwareVspanPort"] = reflect.TypeOf((*VMwareVspanPort)(nil)).Elem()
 82339  }
 82340  
 82341  // The `VMwareVspanSession` data object
 82342  // defines the configuration of a VLAN Services and Protocols for Advanced Networks
 82343  // (VSPAN) session.
 82344  //
 82345  // You use a VSPAN session for the following operations:
 82346  //   - To mirror network traffic (inbound/outbound) from a set of source
 82347  //     entities to a set of destination entities.
 82348  //   - To assist in troubleshooting.
 82349  //   - As input for security and other network analysis appliances.
 82350  //
 82351  // The type of entities that you can specify as source or destination is determined
 82352  // by the session type. You can use uplink distributed virtual ports only for
 82353  // mixed destination mirror VSPAN sessions (mixedDestMirror).
 82354  // For all sessions except mixedDestMirror sessions, you cannot
 82355  // use uplink distributed virtual ports as destination ports.
 82356  // sessionType is required for vSphere Distributed Switch 5.1 and later,
 82357  // ignored for prior version if set.
 82358  // <table>
 82359  // <thead>
 82360  // <tr>
 82361  // <th>Session Type</th>
 82362  // <th>Source</th>
 82363  // <th>Destination </th>
 82364  // </tr>
 82365  // </thead>
 82366  // <tbody>
 82367  // <tr>
 82368  // <td>mixedDestMirror</td>
 82369  // <td>Distributed Ports</td>
 82370  // <td>Distributed Ports + Uplink Ports Name</td>
 82371  // </tr>
 82372  // <tr>
 82373  // <td>dvPortMirror</td>
 82374  // <td>Distributed Ports</td>
 82375  // <td>Distributed Ports</td>
 82376  // </tr>
 82377  // <tr>
 82378  // <td>remoteMirrorSource</td>
 82379  // <td>Distributed Ports</td>
 82380  // <td>Uplink Ports Name</td>
 82381  // </tr>
 82382  // <tr>
 82383  // <td>remoteMirrorDest</td>
 82384  // <td>VLAN</td>
 82385  // <td>Distributed Ports</td>
 82386  // </tr>
 82387  // <tr>
 82388  // <td>encapRemoteMirrorSource</td>
 82389  // <td>Distributed Ports</td>
 82390  // <td>IP address</td>
 82391  // </tr>
 82392  // </tbody>
 82393  // </table>
 82394  type VMwareVspanSession struct {
 82395  	DynamicData
 82396  
 82397  	// The generated key as the identifier for the session.
 82398  	Key string `xml:"key,omitempty" json:"key,omitempty"`
 82399  	// The display name.
 82400  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 82401  	// The description for the session.
 82402  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 82403  	// Whether the session is enabled.
 82404  	Enabled bool `xml:"enabled" json:"enabled"`
 82405  	// Source ports for which transmitted packets are mirrored.
 82406  	SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty" json:"sourcePortTransmitted,omitempty"`
 82407  	// Source ports for which received packets are mirrored.
 82408  	SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty" json:"sourcePortReceived,omitempty"`
 82409  	// Destination ports that received the mirrored packets.
 82410  	//
 82411  	// You cannot use wild card ports as destination ports. If `VMwareVspanPort.wildcardPortConnecteeType`
 82412  	// is set in the value, the reconfigure
 82413  	// operation will raise a fault. Also any port designated in the value of
 82414  	// this property can not match the wild card source port in any of the
 82415  	// Distributed Port Mirroring session.
 82416  	DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty" json:"destinationPort,omitempty"`
 82417  	// VLAN ID used to encapsulate the mirrored traffic.
 82418  	EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty" json:"encapsulationVlanId,omitempty"`
 82419  	// Whether to strip the original VLAN tag.
 82420  	//
 82421  	// if false, the original VLAN tag
 82422  	// will be preserved on the mirrored traffic. If `VMwareVspanSession.encapsulationVlanId`
 82423  	// has been set and this property is false, the frames will be double tagged
 82424  	// with the original VLAN ID as the inner tag.
 82425  	StripOriginalVlan bool `xml:"stripOriginalVlan" json:"stripOriginalVlan"`
 82426  	// An integer that describes how much of each frame to mirror.
 82427  	//
 82428  	// If unset, all
 82429  	// of the frame would be mirrored. Setting this property to a smaller value
 82430  	// is useful when the consumer will look only at the headers.
 82431  	// The value cannot be less than 60.
 82432  	MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty" json:"mirroredPacketLength,omitempty"`
 82433  	// Whether or not destination ports can send and receive "normal" traffic.
 82434  	//
 82435  	// Setting this to false will make mirror ports be used solely for mirroring
 82436  	// and not double as normal access ports.
 82437  	NormalTrafficAllowed bool `xml:"normalTrafficAllowed" json:"normalTrafficAllowed"`
 82438  	// Type of the session.
 82439  	//
 82440  	// See
 82441  	// `VMwareDVSVspanSessionType_enum`
 82442  	// for valid values.
 82443  	// Default value is mixedDestMirror if unspecified in a VSPAN create operation.
 82444  	SessionType string `xml:"sessionType,omitempty" json:"sessionType,omitempty"`
 82445  	// Sampling rate of the session.
 82446  	//
 82447  	// If its value is n, one of every n
 82448  	// packets is mirrored.
 82449  	// Valid values are between 1 to 65535, and default value is 1.
 82450  	SamplingRate int32 `xml:"samplingRate,omitempty" json:"samplingRate,omitempty"`
 82451  	// Encapsulation type of the session.
 82452  	//
 82453  	// See
 82454  	// `VMwareDVSVspanSessionEncapType_enum`
 82455  	// for valid values.
 82456  	// Default value is encapProtocolGRE if unspecified in a
 82457  	// VSPAN create operation.
 82458  	EncapType string `xml:"encapType,omitempty" json:"encapType,omitempty"`
 82459  	// ERSPAN ID of the session.
 82460  	//
 82461  	// Valid values are between 0 to 0x3ff, and default value is 0.
 82462  	// This value is applicable only if encaptType is
 82463  	// `erspan2` or
 82464  	// `erspan3`
 82465  	ErspanId int32 `xml:"erspanId,omitempty" json:"erspanId,omitempty"`
 82466  	// Class of Service of the monitored frame.
 82467  	//
 82468  	// Valid values are between 0 to 7, and default value is 0.
 82469  	// This value is applicable only if encaptType is
 82470  	// `erspan2` or
 82471  	// `erspan3`
 82472  	ErspanCOS int32 `xml:"erspanCOS,omitempty" json:"erspanCOS,omitempty"`
 82473  	// Timestamp Granularity.
 82474  	//
 82475  	// If the value is false, timestamp-granularity will be microsecond.
 82476  	// Otherwise the timestamp-granularity will be nanosecond
 82477  	// This value is applicable only if encaptType is
 82478  	// `erspan3`
 82479  	ErspanGraNanosec *bool `xml:"erspanGraNanosec" json:"erspanGraNanosec,omitempty"`
 82480  	// Netstack instance of the session.
 82481  	Netstack string `xml:"netstack,omitempty" json:"netstack,omitempty"`
 82482  }
 82483  
 82484  func init() {
 82485  	t["VMwareVspanSession"] = reflect.TypeOf((*VMwareVspanSession)(nil)).Elem()
 82486  }
 82487  
 82488  // This data object type describes a virtual storage object.
 82489  type VStorageObject struct {
 82490  	DynamicData
 82491  
 82492  	// Virtual storage object configuration
 82493  	Config VStorageObjectConfigInfo `xml:"config" json:"config"`
 82494  }
 82495  
 82496  func init() {
 82497  	t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem()
 82498  }
 82499  
 82500  // This data object is a key-value pair whose key is the virtual storage
 82501  // object id, and value is the vm association information.
 82502  type VStorageObjectAssociations struct {
 82503  	DynamicData
 82504  
 82505  	// ID of this virtual storage object.
 82506  	Id ID `xml:"id" json:"id"`
 82507  	// Array of vm associations related to the virtual storage object.
 82508  	VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty" json:"vmDiskAssociations,omitempty"`
 82509  	// Received error while generating associations.
 82510  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 82511  }
 82512  
 82513  func init() {
 82514  	t["VStorageObjectAssociations"] = reflect.TypeOf((*VStorageObjectAssociations)(nil)).Elem()
 82515  }
 82516  
 82517  // This data object contains infomation of a VM Disk associations.
 82518  type VStorageObjectAssociationsVmDiskAssociations struct {
 82519  	DynamicData
 82520  
 82521  	// ID of the virtual machine.
 82522  	VmId string `xml:"vmId" json:"vmId"`
 82523  	// Device key of the disk attached to the VM.
 82524  	DiskKey int32 `xml:"diskKey" json:"diskKey"`
 82525  }
 82526  
 82527  func init() {
 82528  	t["VStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*VStorageObjectAssociationsVmDiskAssociations)(nil)).Elem()
 82529  }
 82530  
 82531  // Data object specifies Virtual storage object configuration
 82532  type VStorageObjectConfigInfo struct {
 82533  	BaseConfigInfo
 82534  
 82535  	// The descriptor version of this object
 82536  	DescriptorVersion int32 `xml:"descriptorVersion,omitempty" json:"descriptorVersion,omitempty" vim:"8.0.1.0"`
 82537  	// The size in MB of this object.
 82538  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 82539  	// Consumption type of this object.
 82540  	//
 82541  	// See also `VStorageObjectConsumptionType_enum`.
 82542  	ConsumptionType []string `xml:"consumptionType,omitempty" json:"consumptionType,omitempty"`
 82543  	// IDs of the consumer objects which consume this vstorage object.
 82544  	//
 82545  	// For a virtual disk, this can be VM ID(s).
 82546  	ConsumerId []ID `xml:"consumerId,omitempty" json:"consumerId,omitempty"`
 82547  }
 82548  
 82549  func init() {
 82550  	t["VStorageObjectConfigInfo"] = reflect.TypeOf((*VStorageObjectConfigInfo)(nil)).Elem()
 82551  }
 82552  
 82553  // The parameters of `VStorageObjectManagerBase.VStorageObjectCreateSnapshotEx_Task`.
 82554  type VStorageObjectCreateSnapshotExRequestType struct {
 82555  	This ManagedObjectReference `xml:"_this" json:"-"`
 82556  	// The ID of the virtual storage object.
 82557  	Id ID `xml:"id" json:"id"`
 82558  	// The datastore where the source virtual storage object
 82559  	// is located.
 82560  	//
 82561  	// Refers instance of `Datastore`.
 82562  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82563  	// A short description to be associated with the snapshot.
 82564  	Description string `xml:"description" json:"description"`
 82565  }
 82566  
 82567  func init() {
 82568  	t["VStorageObjectCreateSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotExRequestType)(nil)).Elem()
 82569  	minAPIVersionForType["VStorageObjectCreateSnapshotExRequestType"] = "8.0.2.0"
 82570  }
 82571  
 82572  type VStorageObjectCreateSnapshotEx_Task VStorageObjectCreateSnapshotExRequestType
 82573  
 82574  func init() {
 82575  	t["VStorageObjectCreateSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshotEx_Task)(nil)).Elem()
 82576  }
 82577  
 82578  type VStorageObjectCreateSnapshotEx_TaskResponse struct {
 82579  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82580  }
 82581  
 82582  // The parameters of `VcenterVStorageObjectManager.VStorageObjectCreateSnapshot_Task`.
 82583  type VStorageObjectCreateSnapshotRequestType struct {
 82584  	This ManagedObjectReference `xml:"_this" json:"-"`
 82585  	// The ID of the virtual storage object.
 82586  	Id ID `xml:"id" json:"id"`
 82587  	// The datastore where the source virtual storage object
 82588  	// is located.
 82589  	//
 82590  	// Refers instance of `Datastore`.
 82591  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82592  	// A short description to be associated with the snapshot.
 82593  	Description string `xml:"description" json:"description"`
 82594  }
 82595  
 82596  func init() {
 82597  	t["VStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotRequestType)(nil)).Elem()
 82598  }
 82599  
 82600  type VStorageObjectCreateSnapshot_Task VStorageObjectCreateSnapshotRequestType
 82601  
 82602  func init() {
 82603  	t["VStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshot_Task)(nil)).Elem()
 82604  }
 82605  
 82606  type VStorageObjectCreateSnapshot_TaskResponse struct {
 82607  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82608  }
 82609  
 82610  // The parameters of `VStorageObjectManagerBase.VStorageObjectDeleteSnapshotEx_Task`.
 82611  type VStorageObjectDeleteSnapshotExRequestType struct {
 82612  	This ManagedObjectReference `xml:"_this" json:"-"`
 82613  	// The ID of the virtual storage object.
 82614  	Id ID `xml:"id" json:"id"`
 82615  	// The datastore where the source virtual storage object
 82616  	// is located.
 82617  	//
 82618  	// Refers instance of `Datastore`.
 82619  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82620  	// The ID of the snapshot of a virtual storage object.
 82621  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 82622  }
 82623  
 82624  func init() {
 82625  	t["VStorageObjectDeleteSnapshotExRequestType"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotExRequestType)(nil)).Elem()
 82626  	minAPIVersionForType["VStorageObjectDeleteSnapshotExRequestType"] = "8.0.2.0"
 82627  }
 82628  
 82629  type VStorageObjectDeleteSnapshotEx_Task VStorageObjectDeleteSnapshotExRequestType
 82630  
 82631  func init() {
 82632  	t["VStorageObjectDeleteSnapshotEx_Task"] = reflect.TypeOf((*VStorageObjectDeleteSnapshotEx_Task)(nil)).Elem()
 82633  }
 82634  
 82635  type VStorageObjectDeleteSnapshotEx_TaskResponse struct {
 82636  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82637  }
 82638  
 82639  // The parameters of `VStorageObjectManagerBase.VStorageObjectExtendDiskEx_Task`.
 82640  type VStorageObjectExtendDiskExRequestType struct {
 82641  	This ManagedObjectReference `xml:"_this" json:"-"`
 82642  	// The ID of the virtual disk to be extended.
 82643  	Id ID `xml:"id" json:"id"`
 82644  	// The datastore where the virtual disk is located.
 82645  	//
 82646  	// Refers instance of `Datastore`.
 82647  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 82648  	// The new capacity of the virtual disk in MB.
 82649  	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
 82650  }
 82651  
 82652  func init() {
 82653  	t["VStorageObjectExtendDiskExRequestType"] = reflect.TypeOf((*VStorageObjectExtendDiskExRequestType)(nil)).Elem()
 82654  	minAPIVersionForType["VStorageObjectExtendDiskExRequestType"] = "8.0.2.0"
 82655  }
 82656  
 82657  type VStorageObjectExtendDiskEx_Task VStorageObjectExtendDiskExRequestType
 82658  
 82659  func init() {
 82660  	t["VStorageObjectExtendDiskEx_Task"] = reflect.TypeOf((*VStorageObjectExtendDiskEx_Task)(nil)).Elem()
 82661  }
 82662  
 82663  type VStorageObjectExtendDiskEx_TaskResponse struct {
 82664  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82665  }
 82666  
 82667  // This data object type contains ID and VClock details of a virtual disk snapshot.
 82668  type VStorageObjectSnapshot struct {
 82669  	DynamicData
 82670  
 82671  	// ID of this snapshot object.
 82672  	Id ID `xml:"id" json:"id"`
 82673  	// VClock associated with the FCD when the operation completes.
 82674  	Vclock VslmVClockInfo `xml:"vclock" json:"vclock"`
 82675  }
 82676  
 82677  func init() {
 82678  	t["VStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshot)(nil)).Elem()
 82679  	minAPIVersionForType["VStorageObjectSnapshot"] = "8.0.2.0"
 82680  }
 82681  
 82682  // This data object type provides details of a vstorage object snapshot
 82683  type VStorageObjectSnapshotDetails struct {
 82684  	DynamicData
 82685  
 82686  	// Path of the snaphost object
 82687  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 82688  	// Changed block tracking ID of the snapshot
 82689  	ChangedBlockTrackingId string `xml:"changedBlockTrackingId,omitempty" json:"changedBlockTrackingId,omitempty"`
 82690  }
 82691  
 82692  func init() {
 82693  	t["VStorageObjectSnapshotDetails"] = reflect.TypeOf((*VStorageObjectSnapshotDetails)(nil)).Elem()
 82694  }
 82695  
 82696  // This data object type contains the brief information of a
 82697  // virtual storage snapshot.
 82698  type VStorageObjectSnapshotInfo struct {
 82699  	DynamicData
 82700  
 82701  	// An array of snapshots
 82702  	Snapshots []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"snapshots,omitempty" json:"snapshots,omitempty"`
 82703  }
 82704  
 82705  func init() {
 82706  	t["VStorageObjectSnapshotInfo"] = reflect.TypeOf((*VStorageObjectSnapshotInfo)(nil)).Elem()
 82707  }
 82708  
 82709  type VStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
 82710  	DynamicData
 82711  
 82712  	// ID of the snapshot object.
 82713  	Id *ID `xml:"id,omitempty" json:"id,omitempty"`
 82714  	// Backing object ID
 82715  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 82716  	// The date and time this object was created.
 82717  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 82718  	// Short description of the snapshot
 82719  	Description string `xml:"description" json:"description"`
 82720  }
 82721  
 82722  func init() {
 82723  	t["VStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem()
 82724  }
 82725  
 82726  // Contains information of a virtual storage object state.
 82727  //
 82728  // NOTE: The information obtained with this object is dynamic and it could
 82729  // change during the lifetime of the object. For performance purposes some
 82730  // of the data may not reflect the immediate state of the object, also there
 82731  // is not guarantee that it will be provided.
 82732  type VStorageObjectStateInfo struct {
 82733  	DynamicData
 82734  
 82735  	// If set this flag indicates that the object currently is part of
 82736  	// provisioning operation or the last operation has not finished gracefully.
 82737  	//
 82738  	// There are maintenance procedures that are working on resolving that
 82739  	// tentative state. Note that this might result in the object to be removed.
 82740  	Tentative *bool `xml:"tentative" json:"tentative,omitempty"`
 82741  }
 82742  
 82743  func init() {
 82744  	t["VStorageObjectStateInfo"] = reflect.TypeOf((*VStorageObjectStateInfo)(nil)).Elem()
 82745  }
 82746  
 82747  type VVolHostPE struct {
 82748  	DynamicData
 82749  
 82750  	// The host associated with this volume.
 82751  	//
 82752  	// Refers instance of `HostSystem`.
 82753  	Key ManagedObjectReference `xml:"key" json:"key"`
 82754  	// Host-specific information about the ProtocolEndpoint.
 82755  	ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint" json:"protocolEndpoint"`
 82756  }
 82757  
 82758  func init() {
 82759  	t["VVolHostPE"] = reflect.TypeOf((*VVolHostPE)(nil)).Elem()
 82760  }
 82761  
 82762  // VVolVmConfigFileUpdateResult is the result returned
 82763  // by the `Datastore.UpdateVVolVirtualMachineFiles_Task` method.
 82764  type VVolVmConfigFileUpdateResult struct {
 82765  	DynamicData
 82766  
 82767  	// Mapping of target config VVol IDs to the target virtual machine
 82768  	// config file paths which are successfully updated.
 82769  	SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty" json:"succeededVmConfigFile,omitempty"`
 82770  	// The list of virtual machines config files the server has attempted,
 82771  	// but failed to update.
 82772  	FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty" json:"failedVmConfigFile,omitempty"`
 82773  }
 82774  
 82775  func init() {
 82776  	t["VVolVmConfigFileUpdateResult"] = reflect.TypeOf((*VVolVmConfigFileUpdateResult)(nil)).Elem()
 82777  }
 82778  
 82779  // Information of the failed update on the virtual machine config
 82780  // file.
 82781  type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
 82782  	DynamicData
 82783  
 82784  	// The target virtual machine config VVol ID
 82785  	TargetConfigVVolId string `xml:"targetConfigVVolId" json:"targetConfigVVolId"`
 82786  	// Datastore path for the virtual machine that failed to recover
 82787  	DsPath string `xml:"dsPath,omitempty" json:"dsPath,omitempty"`
 82788  	// The reason why the update failed.
 82789  	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
 82790  }
 82791  
 82792  func init() {
 82793  	t["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*VVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem()
 82794  }
 82795  
 82796  type ValidateCredentialsInGuest ValidateCredentialsInGuestRequestType
 82797  
 82798  func init() {
 82799  	t["ValidateCredentialsInGuest"] = reflect.TypeOf((*ValidateCredentialsInGuest)(nil)).Elem()
 82800  }
 82801  
 82802  // The parameters of `GuestAuthManager.ValidateCredentialsInGuest`.
 82803  type ValidateCredentialsInGuestRequestType struct {
 82804  	This ManagedObjectReference `xml:"_this" json:"-"`
 82805  	// MoRef of the VM to perform the operation on.
 82806  	//
 82807  	// Required privileges: VirtualMachine.GuestOperations.Query
 82808  	//
 82809  	// Refers instance of `VirtualMachine`.
 82810  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 82811  	// The guest authentication data. See
 82812  	// `GuestAuthentication`.
 82813  	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
 82814  }
 82815  
 82816  func init() {
 82817  	t["ValidateCredentialsInGuestRequestType"] = reflect.TypeOf((*ValidateCredentialsInGuestRequestType)(nil)).Elem()
 82818  }
 82819  
 82820  type ValidateCredentialsInGuestResponse struct {
 82821  }
 82822  
 82823  type ValidateHCIConfiguration ValidateHCIConfigurationRequestType
 82824  
 82825  func init() {
 82826  	t["ValidateHCIConfiguration"] = reflect.TypeOf((*ValidateHCIConfiguration)(nil)).Elem()
 82827  }
 82828  
 82829  // The parameters of `ClusterComputeResource.ValidateHCIConfiguration`.
 82830  type ValidateHCIConfigurationRequestType struct {
 82831  	This ManagedObjectReference `xml:"_this" json:"-"`
 82832  	// The `ClusterComputeResourceHCIConfigSpec`
 82833  	// to be used for validating the hosts. If not specified, the
 82834  	// existing `ClusterComputeResourceHCIConfigInfo` of the
 82835  	// cluster will be used.
 82836  	// Note:- This param must be omitted for post-configure validation.
 82837  	HciConfigSpec *ClusterComputeResourceHCIConfigSpec `xml:"hciConfigSpec,omitempty" json:"hciConfigSpec,omitempty"`
 82838  	// The set of hosts to be validated. If not specified, the set
 82839  	// of existing hosts in the cluster will be used.
 82840  	// Note:- This param must be omitted for post-configure validation.
 82841  	//
 82842  	// Refers instances of `HostSystem`.
 82843  	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
 82844  }
 82845  
 82846  func init() {
 82847  	t["ValidateHCIConfigurationRequestType"] = reflect.TypeOf((*ValidateHCIConfigurationRequestType)(nil)).Elem()
 82848  }
 82849  
 82850  type ValidateHCIConfigurationResponse struct {
 82851  	Returnval []BaseClusterComputeResourceValidationResultBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 82852  }
 82853  
 82854  type ValidateHost ValidateHostRequestType
 82855  
 82856  func init() {
 82857  	t["ValidateHost"] = reflect.TypeOf((*ValidateHost)(nil)).Elem()
 82858  }
 82859  
 82860  // The parameters of `HostProfileManager.ValidateHostProfileComposition_Task`.
 82861  type ValidateHostProfileCompositionRequestType struct {
 82862  	This ManagedObjectReference `xml:"_this" json:"-"`
 82863  	// The source host profile of the configurations for
 82864  	// composition.
 82865  	//
 82866  	// Refers instance of `Profile`.
 82867  	Source ManagedObjectReference `xml:"source" json:"source"`
 82868  	// The array of target host profiles that the configurations
 82869  	// composite into.
 82870  	//
 82871  	// Refers instances of `Profile`.
 82872  	Targets []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
 82873  	// A `HostApplyProfile` object
 82874  	// contains the sub profiles that will be merged from the source to
 82875  	// the target host profiles, and all the ancestors of these sub
 82876  	// profiles. For singleton sub profile, it will be added into a
 82877  	// target host profile if it doesn't exist in the target; otherwise,
 82878  	// it replaces the one in the target.
 82879  	// The member variable
 82880  	// `ApplyProfile.toBeMerged` of these sub profiles
 82881  	// should have a value of <code>true</code>. The member variables
 82882  	// `ApplyProfile.toBeMerged`
 82883  	// `ApplyProfile.toReplaceWith`,
 82884  	// `ApplyProfile.toBeDeleted`
 82885  	// of the ancestors should have a value of <code>false</code>.
 82886  	ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
 82887  	// A `HostApplyProfile` object
 82888  	// contains the sub profiles that will be used to replace the array
 82889  	// in the target host profiles, and all the ancestors of these sub
 82890  	// profiles.
 82891  	// Similar to above except that the member variable
 82892  	// `ApplyProfile.toReplaceWith`
 82893  	// is turned on.
 82894  	ToReplaceWith *HostApplyProfile `xml:"toReplaceWith,omitempty" json:"toReplaceWith,omitempty"`
 82895  	// A `HostApplyProfile` object
 82896  	// contains the sub profiles that will be deleted from the source
 82897  	// `*and*` the target host profiles, and all the ancestors of
 82898  	// these sub profiles.
 82899  	// Similar to above except that the member variable
 82900  	// `ApplyProfile.toBeDeleted`
 82901  	// is turned on.
 82902  	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
 82903  	// A `HostApplyProfile`
 82904  	// object contains the sub profiles that the member variable
 82905  	// `ApplyProfile.enabled` will be copied from the
 82906  	// source host profile to all the target host profiles, and all the
 82907  	// ancestors of these sub profiles.
 82908  	// The member variable
 82909  	// `ApplyProfile.copyEnableStatus`
 82910  	// of these sub profiles is turned on. The member variable
 82911  	// `ApplyProfile.copyEnableStatus` of the
 82912  	// `ApplyProfile.copyEnableStatus` of the
 82913  	// ancestors should have a value of <code>false</code>.
 82914  	EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
 82915  	// Indicates that the validation result for each target
 82916  	// don't contain the source-target difference.
 82917  	ErrorOnly *bool `xml:"errorOnly" json:"errorOnly,omitempty"`
 82918  }
 82919  
 82920  func init() {
 82921  	t["ValidateHostProfileCompositionRequestType"] = reflect.TypeOf((*ValidateHostProfileCompositionRequestType)(nil)).Elem()
 82922  }
 82923  
 82924  type ValidateHostProfileComposition_Task ValidateHostProfileCompositionRequestType
 82925  
 82926  func init() {
 82927  	t["ValidateHostProfileComposition_Task"] = reflect.TypeOf((*ValidateHostProfileComposition_Task)(nil)).Elem()
 82928  }
 82929  
 82930  type ValidateHostProfileComposition_TaskResponse struct {
 82931  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 82932  }
 82933  
 82934  // The parameters of `OvfManager.ValidateHost`.
 82935  type ValidateHostRequestType struct {
 82936  	This ManagedObjectReference `xml:"_this" json:"-"`
 82937  	// The OVF descriptor to examine.
 82938  	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
 82939  	// The host to validate against.
 82940  	//
 82941  	// Refers instance of `HostSystem`.
 82942  	Host ManagedObjectReference `xml:"host" json:"host"`
 82943  	// Additional parameters for validateHost, wrapped in a ValidateHostParams
 82944  	// instance.
 82945  	Vhp OvfValidateHostParams `xml:"vhp" json:"vhp"`
 82946  }
 82947  
 82948  func init() {
 82949  	t["ValidateHostRequestType"] = reflect.TypeOf((*ValidateHostRequestType)(nil)).Elem()
 82950  }
 82951  
 82952  type ValidateHostResponse struct {
 82953  	Returnval OvfValidateHostResult `xml:"returnval" json:"returnval"`
 82954  }
 82955  
 82956  type ValidateMigration ValidateMigrationRequestType
 82957  
 82958  func init() {
 82959  	t["ValidateMigration"] = reflect.TypeOf((*ValidateMigration)(nil)).Elem()
 82960  }
 82961  
 82962  // The parameters of `ServiceInstance.ValidateMigration`.
 82963  type ValidateMigrationRequestType struct {
 82964  	This ManagedObjectReference `xml:"_this" json:"-"`
 82965  	// The set of virtual machines intended for migration.
 82966  	//
 82967  	// Refers instances of `VirtualMachine`.
 82968  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 82969  	// The power state that the virtual machines must have. If
 82970  	// this argument is not set, each virtual machine is evaluated
 82971  	// according to its current power state.
 82972  	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
 82973  	// The set of tests to run. If this argument is not set, all
 82974  	// tests will be run.
 82975  	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
 82976  	// The target resource pool for the virtual machines. If the
 82977  	// pool parameter is left unset, the target pool for each particular
 82978  	// virtual machine's migration will be that virtual machine's current
 82979  	// pool. If the virtual machine is a template then either this
 82980  	// parameter or the host parameter must be set; additionally if
 82981  	// resource tests are requested then this parameter is required.
 82982  	//
 82983  	// Refers instance of `ResourcePool`.
 82984  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 82985  	// The target host on which the virtual machines will run. The host
 82986  	// parameter may be left unset if the compute resource associated with
 82987  	// the target pool represents a stand-alone host or a DRS-enabled
 82988  	// cluster. In the former case the stand-alone host is used as the
 82989  	// target host. In the latter case, each connected host in the cluster
 82990  	// that is not in maintenance mode is tested as a target host.
 82991  	// If the virtual machine is a template then either this
 82992  	// parameter or the pool parameter must be set.
 82993  	//
 82994  	// Refers instance of `HostSystem`.
 82995  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 82996  }
 82997  
 82998  func init() {
 82999  	t["ValidateMigrationRequestType"] = reflect.TypeOf((*ValidateMigrationRequestType)(nil)).Elem()
 83000  }
 83001  
 83002  type ValidateMigrationResponse struct {
 83003  	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
 83004  }
 83005  
 83006  type ValidateStoragePodConfig ValidateStoragePodConfigRequestType
 83007  
 83008  func init() {
 83009  	t["ValidateStoragePodConfig"] = reflect.TypeOf((*ValidateStoragePodConfig)(nil)).Elem()
 83010  }
 83011  
 83012  // The parameters of `StorageResourceManager.ValidateStoragePodConfig`.
 83013  type ValidateStoragePodConfigRequestType struct {
 83014  	This ManagedObjectReference `xml:"_this" json:"-"`
 83015  	// The storage pod.
 83016  	//
 83017  	// Refers instance of `StoragePod`.
 83018  	Pod ManagedObjectReference `xml:"pod" json:"pod"`
 83019  	// A set of storage Drs configuration changes to apply to
 83020  	// the storage pod.
 83021  	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
 83022  }
 83023  
 83024  func init() {
 83025  	t["ValidateStoragePodConfigRequestType"] = reflect.TypeOf((*ValidateStoragePodConfigRequestType)(nil)).Elem()
 83026  }
 83027  
 83028  type ValidateStoragePodConfigResponse struct {
 83029  	Returnval *LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
 83030  }
 83031  
 83032  // Represents a VASA provider and its related datastores.
 83033  type VasaProviderContainerSpec struct {
 83034  	DynamicData
 83035  
 83036  	// VASA Providers that manage this volume
 83037  	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
 83038  	// Vendor specified Storage Container ID
 83039  	ScId string `xml:"scId" json:"scId"`
 83040  	// Indicates whether the container got deleted
 83041  	Deleted bool `xml:"deleted" json:"deleted"`
 83042  	// Indicates whether container is stretched
 83043  	Stretched *bool `xml:"stretched" json:"stretched,omitempty" vim:"8.0.3.0"`
 83044  }
 83045  
 83046  func init() {
 83047  	t["VasaProviderContainerSpec"] = reflect.TypeOf((*VasaProviderContainerSpec)(nil)).Elem()
 83048  }
 83049  
 83050  // This event records when the VirtualCenter agent on a host failed to uninstall.
 83051  type VcAgentUninstallFailedEvent struct {
 83052  	HostEvent
 83053  
 83054  	// The reason why the uninstall failed, if known.
 83055  	//
 83056  	// See `AgentInstallFailedReason_enum`
 83057  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 83058  }
 83059  
 83060  func init() {
 83061  	t["VcAgentUninstallFailedEvent"] = reflect.TypeOf((*VcAgentUninstallFailedEvent)(nil)).Elem()
 83062  }
 83063  
 83064  // This event records when the VirtualCenter agent on a host is uninstalled.
 83065  type VcAgentUninstalledEvent struct {
 83066  	HostEvent
 83067  }
 83068  
 83069  func init() {
 83070  	t["VcAgentUninstalledEvent"] = reflect.TypeOf((*VcAgentUninstalledEvent)(nil)).Elem()
 83071  }
 83072  
 83073  // This event records when the VirtualCenter agent on a host failed to upgrade.
 83074  type VcAgentUpgradeFailedEvent struct {
 83075  	HostEvent
 83076  
 83077  	// The reason why the upgrade failed, if known.
 83078  	//
 83079  	// See `AgentInstallFailedReason_enum`
 83080  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 83081  }
 83082  
 83083  func init() {
 83084  	t["VcAgentUpgradeFailedEvent"] = reflect.TypeOf((*VcAgentUpgradeFailedEvent)(nil)).Elem()
 83085  }
 83086  
 83087  // This event records when the VirtualCenter agent on a host upgraded.
 83088  type VcAgentUpgradedEvent struct {
 83089  	HostEvent
 83090  }
 83091  
 83092  func init() {
 83093  	t["VcAgentUpgradedEvent"] = reflect.TypeOf((*VcAgentUpgradedEvent)(nil)).Elem()
 83094  }
 83095  
 83096  // The VchaClusterConfigInfo class contains
 83097  // configuration information of the three nodes of a VCHA
 83098  // Cluster.
 83099  type VchaClusterConfigInfo struct {
 83100  	DynamicData
 83101  
 83102  	// Node configuration information for the VCHA Cluster
 83103  	FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty" json:"failoverNodeInfo1,omitempty"`
 83104  	// Node configuration information for the VCHA Cluster
 83105  	FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty" json:"failoverNodeInfo2,omitempty"`
 83106  	// Node configuration information for the VCHA Cluster
 83107  	WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty" json:"witnessNodeInfo,omitempty"`
 83108  	// Current state of VCHA Cluster.
 83109  	//
 83110  	// `VchaState_enum` lists all
 83111  	// possible states.
 83112  	// If the state is invalid or notConfigured, the other fields in this
 83113  	// object will be unset.
 83114  	State string `xml:"state" json:"state"`
 83115  }
 83116  
 83117  func init() {
 83118  	t["VchaClusterConfigInfo"] = reflect.TypeOf((*VchaClusterConfigInfo)(nil)).Elem()
 83119  }
 83120  
 83121  // The VchaClusterConfigSpec class contains IP addresses of
 83122  // Passive and Witness nodes to configure and form the VCHA Cluster.
 83123  //
 83124  // Passive and Witness nodes are assumed to be pre-configured
 83125  // to allow access to them over the specified IP addresses.
 83126  // Active Node IP address is not required as it is retrieved from
 83127  // the already configured interface on VCHA Cluster network.
 83128  type VchaClusterConfigSpec struct {
 83129  	DynamicData
 83130  
 83131  	// IP Address of Passive node in the VCHA Cluster network.
 83132  	PassiveIp string `xml:"passiveIp" json:"passiveIp"`
 83133  	// IP Address of Witness node in the VCHA Cluster network.
 83134  	WitnessIp string `xml:"witnessIp" json:"witnessIp"`
 83135  }
 83136  
 83137  func init() {
 83138  	t["VchaClusterConfigSpec"] = reflect.TypeOf((*VchaClusterConfigSpec)(nil)).Elem()
 83139  }
 83140  
 83141  // The VchaClusterDeploymentSpec class contains
 83142  // deployment information for creating and configuring a VCHA Cluster.
 83143  type VchaClusterDeploymentSpec struct {
 83144  	DynamicData
 83145  
 83146  	// Deployment spec for the Passive node
 83147  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
 83148  	// Deployment spec for the Witness node
 83149  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
 83150  	// Active vCenter Server specification required to deploy
 83151  	// VCHA Cluster.
 83152  	ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec" json:"activeVcSpec"`
 83153  	// The Cluster network config spec allows creation and configuration of
 83154  	// the second Network adapter of the Active or Source VCenter.
 83155  	//
 83156  	// The second network adapter is used for communication between
 83157  	// the nodes of a VCHA cluster.
 83158  	ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty" json:"activeVcNetworkConfig,omitempty"`
 83159  }
 83160  
 83161  func init() {
 83162  	t["VchaClusterDeploymentSpec"] = reflect.TypeOf((*VchaClusterDeploymentSpec)(nil)).Elem()
 83163  }
 83164  
 83165  // The VchaClusterHealth class describes the overall
 83166  // VCHA Cluster health.
 83167  //
 83168  // Health information include the last known runtime
 83169  // information about the VCHA Cluster along with health messages and any
 83170  // additional information applicable to the current VCHA Cluster health.
 83171  // If the cluster state is healthy, there will not be any health messages
 83172  // or additional information provided.
 83173  type VchaClusterHealth struct {
 83174  	DynamicData
 83175  
 83176  	// Runtime information of the VCHA Cluster
 83177  	RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo" json:"runtimeInfo"`
 83178  	// A collection of Messages describing the reason for a non-healthy
 83179  	// Cluster.
 83180  	HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty" json:"healthMessages,omitempty"`
 83181  	// A collection of additional information regarding the health messages.
 83182  	AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty" json:"additionalInformation,omitempty"`
 83183  }
 83184  
 83185  func init() {
 83186  	t["VchaClusterHealth"] = reflect.TypeOf((*VchaClusterHealth)(nil)).Elem()
 83187  }
 83188  
 83189  // The VchaClusterNetworkSpec class contains network
 83190  // configuration information for a VCHA Cluster.
 83191  type VchaClusterNetworkSpec struct {
 83192  	DynamicData
 83193  
 83194  	// Network spec for the Witness node.
 83195  	WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr" json:"witnessNetworkSpec"`
 83196  	// Network spec for the Passive node.
 83197  	PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec" json:"passiveNetworkSpec"`
 83198  }
 83199  
 83200  func init() {
 83201  	t["VchaClusterNetworkSpec"] = reflect.TypeOf((*VchaClusterNetworkSpec)(nil)).Elem()
 83202  }
 83203  
 83204  // The VchaClusterRuntimeInfo class describes the
 83205  // runtime information of a VCHA Cluster.
 83206  //
 83207  // This includes the last known
 83208  // state of the cluster and last known states of each node.
 83209  type VchaClusterRuntimeInfo struct {
 83210  	DynamicData
 83211  
 83212  	// Last known state of the VCHA Cluster.
 83213  	//
 83214  	// `VchaClusterState` lists all possible states.
 83215  	ClusterState string `xml:"clusterState" json:"clusterState"`
 83216  	// Runtime information for each node in the VCHA Cluster.
 83217  	NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty" json:"nodeInfo,omitempty"`
 83218  	// Operational mode of the VCHA Cluster.
 83219  	//
 83220  	// `VchaClusterMode`
 83221  	// lists all possible modes.
 83222  	ClusterMode string `xml:"clusterMode" json:"clusterMode"`
 83223  }
 83224  
 83225  func init() {
 83226  	t["VchaClusterRuntimeInfo"] = reflect.TypeOf((*VchaClusterRuntimeInfo)(nil)).Elem()
 83227  }
 83228  
 83229  // The VchaNodeRuntimeInfo class describes a node's
 83230  // runtime information in a VCHA Cluster.
 83231  type VchaNodeRuntimeInfo struct {
 83232  	DynamicData
 83233  
 83234  	// Last known state of the node.
 83235  	//
 83236  	// `VchaNodeState`
 83237  	// lists all possible states.
 83238  	NodeState string `xml:"nodeState" json:"nodeState"`
 83239  	// Last known role of the node.
 83240  	//
 83241  	// `VchaNodeRole`
 83242  	// lists all possible roles.
 83243  	NodeRole string `xml:"nodeRole" json:"nodeRole"`
 83244  	// IP address for the node in the replication network.
 83245  	NodeIp string `xml:"nodeIp" json:"nodeIp"`
 83246  }
 83247  
 83248  func init() {
 83249  	t["VchaNodeRuntimeInfo"] = reflect.TypeOf((*VchaNodeRuntimeInfo)(nil)).Elem()
 83250  }
 83251  
 83252  // Password for the Vim account user on the host has been changed.
 83253  //
 83254  // This is an account created by VirtualCenter and used to manage the host.
 83255  type VimAccountPasswordChangedEvent struct {
 83256  	HostEvent
 83257  }
 83258  
 83259  func init() {
 83260  	t["VimAccountPasswordChangedEvent"] = reflect.TypeOf((*VimAccountPasswordChangedEvent)(nil)).Elem()
 83261  }
 83262  
 83263  // The common base type for all virtual infrastructure management
 83264  // exceptions.
 83265  type VimFault struct {
 83266  	MethodFault
 83267  }
 83268  
 83269  func init() {
 83270  	t["VimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem()
 83271  }
 83272  
 83273  type VimFaultFault BaseVimFault
 83274  
 83275  func init() {
 83276  	t["VimFaultFault"] = reflect.TypeOf((*VimFaultFault)(nil)).Elem()
 83277  }
 83278  
 83279  // Data object representing VASA Provider.
 83280  type VimVasaProvider struct {
 83281  	DynamicData
 83282  
 83283  	// Provider UID.
 83284  	//
 83285  	// This is populated with namespace prefixed to providerId,
 83286  	// which uniquely identifies a VASA Provider. Both namespace and providerId
 83287  	// are sourced from Vasa Provider and available within SMS. This field
 83288  	// helps in preventing a regeneration of duplicate VASA Provider within
 83289  	// vvold when a user attempts to register the same VP using different names
 83290  	// or alternative urls.
 83291  	Uid string `xml:"uid,omitempty" json:"uid,omitempty"`
 83292  	// VASA Provider URL.
 83293  	//
 83294  	// In VirtualHost based MultiVC setup,
 83295  	// this is set to default virtual host's URL.
 83296  	Url string `xml:"url" json:"url"`
 83297  	// Name
 83298  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 83299  	// Self-signed certificate of VASA provider.
 83300  	//
 83301  	// In VirtualHost based MultiVC setup,
 83302  	// this is set to default virtual host's self-signed certificate.
 83303  	SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty" json:"selfSignedCertificate,omitempty"`
 83304  	// Virtual host configuration for VASA Provider when it supports MultiVC
 83305  	// through VirtualHosts.
 83306  	VhostConfig *VimVasaProviderVirtualHostConfig `xml:"vhostConfig,omitempty" json:"vhostConfig,omitempty" vim:"8.0.1.0"`
 83307  	// SMS supported VASA provider versionId.
 83308  	//
 83309  	// i-e if versionX corresponds to VASA version supported
 83310  	// by SMS, then X needs to be set here.
 83311  	// versionX corresponds to SMS supported VASA versions are, 1.0-&gt;version1, 1.5-&gt;version2,
 83312  	// 2.0-&gt;version3, 3.0-&gt;version4, 3.5-&gt;version5, 4.0-&gt;version6, 5.0-&gt;version7, etc.
 83313  	// For example: If SMS is connecting to VASA 5.0, the this field should be set to 7.
 83314  	VersionId int32 `xml:"versionId,omitempty" json:"versionId,omitempty" vim:"8.0.1.0"`
 83315  }
 83316  
 83317  func init() {
 83318  	t["VimVasaProvider"] = reflect.TypeOf((*VimVasaProvider)(nil)).Elem()
 83319  }
 83320  
 83321  // Data object representing VASA Provider information.
 83322  type VimVasaProviderInfo struct {
 83323  	DynamicData
 83324  
 83325  	// Vasa provider
 83326  	Provider VimVasaProvider `xml:"provider" json:"provider"`
 83327  	// Per-array State
 83328  	ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty" json:"arrayState,omitempty"`
 83329  }
 83330  
 83331  func init() {
 83332  	t["VimVasaProviderInfo"] = reflect.TypeOf((*VimVasaProviderInfo)(nil)).Elem()
 83333  }
 83334  
 83335  // Per Storage Array VP status.
 83336  type VimVasaProviderStatePerArray struct {
 83337  	DynamicData
 83338  
 83339  	// Priority of the provider for the given array
 83340  	Priority int32 `xml:"priority" json:"priority"`
 83341  	// Storage Array object Id
 83342  	ArrayId string `xml:"arrayId" json:"arrayId"`
 83343  	// Indicates whether a VASA Provider (`VimVasaProvider.url`) is active
 83344  	// for the specified storage array.
 83345  	Active bool `xml:"active" json:"active"`
 83346  }
 83347  
 83348  func init() {
 83349  	t["VimVasaProviderStatePerArray"] = reflect.TypeOf((*VimVasaProviderStatePerArray)(nil)).Elem()
 83350  }
 83351  
 83352  // Holds VirtualHost configuration information when VASA 5.0 or greater VVOL VASA Provider
 83353  // supports MultiVC through VirtualHosts.
 83354  type VimVasaProviderVirtualHostConfig struct {
 83355  	DynamicData
 83356  
 83357  	// Virtual Host FQDN on VASA Provider.
 83358  	//
 83359  	// If set, it's
 83360  	// used as SNI hostname in outgoing VASA Provider connection.
 83361  	VhostName string `xml:"vhostName,omitempty" json:"vhostName,omitempty"`
 83362  	// IP address where Virtual Host is running
 83363  	ServiceHost string `xml:"serviceHost" json:"serviceHost"`
 83364  	// Dedicated port for the virtual host.
 83365  	//
 83366  	// If not specified, default VirtualHost port is used to
 83367  	// communicate with VASA Provider.
 83368  	ServicePort int32 `xml:"servicePort,omitempty" json:"servicePort,omitempty"`
 83369  }
 83370  
 83371  func init() {
 83372  	t["VimVasaProviderVirtualHostConfig"] = reflect.TypeOf((*VimVasaProviderVirtualHostConfig)(nil)).Elem()
 83373  	minAPIVersionForType["VimVasaProviderVirtualHostConfig"] = "8.0.1.0"
 83374  }
 83375  
 83376  // The VirtualAHCIController data object type represents
 83377  // an AHCI SATA controller in a virtual machine.
 83378  type VirtualAHCIController struct {
 83379  	VirtualSATAController
 83380  }
 83381  
 83382  func init() {
 83383  	t["VirtualAHCIController"] = reflect.TypeOf((*VirtualAHCIController)(nil)).Elem()
 83384  }
 83385  
 83386  // VirtualAHCIControllerOption is the data object that contains
 83387  // the options for an AHCI SATA controller.
 83388  type VirtualAHCIControllerOption struct {
 83389  	VirtualSATAControllerOption
 83390  }
 83391  
 83392  func init() {
 83393  	t["VirtualAHCIControllerOption"] = reflect.TypeOf((*VirtualAHCIControllerOption)(nil)).Elem()
 83394  }
 83395  
 83396  // A VAppImportSpec is used by `ResourcePool.importVApp` when importing vApps (single VM or multi-VM).
 83397  //
 83398  // It provides all information needed to import a `VirtualApp`.
 83399  //
 83400  // See also `ImportSpec`.
 83401  type VirtualAppImportSpec struct {
 83402  	ImportSpec
 83403  
 83404  	// The name of the vApp
 83405  	Name string `xml:"name" json:"name"`
 83406  	// vApp configuration
 83407  	VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec" json:"vAppConfigSpec"`
 83408  	// Resource pool specification.
 83409  	//
 83410  	// If resourcePoolSpec.entity is specified, that resource pool is used as the parent
 83411  	// resource pool and the vApp will be made a linked child to the parent vApp. This
 83412  	// field is ignored for the root node in an ImportSpec tree.
 83413  	// Use of resourcePoolSpec.entity for creating linked children is deprecated as of
 83414  	// vSphere API 5.1.
 83415  	ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec" json:"resourcePoolSpec"`
 83416  	// Contains a list of children (`VirtualMachine`s and
 83417  	// `VirtualApp`s).
 83418  	Child []BaseImportSpec `xml:"child,omitempty,typeattr" json:"child,omitempty"`
 83419  }
 83420  
 83421  func init() {
 83422  	t["VirtualAppImportSpec"] = reflect.TypeOf((*VirtualAppImportSpec)(nil)).Elem()
 83423  }
 83424  
 83425  // Deprecated as of vSphere API 5.1.
 83426  //
 83427  // Linked child information.
 83428  type VirtualAppLinkInfo struct {
 83429  	DynamicData
 83430  
 83431  	// The key contains a reference to the entity that is linked to this vApp
 83432  	//
 83433  	// Refers instance of `ManagedEntity`.
 83434  	Key ManagedObjectReference `xml:"key" json:"key"`
 83435  	// Whether the entity should be removed, when this vApp is removed
 83436  	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
 83437  }
 83438  
 83439  func init() {
 83440  	t["VirtualAppLinkInfo"] = reflect.TypeOf((*VirtualAppLinkInfo)(nil)).Elem()
 83441  }
 83442  
 83443  // This data object type encapsulates a typical set of resource
 83444  // pool information that is useful for list views and summary pages.
 83445  type VirtualAppSummary struct {
 83446  	ResourcePoolSummary
 83447  
 83448  	// Product information.
 83449  	//
 83450  	// References to properties in the URLs are expanded.
 83451  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 83452  	// Whether the vApp is running
 83453  	VAppState VirtualAppVAppState `xml:"vAppState,omitempty" json:"vAppState,omitempty"`
 83454  	// Whether a vApp is suspended, in the process of being suspended, or in the
 83455  	// process of being resumed.
 83456  	//
 83457  	// A stopped vApp is marked as suspended
 83458  	// under the following conditions:
 83459  	//   - All child virtual machines are either suspended or powered-off.
 83460  	//   - There is at least one suspended virtual machine for which the
 83461  	//     stop action is not "suspend".
 83462  	//
 83463  	// If the vAppState property is "stopped", the value is set to true if the vApp is
 83464  	// suspended (according the the above definition).
 83465  	//
 83466  	// If the vAppState property is "stopping" or "starting" and the suspend flag is set to
 83467  	// true, then the vApp is either in the process of being suspended or resumed
 83468  	// from a suspended state, respectively.
 83469  	//
 83470  	// If the vAppState property is "started", then the suspend flag is set to false.
 83471  	Suspended *bool `xml:"suspended" json:"suspended,omitempty"`
 83472  	// Whether one or more VMs in this vApp require a reboot to finish
 83473  	// installation.
 83474  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 83475  	// vCenter-specific UUID of the vApp
 83476  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 83477  }
 83478  
 83479  func init() {
 83480  	t["VirtualAppSummary"] = reflect.TypeOf((*VirtualAppSummary)(nil)).Elem()
 83481  }
 83482  
 83483  // VirtualBusLogicController is the data object that represents
 83484  // a BusLogic SCSI controller.
 83485  type VirtualBusLogicController struct {
 83486  	VirtualSCSIController
 83487  }
 83488  
 83489  func init() {
 83490  	t["VirtualBusLogicController"] = reflect.TypeOf((*VirtualBusLogicController)(nil)).Elem()
 83491  }
 83492  
 83493  // This data object contains
 83494  // the options for a BusLogic SCSI controller.
 83495  type VirtualBusLogicControllerOption struct {
 83496  	VirtualSCSIControllerOption
 83497  }
 83498  
 83499  func init() {
 83500  	t["VirtualBusLogicControllerOption"] = reflect.TypeOf((*VirtualBusLogicControllerOption)(nil)).Elem()
 83501  }
 83502  
 83503  // The VirtualCdrom data object type describes the configuration of a CD-ROM device
 83504  // in a virtual machine.
 83505  type VirtualCdrom struct {
 83506  	VirtualDevice
 83507  }
 83508  
 83509  func init() {
 83510  	t["VirtualCdrom"] = reflect.TypeOf((*VirtualCdrom)(nil)).Elem()
 83511  }
 83512  
 83513  // The VirtualCdrom.AtapiBackingInfo data object type
 83514  // represents an ATAPI device backing for a virtual CD-ROM.
 83515  type VirtualCdromAtapiBackingInfo struct {
 83516  	VirtualDeviceDeviceBackingInfo
 83517  }
 83518  
 83519  func init() {
 83520  	t["VirtualCdromAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromAtapiBackingInfo)(nil)).Elem()
 83521  }
 83522  
 83523  // The VirtualCdromOption.AtapiBackingOption data object type
 83524  // contains the options for the ATAPI CD-ROM device backing.
 83525  type VirtualCdromAtapiBackingOption struct {
 83526  	VirtualDeviceDeviceBackingOption
 83527  }
 83528  
 83529  func init() {
 83530  	t["VirtualCdromAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromAtapiBackingOption)(nil)).Elem()
 83531  }
 83532  
 83533  // The VirtualCdrom.IsoBackingInfo data class represents
 83534  // an ISO backing for a virtual CD-ROM.
 83535  type VirtualCdromIsoBackingInfo struct {
 83536  	VirtualDeviceFileBackingInfo
 83537  }
 83538  
 83539  func init() {
 83540  	t["VirtualCdromIsoBackingInfo"] = reflect.TypeOf((*VirtualCdromIsoBackingInfo)(nil)).Elem()
 83541  }
 83542  
 83543  // The VirtualCdromOption.IsoBackingOption data object type contains
 83544  // the options for an ISO image backing.
 83545  type VirtualCdromIsoBackingOption struct {
 83546  	VirtualDeviceFileBackingOption
 83547  }
 83548  
 83549  func init() {
 83550  	t["VirtualCdromIsoBackingOption"] = reflect.TypeOf((*VirtualCdromIsoBackingOption)(nil)).Elem()
 83551  }
 83552  
 83553  // The VirtualCdromOption data object type contains the options for the
 83554  // virtual CD-ROM class.
 83555  type VirtualCdromOption struct {
 83556  	VirtualDeviceOption
 83557  }
 83558  
 83559  func init() {
 83560  	t["VirtualCdromOption"] = reflect.TypeOf((*VirtualCdromOption)(nil)).Elem()
 83561  }
 83562  
 83563  // The VirtualCdrom.PassthroughBackingInfo data class
 83564  // represents a device pass-through backing for a
 83565  // virtual CD-ROM.
 83566  type VirtualCdromPassthroughBackingInfo struct {
 83567  	VirtualDeviceDeviceBackingInfo
 83568  
 83569  	// Flag to indicate whether or not the virtual machine has
 83570  	// exclusive CD-ROM device access.
 83571  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 83572  }
 83573  
 83574  func init() {
 83575  	t["VirtualCdromPassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromPassthroughBackingInfo)(nil)).Elem()
 83576  }
 83577  
 83578  // The VirtualCdromOption.PassthroughBackingOption data object type
 83579  // contains the options for a pass-through CD-ROM device backing.
 83580  type VirtualCdromPassthroughBackingOption struct {
 83581  	VirtualDeviceDeviceBackingOption
 83582  
 83583  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 83584  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 83585  }
 83586  
 83587  func init() {
 83588  	t["VirtualCdromPassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromPassthroughBackingOption)(nil)).Elem()
 83589  }
 83590  
 83591  // The VirtualCdrom.RemoteAtapiBackingInfo data class
 83592  // represents a remote ATAPI device backing for a virtual CD-ROM.
 83593  type VirtualCdromRemoteAtapiBackingInfo struct {
 83594  	VirtualDeviceRemoteDeviceBackingInfo
 83595  }
 83596  
 83597  func init() {
 83598  	t["VirtualCdromRemoteAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingInfo)(nil)).Elem()
 83599  }
 83600  
 83601  // The VirtualCdromOption.RemoteAtapiBackingOption data object type
 83602  // contains the options for the remote ATAPI CD-ROM device backing.
 83603  //
 83604  // Note that the server cannot present a list of valid remote backing devices
 83605  // because it is unable to scan remote hosts.
 83606  type VirtualCdromRemoteAtapiBackingOption struct {
 83607  	VirtualDeviceDeviceBackingOption
 83608  }
 83609  
 83610  func init() {
 83611  	t["VirtualCdromRemoteAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingOption)(nil)).Elem()
 83612  }
 83613  
 83614  // The VirtualCdrom.RemotePassthroughBackingInfo data object type
 83615  // contains the information to specify a remote pass-through device
 83616  // backing of a virtual CD-ROM.
 83617  type VirtualCdromRemotePassthroughBackingInfo struct {
 83618  	VirtualDeviceRemoteDeviceBackingInfo
 83619  
 83620  	// Flag to indicate whether or not the virtual machine
 83621  	// has exclusive access to the CD-ROM device.
 83622  	Exclusive bool `xml:"exclusive" json:"exclusive"`
 83623  }
 83624  
 83625  func init() {
 83626  	t["VirtualCdromRemotePassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingInfo)(nil)).Elem()
 83627  }
 83628  
 83629  // The VirtualCdromOption.RemotePassthroughBackingOption data object type
 83630  // contains the options for a remote pass-through CD-ROM device backing.
 83631  //
 83632  // Note that the server cannot present a list of valid remote backing devices
 83633  // because it is unable to scan remote hosts.
 83634  type VirtualCdromRemotePassthroughBackingOption struct {
 83635  	VirtualDeviceRemoteDeviceBackingOption
 83636  
 83637  	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
 83638  	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
 83639  }
 83640  
 83641  func init() {
 83642  	t["VirtualCdromRemotePassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingOption)(nil)).Elem()
 83643  }
 83644  
 83645  // VirtualController is the base data object type for a device controller in
 83646  // a virtual machine.
 83647  //
 83648  // VirtualController extends
 83649  // `VirtualDevice` to inherit
 83650  // general information about a controller (such as name and description), and to allow
 83651  // controllers to appear in a generic list of virtual devices.
 83652  type VirtualController struct {
 83653  	VirtualDevice
 83654  
 83655  	// Bus number associated with this controller.
 83656  	BusNumber int32 `xml:"busNumber" json:"busNumber"`
 83657  	// List of devices currently controlled by this controller.
 83658  	//
 83659  	// Each entry contains the `VirtualDevice.key` property of the
 83660  	// corresponding device object.
 83661  	Device []int32 `xml:"device,omitempty" json:"device,omitempty"`
 83662  }
 83663  
 83664  func init() {
 83665  	t["VirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem()
 83666  }
 83667  
 83668  // The VirtualControllerOption data object type contains information about
 83669  // a virtual controller type.
 83670  type VirtualControllerOption struct {
 83671  	VirtualDeviceOption
 83672  
 83673  	// The minimum and maximum number of devices this controller can control
 83674  	// at run time.
 83675  	Devices IntOption `xml:"devices" json:"devices"`
 83676  	// Array of supported device options for this controller.
 83677  	SupportedDevice []string `xml:"supportedDevice,omitempty" json:"supportedDevice,omitempty"`
 83678  }
 83679  
 83680  func init() {
 83681  	t["VirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem()
 83682  }
 83683  
 83684  // VirtualDevice is the base data object type for devices in a virtual machine.
 83685  //
 83686  // This type contains enough information about a virtual device to allow clients
 83687  // to display devices they do not recognize. For example, a client with an
 83688  // older version than the server to which it connects may see a device
 83689  // without knowing what it is.
 83690  type VirtualDevice struct {
 83691  	DynamicData
 83692  
 83693  	// A unique key that distinguishes this device from other
 83694  	// devices in the same virtual machine.
 83695  	//
 83696  	// Keys are immutable but may be
 83697  	// recycled; that is, a key does not change as long as the device is
 83698  	// associated with a particular virtual machine. However, once a device is
 83699  	// removed, its key may be used when another device is added.
 83700  	//
 83701  	// This property is not read-only, but the client cannot control its value.
 83702  	// Persistent device keys are always assigned and managed by the server, which
 83703  	// guarantees that all devices will have non-negative key values.
 83704  	//
 83705  	// When adding new devices, it may be necessary for a client to assign keys
 83706  	// temporarily in order to associate controllers with devices in
 83707  	// configuring a virtual machine. However, the server does not allow a
 83708  	// client to reassign a device key, and the server may assign a different
 83709  	// value from the one passed during configuration. Clients should ensure
 83710  	// that existing device keys are not reused as temporary key values for the
 83711  	// new device to be added (for example, by using unique negative integers as
 83712  	// temporary keys).
 83713  	//
 83714  	// When editing or deleting a device, clients must use the server-provided key
 83715  	// to refer to an existing device.
 83716  	Key int32 `xml:"key" json:"key"`
 83717  	// Provides a label and summary information for the device.
 83718  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 83719  	// Information about the backing of this virtual device presented
 83720  	// in the context of the virtual machine's environment.
 83721  	//
 83722  	// Not all devices are required to have backing information.
 83723  	//
 83724  	// See also `VirtualMachineConfigOption`.
 83725  	Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
 83726  	// Provides information about restrictions on removing this device while
 83727  	// a virtual machine is running.
 83728  	//
 83729  	// If the device is not removable, then
 83730  	// this property is null.
 83731  	Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty" json:"connectable,omitempty"`
 83732  	// Information about the bus slot of a device in a virtual machine.
 83733  	SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr" json:"slotInfo,omitempty"`
 83734  	// Object key for the controller object for this device.
 83735  	//
 83736  	// This property contains the key property value of the controller device
 83737  	// object.
 83738  	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
 83739  	// The unit number of this device on its controller.
 83740  	//
 83741  	// This property is null if
 83742  	// the controller property is null (for example, when the device is not
 83743  	// attached to a specific controller object).
 83744  	//
 83745  	// Normally, two devices on the same controller
 83746  	// may not be assigned the same unit number. If
 83747  	// multiple devices could exist on a controller,
 83748  	// then unit number has to be specified to
 83749  	// configure respective devices.
 83750  	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
 83751  	// The virtual NUMA node.
 83752  	//
 83753  	// A negative number means there is no
 83754  	// affinity for the device. A positive number is a vNUMA node.
 83755  	// An unset value of numaNode is status-quo during Reconfigure time.
 83756  	// If numaNode is unset during ConfigInfo, then it means there is no
 83757  	// affinity for the device.
 83758  	NumaNode int32 `xml:"numaNode,omitempty" json:"numaNode,omitempty" vim:"8.0.0.1"`
 83759  	// Information about device group device is part of.
 83760  	//
 83761  	// Devices in the device group cannot be added/removed individually,
 83762  	// whole group has to be added/removed at once. Value can be set
 83763  	// during device add, it cannot be modified later.
 83764  	DeviceGroupInfo *VirtualDeviceDeviceGroupInfo `xml:"deviceGroupInfo,omitempty" json:"deviceGroupInfo,omitempty" vim:"8.0.0.1"`
 83765  }
 83766  
 83767  func init() {
 83768  	t["VirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem()
 83769  }
 83770  
 83771  // <code>`VirtualDeviceBackingInfo`</code> is a base data object type
 83772  // for information about the backing of a device in a virtual machine.
 83773  //
 83774  // This base type does not define any properties. It is used as a namespace
 83775  // for general-purpose subtypes. Specific devices are represented by subtypes
 83776  // which define properties for device-specific backing information.
 83777  type VirtualDeviceBackingInfo struct {
 83778  	DynamicData
 83779  }
 83780  
 83781  func init() {
 83782  	t["VirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem()
 83783  }
 83784  
 83785  // The `VirtualDeviceBackingOption` data class
 83786  // defines options for device-specific virtual backing objects.
 83787  type VirtualDeviceBackingOption struct {
 83788  	DynamicData
 83789  
 83790  	// The name of the class the client should use to instantiate backing
 83791  	// for the virtual device.
 83792  	Type string `xml:"type" json:"type"`
 83793  }
 83794  
 83795  func init() {
 83796  	t["VirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem()
 83797  }
 83798  
 83799  // <code>`VirtualDeviceBusSlotInfo`</code> is a base data object type
 83800  // for information about device connection to its bus.
 83801  //
 83802  // This base type does not
 83803  // define any properties. It is used as a namespace for general-purpose subtypes.
 83804  // Specific devices types are represented by subtypes which define properties for
 83805  // device-specific backing information.
 83806  type VirtualDeviceBusSlotInfo struct {
 83807  	DynamicData
 83808  }
 83809  
 83810  func init() {
 83811  	t["VirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem()
 83812  }
 83813  
 83814  // The `VirtualDeviceBusSlotOption` data class
 83815  // defines options for device-specific bus slot objects.
 83816  type VirtualDeviceBusSlotOption struct {
 83817  	DynamicData
 83818  
 83819  	// The name of the class the client should use to instantiate bus slot
 83820  	// object for the virtual device.
 83821  	Type string `xml:"type" json:"type"`
 83822  }
 83823  
 83824  func init() {
 83825  	t["VirtualDeviceBusSlotOption"] = reflect.TypeOf((*VirtualDeviceBusSlotOption)(nil)).Elem()
 83826  }
 83827  
 83828  // The VirtualDeviceSpec data object type encapsulates change
 83829  // specifications for an individual virtual device.
 83830  //
 83831  // The virtual
 83832  // device being added or modified must be fully specified.
 83833  type VirtualDeviceConfigSpec struct {
 83834  	DynamicData
 83835  
 83836  	// Type of operation being performed on the specified virtual device.
 83837  	//
 83838  	// If no operation is specified, the spec. is ignored.
 83839  	Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty" json:"operation,omitempty"`
 83840  	// Type of operation being performed on the backing
 83841  	// of the specified virtual device.
 83842  	//
 83843  	// If no file operation is specified in the VirtualDeviceSpec,
 83844  	// then any backing filenames in the
 83845  	// `VirtualDevice`
 83846  	// must refer to files that already exist.
 83847  	// The "replace" and "delete" values for this property are only
 83848  	// applicable to virtual disk backing files.
 83849  	FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty" json:"fileOperation,omitempty"`
 83850  	// Device specification, with all necessary properties set.
 83851  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 83852  	// Virtual Device Profile requirement.
 83853  	//
 83854  	// Profiles are solution specifics.
 83855  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 83856  	// The API users who want to provision VMs using Storage Profiles, need to
 83857  	// interact with SPBM service.
 83858  	// This is an optional parameter and if user doesn't specify profile,
 83859  	// the default behavior will apply.
 83860  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 83861  	// BackingInfo configuration options.
 83862  	//
 83863  	// Each BackingSpec corresponds to a BackingInfo object. The member
 83864  	// `VirtualDeviceConfigSpec.backing` refers to the
 83865  	// `VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`.
 83866  	Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty" json:"backing,omitempty"`
 83867  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 83868  	// to configure on the virtual device.
 83869  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 83870  	// The change mode of the device.
 83871  	//
 83872  	// The values of the mode will be one of `VirtualDeviceConfigSpecChangeMode_enum` enumerations.
 83873  	// On unset, default to 'fail'.
 83874  	ChangeMode string `xml:"changeMode,omitempty" json:"changeMode,omitempty" vim:"8.0.0.1"`
 83875  }
 83876  
 83877  func init() {
 83878  	t["VirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem()
 83879  }
 83880  
 83881  // <code>`VirtualDeviceConfigSpecBackingSpec`</code> is a data object
 83882  // type for information about configuration of the backing of a device
 83883  // in a virtual machine.
 83884  //
 83885  // The member `VirtualDeviceConfigSpecBackingSpec.parent` refers the parent in the chain of
 83886  // `VirtualDeviceBackingInfo` objects.
 83887  type VirtualDeviceConfigSpecBackingSpec struct {
 83888  	DynamicData
 83889  
 83890  	Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 83891  	Crypto BaseCryptoSpec                      `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 83892  }
 83893  
 83894  func init() {
 83895  	t["VirtualDeviceConfigSpecBackingSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpecBackingSpec)(nil)).Elem()
 83896  }
 83897  
 83898  // The <code>`VirtualDeviceConnectInfo`</code> data object type
 83899  // contains information about connectable virtual devices.
 83900  type VirtualDeviceConnectInfo struct {
 83901  	DynamicData
 83902  
 83903  	// Specifies whether the virtual machine should override the
 83904  	// virtual device connection state upon the completion of a
 83905  	// migration.
 83906  	//
 83907  	// At this time, this property is only applicable to instant
 83908  	// clone operations, and will be ignored for other migration
 83909  	// types. The property is also only valid with
 83910  	// VirtualEthernetCards, and any attempt to set this property
 83911  	// on an unsupported device will result in an error.
 83912  	// This property will persist only until the virtual machine
 83913  	// undergoes a supported migration, at which point it will be
 83914  	// consumed and unset on the destination virtual machine,
 83915  	// preventing the property from affecting future migrations.
 83916  	// The migration's success is not dependent on whether the device
 83917  	// reaches the desired connection state.
 83918  	// The set of possible values are described in
 83919  	// `VirtualDeviceConnectInfoMigrateConnectOp_enum`.
 83920  	MigrateConnect string `xml:"migrateConnect,omitempty" json:"migrateConnect,omitempty"`
 83921  	// Specifies whether or not to connect the device
 83922  	// when the virtual machine starts.
 83923  	StartConnected bool `xml:"startConnected" json:"startConnected"`
 83924  	// Enables guest control over whether the connectable device is
 83925  	// connected.
 83926  	AllowGuestControl bool `xml:"allowGuestControl" json:"allowGuestControl"`
 83927  	// Indicates whether the device is currently connected.
 83928  	//
 83929  	// Valid only while the virtual machine is running.
 83930  	Connected bool `xml:"connected" json:"connected"`
 83931  	// Indicates the current status of the connectable device.
 83932  	//
 83933  	// Valid only while the
 83934  	// virtual machine is running. The set of possible values is described in
 83935  	// `VirtualDeviceConnectInfoStatus_enum`
 83936  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 83937  }
 83938  
 83939  func init() {
 83940  	t["VirtualDeviceConnectInfo"] = reflect.TypeOf((*VirtualDeviceConnectInfo)(nil)).Elem()
 83941  }
 83942  
 83943  // The ConnectOption data object type contains information about options for
 83944  // connectable virtual devices.
 83945  type VirtualDeviceConnectOption struct {
 83946  	DynamicData
 83947  
 83948  	// Flag to indicate whether or not the device supports
 83949  	// the startConnected feature.
 83950  	StartConnected BoolOption `xml:"startConnected" json:"startConnected"`
 83951  	// Flag to indicate whether or not the device can be
 83952  	// connected and disconnected from within the guest operating system.
 83953  	AllowGuestControl BoolOption `xml:"allowGuestControl" json:"allowGuestControl"`
 83954  }
 83955  
 83956  func init() {
 83957  	t["VirtualDeviceConnectOption"] = reflect.TypeOf((*VirtualDeviceConnectOption)(nil)).Elem()
 83958  }
 83959  
 83960  // The <code>`VirtualDeviceDeviceBackingInfo`</code> data object type
 83961  // defines information about a host device or resource that backs a device
 83962  // in a virtual machine.
 83963  type VirtualDeviceDeviceBackingInfo struct {
 83964  	VirtualDeviceBackingInfo
 83965  
 83966  	// The name of the device on the host system.
 83967  	DeviceName string `xml:"deviceName" json:"deviceName"`
 83968  	// Indicates whether the device should be auto detected
 83969  	// instead of directly specified.
 83970  	//
 83971  	// If this value is set to TRUE,
 83972  	// deviceName is ignored.
 83973  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 83974  }
 83975  
 83976  func init() {
 83977  	t["VirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem()
 83978  }
 83979  
 83980  // The DeviceBackingOption data class contains device-specific backing options.
 83981  type VirtualDeviceDeviceBackingOption struct {
 83982  	VirtualDeviceBackingOption
 83983  
 83984  	// Flag to indicate whether the specific instance of this device can
 83985  	// be auto-detected on the host instead of having to specify a
 83986  	// particular physical device.
 83987  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable"`
 83988  }
 83989  
 83990  func init() {
 83991  	t["VirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem()
 83992  }
 83993  
 83994  // <code>`VirtualDeviceDeviceGroupInfo`</code> contains information
 83995  // about the device group device is assigned to.
 83996  type VirtualDeviceDeviceGroupInfo struct {
 83997  	DynamicData
 83998  
 83999  	// Device group instance key from
 84000  	// <code>`VirtualMachineVirtualDeviceGroupsDeviceGroup`</code>.
 84001  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 84002  	// Device sequence in the group.
 84003  	//
 84004  	// Small unique positive integer obtained
 84005  	// from <code>`VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo.device`</code>
 84006  	// template.
 84007  	SequenceId int32 `xml:"sequenceId" json:"sequenceId"`
 84008  }
 84009  
 84010  func init() {
 84011  	t["VirtualDeviceDeviceGroupInfo"] = reflect.TypeOf((*VirtualDeviceDeviceGroupInfo)(nil)).Elem()
 84012  	minAPIVersionForType["VirtualDeviceDeviceGroupInfo"] = "8.0.0.1"
 84013  }
 84014  
 84015  // <code>`VirtualDeviceFileBackingInfo`</code> is a data object type
 84016  // for information about file backing for a device in a virtual machine.
 84017  type VirtualDeviceFileBackingInfo struct {
 84018  	VirtualDeviceBackingInfo
 84019  
 84020  	// Filename for the host file used in this backing.
 84021  	FileName string `xml:"fileName" json:"fileName"`
 84022  	// Reference to the datastore managed object where this file is stored.
 84023  	//
 84024  	// If the file is not located on a datastore, then this reference is null.
 84025  	// This is not used for configuration.
 84026  	//
 84027  	// Refers instance of `Datastore`.
 84028  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 84029  	// Backing object's durable and unmutable identifier.
 84030  	//
 84031  	// Each backing object has a unique identifier which is not settable.
 84032  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 84033  }
 84034  
 84035  func init() {
 84036  	t["VirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem()
 84037  }
 84038  
 84039  // The FileBackingOption data class contains file-specific backing options.
 84040  type VirtualDeviceFileBackingOption struct {
 84041  	VirtualDeviceBackingOption
 84042  
 84043  	// Valid filename extension for the filename.
 84044  	//
 84045  	// If no extensions are present, any file extension is acceptable.
 84046  	FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty" json:"fileNameExtensions,omitempty"`
 84047  }
 84048  
 84049  func init() {
 84050  	t["VirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem()
 84051  }
 84052  
 84053  // The VirtualDeviceOption data object type contains information about
 84054  // a virtual device type, the options for configuring the virtual device,
 84055  // and the relationship between this virtual device and other devices.
 84056  //
 84057  // The vSphere API groups device configurations that are mutually exclusive
 84058  // into different configuration objects; each of these configuration objects
 84059  // may define subtypes for virtual device backing options
 84060  // that are independent of the virtual device.
 84061  // Backing-dependent options should appear in a subtype of
 84062  // `VirtualDeviceBackingOption`.
 84063  type VirtualDeviceOption struct {
 84064  	DynamicData
 84065  
 84066  	// The name of the run-time class the client should instantiate
 84067  	// to create a run-time instance of this device.
 84068  	Type string `xml:"type" json:"type"`
 84069  	// If the device is connectable, then the connectOption
 84070  	// describes the connect options and defaults.
 84071  	ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty" json:"connectOption,omitempty"`
 84072  	// If the device can use a bus slot configuration, then the busSlotOption
 84073  	// describes the bus slot options.
 84074  	BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty" json:"busSlotOption,omitempty"`
 84075  	// Data object type that denotes the controller option object that is
 84076  	// valid for controlling this device.
 84077  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 84078  	// Flag to indicate whether or not this device will be auto-assigned a controller
 84079  	// if one is required.
 84080  	//
 84081  	// If this is true, then a client need not explicitly create
 84082  	// the controller that this device will plug into.
 84083  	AutoAssignController *BoolOption `xml:"autoAssignController,omitempty" json:"autoAssignController,omitempty"`
 84084  	// A list of backing options that can be used to map the virtual
 84085  	// device to the host.
 84086  	//
 84087  	// The list is optional, since some devices exist only within
 84088  	// the virtual machine; for example, a VirtualController.
 84089  	BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr" json:"backingOption,omitempty"`
 84090  	// Index into the backingOption list, indicating the default backing.
 84091  	DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty" json:"defaultBackingOptionIndex,omitempty"`
 84092  	// List of property names enforced by a licensing restriction
 84093  	// of the underlying product.
 84094  	//
 84095  	// For example, a limit that is not
 84096  	// derived based on the product or hardware features; the
 84097  	// property name "numCPU".
 84098  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 84099  	// Indicates whether this device is deprecated.
 84100  	//
 84101  	// Hence, if set the device
 84102  	// cannot be used when creating a new virtual machine or be added to an existing
 84103  	// virtual machine. However, the device is still supported by the platform.
 84104  	Deprecated bool `xml:"deprecated" json:"deprecated"`
 84105  	// Indicates if this type of device can be hot-added to the virtual machine
 84106  	// via a reconfigure operation when the virtual machine is powered on.
 84107  	PlugAndPlay bool `xml:"plugAndPlay" json:"plugAndPlay"`
 84108  	// Indicates if this type of device can be hot-removed from the virtual machine
 84109  	// via a reconfigure operation when the virtual machine is powered on.
 84110  	HotRemoveSupported *bool `xml:"hotRemoveSupported" json:"hotRemoveSupported,omitempty"`
 84111  	NumaSupported      *bool `xml:"numaSupported" json:"numaSupported,omitempty" vim:"8.0.0.1"`
 84112  }
 84113  
 84114  func init() {
 84115  	t["VirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem()
 84116  }
 84117  
 84118  // The <code>`VirtualDevicePciBusSlotInfo`</code> data object type
 84119  // defines information about a pci bus slot of pci device in a virtual machine.
 84120  type VirtualDevicePciBusSlotInfo struct {
 84121  	VirtualDeviceBusSlotInfo
 84122  
 84123  	// The pci slot number of the virtual device.
 84124  	//
 84125  	// The pci slot number assignment should generally be left to the system.
 84126  	// If assigned a value, and the value is invalid or duplicated, it will
 84127  	// automatically be reassigned. This will not cause an error.
 84128  	//
 84129  	// Generally, the PCI slot numbers should never be specified in an
 84130  	// Reconfigure operation, and only in a CreateVM operation if i) they
 84131  	// are specified for all devices, and ii) the numbers have been
 84132  	// determined by looking at an existing VM configuration of similar
 84133  	// hardware version. In other words, when the virtual hardware configuration
 84134  	// is duplicated.
 84135  	PciSlotNumber int32 `xml:"pciSlotNumber" json:"pciSlotNumber"`
 84136  }
 84137  
 84138  func init() {
 84139  	t["VirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem()
 84140  }
 84141  
 84142  // The <code>`VirtualDevicePipeBackingInfo`</code> data object type
 84143  // defines information for using a named pipe as backing for a device
 84144  // in a virtual machine.
 84145  type VirtualDevicePipeBackingInfo struct {
 84146  	VirtualDeviceBackingInfo
 84147  
 84148  	// Pipe name for the host pipe associated with this backing.
 84149  	PipeName string `xml:"pipeName" json:"pipeName"`
 84150  }
 84151  
 84152  func init() {
 84153  	t["VirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem()
 84154  }
 84155  
 84156  // The <code>`VirtualDevicePipeBackingOption`</code> data object type contains options
 84157  // specific to pipe backings.
 84158  type VirtualDevicePipeBackingOption struct {
 84159  	VirtualDeviceBackingOption
 84160  }
 84161  
 84162  func init() {
 84163  	t["VirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem()
 84164  }
 84165  
 84166  // <code>`VirtualDeviceRemoteDeviceBackingInfo`</code> is a data object type
 84167  // for information
 84168  // about a remote device backing used by a device in a virtual machine.
 84169  //
 84170  // The primary difference between a remote device backing and a
 84171  // local device backing is that the VirtualCenter server cannot provide a list
 84172  // of remote host devices available for this virtual device backing.
 84173  type VirtualDeviceRemoteDeviceBackingInfo struct {
 84174  	VirtualDeviceBackingInfo
 84175  
 84176  	// The name of the device on the remote system.
 84177  	DeviceName string `xml:"deviceName" json:"deviceName"`
 84178  	// Indicates whether the device should be auto detected
 84179  	// instead of directly specified.
 84180  	//
 84181  	// If this value is set to TRUE,
 84182  	// <code>deviceName</code> is ignored.
 84183  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 84184  }
 84185  
 84186  func init() {
 84187  	t["VirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem()
 84188  }
 84189  
 84190  // VirtualDeviceOption.RemoteDeviceBackingOption describes the options
 84191  // for a remote device backing.
 84192  //
 84193  // The primary difference
 84194  // between a remote device backing and a local device backing is that
 84195  // the VirtualCenter server cannot provide a list of remote host devices
 84196  // available for this virtual device backing.
 84197  type VirtualDeviceRemoteDeviceBackingOption struct {
 84198  	VirtualDeviceBackingOption
 84199  
 84200  	// Flag to indicate whether the specific instance of this device can
 84201  	// be auto-detected on the host instead of having to specify a
 84202  	// particular physical device.
 84203  	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable"`
 84204  }
 84205  
 84206  func init() {
 84207  	t["VirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem()
 84208  }
 84209  
 84210  // The <code>`VirtualDeviceURIBackingInfo`</code> data object type
 84211  // defines information for using a network socket as backing for a virtual device.
 84212  type VirtualDeviceURIBackingInfo struct {
 84213  	VirtualDeviceBackingInfo
 84214  
 84215  	// Identifies the local host or a system on the network,
 84216  	// depending on the value of <code>`VirtualDeviceURIBackingInfo.direction`</code>.
 84217  	//   - If you use the virtual machine as a server, the URI identifies
 84218  	//     the host on which the virtual machine runs. In this case,
 84219  	//     the host name part of the URI should be empty, or it should
 84220  	//     specify the address of the local host.
 84221  	//   - If you use the virtual machine as a client, the URI identifies
 84222  	//     the remote system on the network.
 84223  	ServiceURI string `xml:"serviceURI" json:"serviceURI"`
 84224  	// The direction of the connection.
 84225  	//
 84226  	// For possible values see
 84227  	// `VirtualDeviceURIBackingOptionDirection_enum`
 84228  	Direction string `xml:"direction" json:"direction"`
 84229  	// Identifies a proxy service that provides network access to the
 84230  	// <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>.
 84231  	//
 84232  	// If you specify a proxy URI, the virtual machine initiates
 84233  	// a connection with the proxy service and forwards the
 84234  	// `VirtualDeviceURIBackingInfo.serviceURI` and `VirtualDeviceURIBackingInfo.direction` to the proxy.
 84235  	ProxyURI string `xml:"proxyURI,omitempty" json:"proxyURI,omitempty"`
 84236  }
 84237  
 84238  func init() {
 84239  	t["VirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem()
 84240  }
 84241  
 84242  // The `VirtualDeviceURIBackingOption` data object type describes network communication
 84243  // options for virtual devices.
 84244  //
 84245  // When establishing a connection with a remote system on the network,
 84246  // the virtual machine can act as a server or a client.
 84247  // When the virtual machine acts as a server, it accepts a connection.
 84248  // When the virtual machine acts as a client, it initiates the connection.
 84249  type VirtualDeviceURIBackingOption struct {
 84250  	VirtualDeviceBackingOption
 84251  
 84252  	// List of possible directions.
 84253  	//
 84254  	// Valid directions are:
 84255  	//   - `server`
 84256  	//   - `client`
 84257  	Directions ChoiceOption `xml:"directions" json:"directions"`
 84258  }
 84259  
 84260  func init() {
 84261  	t["VirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem()
 84262  }
 84263  
 84264  // This data object type contains information about a disk in a virtual machine.
 84265  //
 84266  // The virtual disk backing object types describe the different virtual disk backings
 84267  // available.
 84268  // The disk format version in each case describes
 84269  // the version of the format that is used.
 84270  //
 84271  // Supported virtual disk backings:
 84272  // <dl>
 84273  // <dt>Sparse disk format, version 1 and 2</dt>
 84274  // <dd>The virtual disk backing grows when needed.
 84275  // Supported only for VMware Server.</dd>
 84276  // <dt>Flat disk format, version 1 and 2</dt>
 84277  // <dd>The virtual disk backing is preallocated.
 84278  // Version 1 is supported only for VMware Server.</dd>
 84279  // <dt>Space efficient sparse disk format</dt>
 84280  // <dd>The virtual disk backing grows on demand and
 84281  // incorporates additional space optimizations.</dd>
 84282  // <dt>Raw disk format, version 2</dt>
 84283  // <dd>The virtual disk backing uses a full physical disk drive
 84284  // to back the virtual disk. Supported only for VMware Server.</dd>
 84285  // <dt>Partitioned raw disk format, version 2</dt>
 84286  // <dd>The virtual disk backing uses one or more partitions on a
 84287  // physical disk drive to back a virtual disk. Supported only for VMware Server.</dd>
 84288  // <dt>Raw disk mapping, version 1</dt>
 84289  // <dd>The virtual disk backing uses a raw device mapping to back the virtual disk.
 84290  // Supported for ESX Server 2.5 and 3.x.</dd>
 84291  // </dl>
 84292  type VirtualDisk struct {
 84293  	VirtualDevice
 84294  
 84295  	// Deprecated as of vSphere API 5.5, use `VirtualDisk.capacityInBytes`.
 84296  	//
 84297  	// Capacity of this virtual disk in kilobytes.
 84298  	//
 84299  	// Information might be lost when actual disk size is rounded off to kilobytes.
 84300  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 84301  	// of a megabyte.
 84302  	CapacityInKB int64 `xml:"capacityInKB" json:"capacityInKB"`
 84303  	// Capacity of this virtual disk in bytes.
 84304  	//
 84305  	// Server will always populate this property. Clients must initialize it when
 84306  	// creating a new non -RDM disk or in case they want to change the current
 84307  	// capacity of an existing virtual disk, but can omit it otherwise.
 84308  	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
 84309  	// of a megabyte.
 84310  	CapacityInBytes int64 `xml:"capacityInBytes,omitempty" json:"capacityInBytes,omitempty"`
 84311  	// Deprecated as of vSphere API 4.1, use
 84312  	// `StorageIOAllocationInfo.shares`.
 84313  	//
 84314  	// Disk shares, used for resource scheduling.
 84315  	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
 84316  	// Deprecated as of vSphere API 6.5, use.
 84317  	//
 84318  	// Resource allocation for storage I/O.
 84319  	StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty" json:"storageIOAllocation,omitempty"`
 84320  	// Deprecated as of vSphere API 6.5, use `VirtualDisk.vDiskId`.
 84321  	//
 84322  	// Virtual disk durable and unmutable identifier.
 84323  	//
 84324  	// Virtual disk has a UUID field but that can be set through
 84325  	// VirtualDiskManager APIs.
 84326  	// This identifier is a universally unique identifier which is not settable.
 84327  	// VirtualDisk can remain in existence even if it is not associated with VM.
 84328  	DiskObjectId string `xml:"diskObjectId,omitempty" json:"diskObjectId,omitempty"`
 84329  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 84330  	// end of availability.
 84331  	//
 84332  	// vFlash cache configuration supported on this virtual disk.
 84333  	VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
 84334  	// IDs of the IO Filters associated with the virtual disk.
 84335  	//
 84336  	// See `IoFilterInfo.id`. This information
 84337  	// is provided when retrieving configuration information for
 84338  	// an existing virtual machine. The client cannot modify this information
 84339  	// on a virtual machine.
 84340  	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty"`
 84341  	// ID of the virtual disk object as the first class entity.
 84342  	//
 84343  	// See `ID`
 84344  	// The ID is a universally unique identifier for the disk lifecycle,
 84345  	// even if the virtual disk is not associated with VM.
 84346  	VDiskId *ID `xml:"vDiskId,omitempty" json:"vDiskId,omitempty"`
 84347  	// Disk descriptor version of the virtual disk.
 84348  	VDiskVersion int32 `xml:"vDiskVersion,omitempty" json:"vDiskVersion,omitempty" vim:"8.0.1.0"`
 84349  	// Indicates whether a disk with
 84350  	// `VirtualDiskFlatVer2BackingInfo` backing is a linked
 84351  	// clone from an unmanaged delta disk and hence the
 84352  	// `VirtualDiskFlatVer2BackingInfo.parent` chain to
 84353  	// this delta disk will not be available.
 84354  	NativeUnmanagedLinkedClone *bool `xml:"nativeUnmanagedLinkedClone" json:"nativeUnmanagedLinkedClone,omitempty"`
 84355  	// The IDs of the independent filters associated with the virtual disk.
 84356  	//
 84357  	// This information is provided when retrieving configuration information for
 84358  	// an existing virtual machine. The client cannot modify this information on
 84359  	// a virtual machine.
 84360  	IndependentFilters []BaseVirtualMachineBaseIndependentFilterSpec `xml:"independentFilters,omitempty,typeattr" json:"independentFilters,omitempty" vim:"7.0.2.1"`
 84361  	// Flag to indicate whether a disk should be presented to the guest
 84362  	// in read-only mode (limited by choice of adapter).
 84363  	GuestReadOnly *bool `xml:"guestReadOnly" json:"guestReadOnly,omitempty" vim:"8.0.2.0"`
 84364  }
 84365  
 84366  func init() {
 84367  	t["VirtualDisk"] = reflect.TypeOf((*VirtualDisk)(nil)).Elem()
 84368  }
 84369  
 84370  // Pod-wide anit-affinity rule for virtual disks.
 84371  //
 84372  // The set of virtual disks should
 84373  // be placed on different datastores.
 84374  type VirtualDiskAntiAffinityRuleSpec struct {
 84375  	ClusterRuleInfo
 84376  
 84377  	// The list of virtual disks.
 84378  	DiskId []int32 `xml:"diskId" json:"diskId"`
 84379  }
 84380  
 84381  func init() {
 84382  	t["VirtualDiskAntiAffinityRuleSpec"] = reflect.TypeOf((*VirtualDiskAntiAffinityRuleSpec)(nil)).Elem()
 84383  }
 84384  
 84385  // The disk blocks of the specified virtual disk have not been fully
 84386  // provisioned on the file system.
 84387  //
 84388  // Typically, this fault is returned as part of a parent fault like
 84389  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 84390  // disk blocks of the virtual disk must be fully provisioned on the file system
 84391  // before fault tolerance can be enabled on the associated virtual machine.
 84392  type VirtualDiskBlocksNotFullyProvisioned struct {
 84393  	DeviceBackingNotSupported
 84394  }
 84395  
 84396  func init() {
 84397  	t["VirtualDiskBlocksNotFullyProvisioned"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisioned)(nil)).Elem()
 84398  }
 84399  
 84400  type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned
 84401  
 84402  func init() {
 84403  	t["VirtualDiskBlocksNotFullyProvisionedFault"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisionedFault)(nil)).Elem()
 84404  }
 84405  
 84406  // The VirtualDiskSpec data object type encapsulates change
 84407  // specifications for an individual virtual disk device.
 84408  //
 84409  // The virtual
 84410  // disk being added or modified must be fully specified.
 84411  type VirtualDiskConfigSpec struct {
 84412  	VirtualDeviceConfigSpec
 84413  
 84414  	// Manner in which to move the virtual disk to the target datastore.
 84415  	//
 84416  	// The set of possible values is described in
 84417  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 84418  	//
 84419  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 84420  	//
 84421  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 84422  	// is assumed.
 84423  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 84424  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 84425  	// end of availability.
 84426  	//
 84427  	// Manner in which to transfer the cache associated with the virtual disk to the
 84428  	// target host.
 84429  	//
 84430  	// If left unset then migrate is used when virtual flash resource on the source host
 84431  	// is accessible and when the backing vFlash module version is compatible with the
 84432  	// specific vFalsh module on the target host; otherwise flush is used for write back
 84433  	// cache, or a no-op for write through cache. This setting can avoid VM migration failure
 84434  	// due to incompatibility.
 84435  	// If true then migrate is always used. VM migration may fail if the backing vFlash module
 84436  	// version is incompatible with the module on the target host.
 84437  	// If false then flush is used for write back cache. It is a no-op for write through
 84438  	// cache. This setting can avoid VM migration failure due to incompatibility, but cache
 84439  	// files have to be rebuilt on the target host.
 84440  	// Default is unset.
 84441  	//
 84442  	// See also `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`.
 84443  	MigrateCache *bool `xml:"migrateCache" json:"migrateCache,omitempty"`
 84444  }
 84445  
 84446  func init() {
 84447  	t["VirtualDiskConfigSpec"] = reflect.TypeOf((*VirtualDiskConfigSpec)(nil)).Elem()
 84448  }
 84449  
 84450  // Delta disk format supported for each datastore type.
 84451  type VirtualDiskDeltaDiskFormatsSupported struct {
 84452  	DynamicData
 84453  
 84454  	// Datastore type name
 84455  	DatastoreType string `xml:"datastoreType" json:"datastoreType"`
 84456  	// Delta disk formats supported.
 84457  	//
 84458  	// Valid values are:
 84459  	//   - `redoLogFormat`
 84460  	//   - `nativeFormat`
 84461  	DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
 84462  }
 84463  
 84464  func init() {
 84465  	t["VirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatsSupported)(nil)).Elem()
 84466  }
 84467  
 84468  // This data object type contains information about backing a virtual disk by
 84469  // using a virtual disk file on the host, in the flat file format used by
 84470  // GSX Server 2.x.
 84471  //
 84472  // Flat disks are allocated when created, unlike sparse disks, which
 84473  // grow as needed.
 84474  type VirtualDiskFlatVer1BackingInfo struct {
 84475  	VirtualDeviceFileBackingInfo
 84476  
 84477  	// The disk persistence mode.
 84478  	//
 84479  	// Valid modes are:
 84480  	//   - `persistent`
 84481  	//   - `nonpersistent`
 84482  	//   - `undoable`
 84483  	//
 84484  	// See also `VirtualDiskMode_enum`.
 84485  	DiskMode string `xml:"diskMode" json:"diskMode"`
 84486  	// Flag to indicate the type of virtual disk file: split or monolithic.
 84487  	//
 84488  	// If true, the virtual disk is stored in multiple files, each 2GB.
 84489  	Split *bool `xml:"split" json:"split,omitempty"`
 84490  	// Flag to indicate whether writes should go directly to the file system
 84491  	// or should be buffered.
 84492  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 84493  	// Content ID of the virtual disk file, if available.
 84494  	//
 84495  	// A content ID indicates the logical contents of the disk backing and its parents.
 84496  	//
 84497  	// This property is only guaranteed to be up to date if this disk backing is not
 84498  	// currently being written to by any virtual machine.
 84499  	//
 84500  	// The only supported operation is comparing if two content IDs are equal or not.
 84501  	// The guarantee provided by the content ID is that if two disk backings have the
 84502  	// same content ID and are not currently being written to, then reads issued from
 84503  	// the guest operating system to those disk backings will return the same data.
 84504  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 84505  	// The parent of this virtual disk file, if this is a delta disk backing.
 84506  	//
 84507  	// This will be unset if this is not a delta disk backing.
 84508  	//
 84509  	// A delta disk backing is a way to preserve a virtual disk backing
 84510  	// at some point in time. A delta disk backing is a file backing which in
 84511  	// turn points to the original virtual disk backing (the parent). After a delta
 84512  	// disk backing is added, all writes go to the delta disk backing. All reads
 84513  	// first try the delta disk backing and then try the parent backing if needed.
 84514  	//
 84515  	// A delta disk backing can be added to a disk either implicitly during
 84516  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 84517  	// machine.
 84518  	//
 84519  	// Note that the type of the backing is consistent throughout the chain; any new
 84520  	// delta disk backing which is added is of the same type as the original disk .
 84521  	// Also note that since the parent backing is not being written to,
 84522  	// it is possible that the parent backing may be shared among multiple
 84523  	// disks belonging to multiple virtual machines.
 84524  	//
 84525  	// During virtual machine `creation` and
 84526  	// `reconfiguration` this property is
 84527  	// only checked if the `VirtualDeviceConfigSpec` specifies
 84528  	// an *add operation* with a
 84529  	// *create file operation*.
 84530  	// In this case, a new delta disk backing is created which points to the parent
 84531  	// disk backing. Only the `fileName`
 84532  	// property is important; all other properties will be ignored. The parent backing
 84533  	// is assumed to exist and will not be recursively created.
 84534  	//
 84535  	// This property may only be set if
 84536  	// `deltaDiskBackingsSupported`
 84537  	// is true.
 84538  	Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 84539  }
 84540  
 84541  func init() {
 84542  	t["VirtualDiskFlatVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingInfo)(nil)).Elem()
 84543  }
 84544  
 84545  // This data object type contains the available options when backing a virtual disk
 84546  // using a host file with the flat file format from GSX Server 2.x.
 84547  //
 84548  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 84549  type VirtualDiskFlatVer1BackingOption struct {
 84550  	VirtualDeviceFileBackingOption
 84551  
 84552  	// The disk mode.
 84553  	//
 84554  	// Valid disk modes are:
 84555  	//   - `persistent`
 84556  	//   - `nonpersistent`
 84557  	//   - `undoable`
 84558  	//   - `independent_persistent`
 84559  	//   - `independent_nonpersistent`
 84560  	//   - `append`
 84561  	//
 84562  	// See also `VirtualDiskMode_enum`.
 84563  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 84564  	// Flag to indicate whether or not the host supports
 84565  	// allowing the client to select whether or not a disk
 84566  	// should be split.
 84567  	Split BoolOption `xml:"split" json:"split"`
 84568  	// Flag to indicate whether or not the host supports
 84569  	// allowing the client to select "writethrough" as a mode for
 84570  	// virtual disks.
 84571  	//
 84572  	// Typically, this is available only for GSX Server Linux hosts.
 84573  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 84574  	// Flag to indicate whether this backing can have its size changed.
 84575  	Growable bool `xml:"growable" json:"growable"`
 84576  }
 84577  
 84578  func init() {
 84579  	t["VirtualDiskFlatVer1BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingOption)(nil)).Elem()
 84580  }
 84581  
 84582  // This data object type contains information about backing a virtual disk using a
 84583  // virtual disk file on the host, in the flat file format used by VMware Server,
 84584  // ESX Server 2.x, and ESX Server 3.x.
 84585  //
 84586  // Flat disks are allocated when created, unlike sparse disks, which
 84587  // grow as needed.
 84588  type VirtualDiskFlatVer2BackingInfo struct {
 84589  	VirtualDeviceFileBackingInfo
 84590  
 84591  	// The disk persistence mode.
 84592  	//
 84593  	// Valid modes are:
 84594  	//   - `persistent`
 84595  	//   - `independent_persistent`
 84596  	//   - `independent_nonpersistent`
 84597  	//   - `nonpersistent`
 84598  	//   - `undoable`
 84599  	//   - `append`
 84600  	//
 84601  	// See also `VirtualDiskMode_enum`.
 84602  	DiskMode string `xml:"diskMode" json:"diskMode"`
 84603  	// Flag to indicate the type of virtual disk file: split or monolithic.
 84604  	//
 84605  	// If true, the virtual disk is stored in multiple files, each 2GB.
 84606  	// On ESX this property is ignored when creating new disks or
 84607  	// editing existing disks. This property is always false for disks
 84608  	// created on ESX.
 84609  	// When an existing split disk such as those created by VMware
 84610  	// Server is added to a virtual machine on ESX, the property will
 84611  	// be set to true when retrieved from `VirtualMachineConfigInfo`.
 84612  	Split *bool `xml:"split" json:"split,omitempty"`
 84613  	// Flag to indicate whether writes should go directly to the file system
 84614  	// or should be buffered.
 84615  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 84616  	// Flag to indicate to the underlying filesystem, whether the
 84617  	// virtual disk backing file should be allocated lazily (using
 84618  	// thin provisioning). This flag is only used for file systems
 84619  	// that support configuring the provisioning policy on a per file
 84620  	// basis, such as VMFS3.
 84621  	//
 84622  	// When specified as part of a `VirtualMachineConfigSpec`, this
 84623  	// property applies only when creating a new virtual disk; it is
 84624  	// ignored when editing an existing virtual disk.
 84625  	//
 84626  	// see `DatastoreCapability.perFileThinProvisioningSupported`
 84627  	ThinProvisioned *bool `xml:"thinProvisioned" json:"thinProvisioned,omitempty"`
 84628  	// Flag to indicate to the underlying filesystem whether the
 84629  	// virtual disk backing file should be scrubbed completely at
 84630  	// this time.
 84631  	//
 84632  	// Virtual disks on some filesystems like VMFS3 are zeroed-out
 84633  	// lazily so that disk creation time doesn't take too long.
 84634  	// However, clustering applications and features like
 84635  	// Fault Tolerance require that the virtual disk be
 84636  	// completely scrubbed. This setting allows controlling the
 84637  	// scrubbing policy on a per-disk basis.
 84638  	//
 84639  	// If this flag is unset or set to false when creating a new disk,
 84640  	// the disk scrubbing policy will be decided by the filesystem. If
 84641  	// this flag is unset or set to false when editing an existing disk,
 84642  	// it is ignored.
 84643  	// When returned as part of a `VirtualMachineConfigInfo`, this
 84644  	// property may be unset if its value is unknown.
 84645  	EagerlyScrub *bool `xml:"eagerlyScrub" json:"eagerlyScrub,omitempty"`
 84646  	// Disk UUID for the virtual disk, if available.
 84647  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 84648  	// Content ID of the virtual disk file, if available.
 84649  	//
 84650  	// A content ID indicates the logical contents of the disk backing and its parents.
 84651  	//
 84652  	// This property is only guaranteed to be up to date if this disk backing is not
 84653  	// currently being written to by any virtual machine.
 84654  	//
 84655  	// The only supported operation is comparing if two content IDs are equal or not.
 84656  	// The guarantee provided by the content ID is that if two disk backings have the
 84657  	// same content ID and are not currently being written to, then reads issued from
 84658  	// the guest operating system to those disk backings will return the same data.
 84659  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 84660  	// The change ID of the virtual disk for the corresponding
 84661  	// snapshot or virtual machine.
 84662  	//
 84663  	// This can be used to track
 84664  	// incremental changes to a virtual disk. See
 84665  	// `VirtualMachine.QueryChangedDiskAreas`.
 84666  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 84667  	// The parent of this virtual disk file, if this is a delta disk backing.
 84668  	//
 84669  	// This will be unset if this is not a delta disk backing.
 84670  	//
 84671  	// A delta disk backing is a way to preserve a virtual disk backing
 84672  	// at some point in time. A delta disk backing is a file backing which in
 84673  	// turn points to the original virtual disk backing (the parent). After a delta
 84674  	// disk backing is added, all writes go to the delta disk backing. All reads
 84675  	// first try the delta disk backing and then try the parent backing if needed.
 84676  	//
 84677  	// A delta disk backing can be added to a disk either implicitly during
 84678  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 84679  	// machine.
 84680  	//
 84681  	// Note that the type of the backing is consistent throughout the chain; any new
 84682  	// delta disk backing which is added is of the same type as the original disk .
 84683  	// Also note that since the parent backing is not being written to,
 84684  	// it is possible that the parent backing may be shared among multiple
 84685  	// disks belonging to multiple virtual machines.
 84686  	//
 84687  	// During virtual machine `creation` and
 84688  	// `reconfiguration` this property is
 84689  	// only checked if the `VirtualDeviceConfigSpec` specifies
 84690  	// an *add operation* with a
 84691  	// *create file operation*.
 84692  	// In this case, a new delta disk backing is created which points to the parent
 84693  	// disk backing. Only the `fileName`
 84694  	// property is important; all other properties will be ignored. The parent backing
 84695  	// is assumed to exist and will not be recursively created.
 84696  	//
 84697  	// This property may only be set if
 84698  	// `deltaDiskBackingsSupported`
 84699  	// is true.
 84700  	Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 84701  	// The format of the delta disk.
 84702  	//
 84703  	// This field is valid only for a delta disk.
 84704  	//
 84705  	// See `DeltaDiskFormat` for the
 84706  	// supported formats. If not specified, the default value used is
 84707  	// `redoLogFormat`.
 84708  	//
 84709  	// If `nativeFormat`
 84710  	// is specified and the datastore does not support this format or the parent is
 84711  	// on a different datastore,
 84712  	// `DeltaDiskFormatNotSupported` is
 84713  	// thrown.
 84714  	//
 84715  	// vSphere server does not support relocation of virtual machines with
 84716  	// `nativeFormat`.
 84717  	// An exception is thrown for such requests.
 84718  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 84719  	// Indicates whether the disk backing has digest file enabled.
 84720  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
 84721  	// Grain size in kB for a delta disk of format type seSparseFormat.
 84722  	//
 84723  	// The default
 84724  	// size is 4 kB.
 84725  	// This setting is used to specify the grain size of
 84726  	// `Flex-SE` delta disks
 84727  	// when the base disk is of type FlatVer2BackingInfo.
 84728  	// The `DeltaDiskFormat` must also
 84729  	// be set to seSparseFormat.
 84730  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty"`
 84731  	// The delta disk format variant, if applicable.
 84732  	//
 84733  	// This field is valid only for a delta disk and may specify more detailed
 84734  	// information for the delta disk format specified in
 84735  	// `deltaDiskFormat`.
 84736  	//
 84737  	// If `redoLogFormat` is
 84738  	// specified for the
 84739  	// `deltaDiskFormat`,
 84740  	// see `DeltaDiskFormatVariant` for the
 84741  	// supported formats. If this is not specified for
 84742  	// `redoLogFormat`,
 84743  	// the default value used is
 84744  	// `vmfsSparseVariant`.
 84745  	//
 84746  	// For other delta disk formats, this currently remains unspecified.
 84747  	DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty" json:"deltaDiskFormatVariant,omitempty"`
 84748  	// The sharing mode of the virtual disk.
 84749  	//
 84750  	// See `VirtualDiskSharing_enum`. The default value is
 84751  	// no sharing.
 84752  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 84753  	// Virtual Disk Backing encryption options.
 84754  	//
 84755  	// On modification operations the value is ignored, use the specification
 84756  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 84757  	// `VirtualDeviceConfigSpec.backing`.
 84758  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 84759  }
 84760  
 84761  func init() {
 84762  	t["VirtualDiskFlatVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingInfo)(nil)).Elem()
 84763  }
 84764  
 84765  // This data object type contains the available options when backing a virtual
 84766  // disk using a host file with the flat file format used in VMware Server and
 84767  // in ESX Server 2.x and greater.
 84768  //
 84769  // Flat disks are pre-allocated, whereas sparse disks are grown as needed.
 84770  type VirtualDiskFlatVer2BackingOption struct {
 84771  	VirtualDeviceFileBackingOption
 84772  
 84773  	// The disk mode.
 84774  	//
 84775  	// Valid disk modes are:
 84776  	//   - `persistent`
 84777  	//   - `independent_persistent`
 84778  	//   - `independent_nonpersistent`
 84779  	//
 84780  	// See also `VirtualDiskMode_enum`.
 84781  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 84782  	// Flag to indicate whether or not the host supports
 84783  	// allowing the client to select whether or not a disk
 84784  	// should be split.
 84785  	Split BoolOption `xml:"split" json:"split"`
 84786  	// Flag to indicate whether or not the host supports
 84787  	// allowing the client to select "writethrough" as a mode for
 84788  	// virtual disks.
 84789  	//
 84790  	// Typically, this is available only for VMware Server Linux hosts.
 84791  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 84792  	// Indicates whether or not this disk backing can be
 84793  	// extended to larger sizes through a reconfigure operation.
 84794  	//
 84795  	// If set to true, reconfiguring this virtual disk
 84796  	// with a `VirtualDisk.capacityInKB` value greater
 84797  	// than its current value will grow the disk to the newly specified size.
 84798  	Growable bool `xml:"growable" json:"growable"`
 84799  	// Indicates whether or not this disk backing can be
 84800  	// extended to larger sizes through a reconfigure operation while
 84801  	// the virtual machine is powered on.
 84802  	//
 84803  	// If set to true, reconfiguring this virtual disk
 84804  	// with a `VirtualDisk.capacityInKB` value greater
 84805  	// than its current value will grow the disk to the newly specified size
 84806  	// while the virtual machine is powered on.
 84807  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 84808  	// Flag to indicate whether this backing supports disk UUID property.
 84809  	Uuid bool `xml:"uuid" json:"uuid"`
 84810  	// Flag to indicate if this backing supports thin-provisioned disks.
 84811  	//
 84812  	// When creating a thin-provisioned disk (or converting an existing disk to
 84813  	// to a thin-provisioned one), both the target datastore and the
 84814  	// host accessing it must support thin-provisioning. This flag indicates only
 84815  	// the host capability. See `DatastoreCapability.perFileThinProvisioningSupported`
 84816  	// for datastore capability.
 84817  	ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty" json:"thinProvisioned,omitempty"`
 84818  	// Flag to indicate if this backing supports eager scrubbing.
 84819  	EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty" json:"eagerlyScrub,omitempty"`
 84820  	// Deprecated as of vSphere API 5.1, please use
 84821  	// `VirtualDiskFlatVer2BackingOption.deltaDiskFormatsSupported`.
 84822  	//
 84823  	// Delta disk formats supported.
 84824  	//
 84825  	// Valid values are:
 84826  	//   - `redoLogFormat`
 84827  	//   - `nativeFormat`
 84828  	DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 84829  	// Delta disk formats supported for each datastore type.
 84830  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty" json:"deltaDiskFormatsSupported,omitempty"`
 84831  }
 84832  
 84833  func init() {
 84834  	t["VirtualDiskFlatVer2BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingOption)(nil)).Elem()
 84835  }
 84836  
 84837  // Identifier for a virtual disk.
 84838  type VirtualDiskId struct {
 84839  	DynamicData
 84840  
 84841  	// Virtual machine reference.
 84842  	//
 84843  	// Refers instance of `VirtualMachine`.
 84844  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 84845  	// Device ID `VirtualDevice.key` of the virtual disk.
 84846  	DiskId int32 `xml:"diskId" json:"diskId"`
 84847  }
 84848  
 84849  func init() {
 84850  	t["VirtualDiskId"] = reflect.TypeOf((*VirtualDiskId)(nil)).Elem()
 84851  }
 84852  
 84853  // This data object type contains information about backing a virtual disk
 84854  // using non-volatile memory technologies (persistent memory).
 84855  //
 84856  // Supported for ESX Server 6.5 and later.
 84857  type VirtualDiskLocalPMemBackingInfo struct {
 84858  	VirtualDeviceFileBackingInfo
 84859  
 84860  	// The disk persistence mode.
 84861  	//
 84862  	// See also `VirtualDiskMode_enum`.
 84863  	DiskMode string `xml:"diskMode" json:"diskMode"`
 84864  	// Disk UUID for the virtual disk, if available.
 84865  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 84866  	// Persistent memory volume UUID - UUID which associates this
 84867  	// virtual disk with a specific host.
 84868  	//
 84869  	// This is read only property.
 84870  	//
 84871  	// See also `HostPersistentMemoryInfo.volumeUUID`.
 84872  	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
 84873  	// Content ID of the virtual disk file, if available.
 84874  	//
 84875  	// A content ID indicates the logical contents of the disk backing and
 84876  	// its parents.
 84877  	//
 84878  	// This property is only guaranteed to be up to date if this disk backing
 84879  	// is not currently being written to by any virtual machine.
 84880  	//
 84881  	// The only supported operation is comparing if two content IDs are equal
 84882  	// or not. The guarantee provided by the content ID is that if two disk
 84883  	// backings have the same content ID and are not currently being written
 84884  	// to, then reads issued from the guest operating system to those disk
 84885  	// backings will return the same data.
 84886  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 84887  }
 84888  
 84889  func init() {
 84890  	t["VirtualDiskLocalPMemBackingInfo"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingInfo)(nil)).Elem()
 84891  }
 84892  
 84893  // This data object type contains the available options when backing
 84894  // a virtualdisk using persistent memory.
 84895  type VirtualDiskLocalPMemBackingOption struct {
 84896  	VirtualDeviceFileBackingOption
 84897  
 84898  	// The disk mode.
 84899  	//
 84900  	// See also `VirtualDiskMode_enum`.
 84901  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 84902  	// Indicates whether or not this disk backing can be
 84903  	// extended to larger sizes through a reconfigure operation.
 84904  	//
 84905  	// If set to true, reconfiguring this virtual disk
 84906  	// with a `VirtualDisk.capacityInKB` value greater
 84907  	// than its current value will grow the disk to the newly specified size.
 84908  	Growable bool `xml:"growable" json:"growable"`
 84909  	// Indicates whether or not this disk backing can be
 84910  	// extended to larger sizes through a reconfigure operation while
 84911  	// the virtual machine is powered on.
 84912  	//
 84913  	// If set to true, reconfiguring this virtual disk
 84914  	// with a `VirtualDisk.capacityInKB` value greater
 84915  	// than its current value will grow the disk to the newly specified size
 84916  	// while the virtual machine is powered on.
 84917  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 84918  	// Flag to indicate whether this backing supports disk UUID property.
 84919  	Uuid bool `xml:"uuid" json:"uuid"`
 84920  }
 84921  
 84922  func init() {
 84923  	t["VirtualDiskLocalPMemBackingOption"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingOption)(nil)).Elem()
 84924  }
 84925  
 84926  // The disk mode of the specified virtual disk is not supported.
 84927  //
 84928  // Typically, this fault is returned as part of a parent fault like
 84929  // `VmConfigIncompatibleForFaultTolerance`, indicating that the
 84930  // virtual disk's mode needs to be changed before fault tolerance can be
 84931  // enabled on the associated virtual machine.
 84932  type VirtualDiskModeNotSupported struct {
 84933  	DeviceNotSupported
 84934  
 84935  	// Disk mode that is not supported
 84936  	Mode string `xml:"mode" json:"mode"`
 84937  }
 84938  
 84939  func init() {
 84940  	t["VirtualDiskModeNotSupported"] = reflect.TypeOf((*VirtualDiskModeNotSupported)(nil)).Elem()
 84941  }
 84942  
 84943  type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported
 84944  
 84945  func init() {
 84946  	t["VirtualDiskModeNotSupportedFault"] = reflect.TypeOf((*VirtualDiskModeNotSupportedFault)(nil)).Elem()
 84947  }
 84948  
 84949  // The VirtualDiskOption data class contains the options for the
 84950  // virtual disk data object type.
 84951  type VirtualDiskOption struct {
 84952  	VirtualDeviceOption
 84953  
 84954  	// Minimum, maximum, and default capacity of the disk.
 84955  	CapacityInKB LongOption `xml:"capacityInKB" json:"capacityInKB"`
 84956  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 84957  	//
 84958  	// Minimum, maximum, and default values for Storage I/O allocation.
 84959  	//
 84960  	// See also `StorageIOAllocationInfo`.
 84961  	IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty" json:"ioAllocationOption,omitempty"`
 84962  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 84963  	// end of availability.
 84964  	//
 84965  	// vFlash cache configuration on the disk.
 84966  	VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty" json:"vFlashCacheConfigOption,omitempty"`
 84967  }
 84968  
 84969  func init() {
 84970  	t["VirtualDiskOption"] = reflect.TypeOf((*VirtualDiskOption)(nil)).Elem()
 84971  }
 84972  
 84973  // Deprecated since vSphere 7.0 because vFlash Read Cache
 84974  // end of availability.
 84975  //
 84976  // Options for vFlash cache configuration.
 84977  type VirtualDiskOptionVFlashCacheConfigOption struct {
 84978  	DynamicData
 84979  
 84980  	// Cache data consistency type.
 84981  	//
 84982  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 84983  	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
 84984  	// Cache mode
 84985  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 84986  	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
 84987  	// Cache reservation
 84988  	ReservationInMB LongOption `xml:"reservationInMB" json:"reservationInMB"`
 84989  	// Cache block size
 84990  	BlockSizeInKB LongOption `xml:"blockSizeInKB" json:"blockSizeInKB"`
 84991  }
 84992  
 84993  func init() {
 84994  	t["VirtualDiskOptionVFlashCacheConfigOption"] = reflect.TypeOf((*VirtualDiskOptionVFlashCacheConfigOption)(nil)).Elem()
 84995  }
 84996  
 84997  // This data object type contains information about backing a virtual disk
 84998  // using one or more partitions on a physical disk device.
 84999  //
 85000  // This type of
 85001  // backing is supported for VMware Server.
 85002  type VirtualDiskPartitionedRawDiskVer2BackingInfo struct {
 85003  	VirtualDiskRawDiskVer2BackingInfo
 85004  
 85005  	// Array of partition indexes.
 85006  	//
 85007  	// This array identifies the
 85008  	// partitions that are used on the physical disk drive.
 85009  	Partition []int32 `xml:"partition" json:"partition"`
 85010  }
 85011  
 85012  func init() {
 85013  	t["VirtualDiskPartitionedRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingInfo)(nil)).Elem()
 85014  }
 85015  
 85016  // The VirtualDiskOption.PartitionedRawDiskVer2BackingOption object
 85017  // type contains the available options when backing a virtual disk
 85018  // using one or more partitions on a physical disk device.
 85019  //
 85020  // This
 85021  // backing is supported in VMware Server.
 85022  type VirtualDiskPartitionedRawDiskVer2BackingOption struct {
 85023  	VirtualDiskRawDiskVer2BackingOption
 85024  }
 85025  
 85026  func init() {
 85027  	t["VirtualDiskPartitionedRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingOption)(nil)).Elem()
 85028  }
 85029  
 85030  // This data object type contains information about backing a virtual disk using a
 85031  // raw device mapping.
 85032  //
 85033  // Supported for ESX Server 2.5 and 3.x.
 85034  type VirtualDiskRawDiskMappingVer1BackingInfo struct {
 85035  	VirtualDeviceFileBackingInfo
 85036  
 85037  	// Unique identifier of the LUN accessed by the raw disk mapping.
 85038  	LunUuid string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
 85039  	// The host-specific device the LUN is being accessed through.
 85040  	//
 85041  	// If the
 85042  	// target LUN is not available on the host then it is empty. For example, this
 85043  	// could happen if it has accidentally been masked out.
 85044  	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
 85045  	// The compatibility mode of the raw disk mapping (RDM).
 85046  	//
 85047  	// This must be specified
 85048  	// when a new virtual disk with an RDM backing is created. On subsequent virtual
 85049  	// machine reconfigurations, this property should be handled as follows,
 85050  	// depending on the version of the host:
 85051  	//
 85052  	// On ESX Server 2.5, the compatibility mode of an RDM backing is a
 85053  	// characteristic of the virtual machine's configuration. When reconfiguring
 85054  	// a virtual machine that currently uses a virtual disk backed by an RDM,
 85055  	// the compatibility mode of that backing may be modified. When reconfiguring a
 85056  	// virtual machine to add an existing virtual disk backed by an RDM, the
 85057  	// compatibility mode of that backing may be specified. If left unspecified it
 85058  	// defaults to "physicalMode".
 85059  	//
 85060  	// On ESX Server 3.x, the compatibility mode of an RDM backing is a
 85061  	// characteristic of the RDM itself. Once the RDM is created, its compatibility
 85062  	// mode cannot be changed by reconfiguring the virtual machine. When
 85063  	// reconfiguring a virtual machine to add an existing virtual disk backed by an
 85064  	// RDM, the compatibility mode of that backing must be left unspecified.
 85065  	//
 85066  	// See also `VirtualDiskCompatibilityMode_enum`.
 85067  	CompatibilityMode string `xml:"compatibilityMode,omitempty" json:"compatibilityMode,omitempty"`
 85068  	// The disk mode.
 85069  	//
 85070  	// Valid values are:
 85071  	//   - `persistent`
 85072  	//   - `independent_persistent`
 85073  	//   - `independent_nonpersistent`
 85074  	//   - `nonpersistent`
 85075  	//   - `undoable`
 85076  	//   - `append`
 85077  	//
 85078  	// Disk modes are only supported when the raw disk mapping is using virtual
 85079  	// compatibility mode.
 85080  	//
 85081  	// See also `VirtualDiskMode_enum`.
 85082  	DiskMode string `xml:"diskMode,omitempty" json:"diskMode,omitempty"`
 85083  	// Disk UUID for the virtual disk, if available.
 85084  	//
 85085  	// Disk UUID is not available if
 85086  	// the raw disk mapping is in physical compatibility mode.
 85087  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85088  	// Content ID of the virtual disk file, if available.
 85089  	//
 85090  	// A content ID indicates the logical contents of the disk backing and its parents.
 85091  	//
 85092  	// This property is only guaranteed to be up to date if this disk backing is not
 85093  	// currently being written to by any virtual machine.
 85094  	//
 85095  	// The only supported operation is comparing if two content IDs are equal or not.
 85096  	// The guarantee provided by the content ID is that if two disk backings have the
 85097  	// same content ID and are not currently being written to, then reads issued from
 85098  	// the guest operating system to those disk backings will return the same data.
 85099  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85100  	// The change ID of the virtual disk for the corresponding
 85101  	// snapshot or virtual machine.
 85102  	//
 85103  	// This can be used to track
 85104  	// incremental changes to a virtual disk. See
 85105  	// `VirtualMachine.QueryChangedDiskAreas`.
 85106  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 85107  	// The parent of this virtual disk file, if this is a delta disk backing.
 85108  	//
 85109  	// This will be unset if this is not a delta disk backing.
 85110  	//
 85111  	// A delta disk backing is a way to preserve a virtual disk backing
 85112  	// at some point in time. A delta disk backing is a file backing which in
 85113  	// turn points to the original virtual disk backing (the parent). After a delta
 85114  	// disk backing is added, all writes go to the delta disk backing. All reads
 85115  	// first try the delta disk backing and then try the parent backing if needed.
 85116  	//
 85117  	// A delta disk backing can be added to a disk either implicitly during
 85118  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85119  	// machine.
 85120  	//
 85121  	// Note that the type of the backing is consistent throughout the chain; any new
 85122  	// delta disk backing which is added is of the same type as the original disk .
 85123  	// Also note that since the parent backing is not being written to,
 85124  	// it is possible that the parent backing may be shared among multiple
 85125  	// disks belonging to multiple virtual machines.
 85126  	//
 85127  	// During virtual machine `creation` and
 85128  	// `reconfiguration` this property is
 85129  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85130  	// an *add operation* with a
 85131  	// *create file operation*.
 85132  	// In this case, a new delta disk backing is created which points to the parent
 85133  	// disk backing. Only the `fileName`
 85134  	// property is important; all other properties will be ignored. The parent backing
 85135  	// is assumed to exist and will not be recursively created.
 85136  	//
 85137  	// Only raw disk mappings in *virtual compatibility mode* can have parents.
 85138  	//
 85139  	// This property may only be set if
 85140  	// `deltaDiskBackingsSupported`
 85141  	// is true.
 85142  	Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 85143  	// The format of the delta disk.
 85144  	//
 85145  	// This field is valid only for a delta disk.
 85146  	//
 85147  	// See `DeltaDiskFormat` for the
 85148  	// supported formats. The default value used for VM with hardware
 85149  	// version 8 and lower is
 85150  	// `redoLogFormat`.
 85151  	// The default value used for VM with hardware
 85152  	// version 9 and higher is
 85153  	// `seSparseFormat`.
 85154  	//
 85155  	// `nativeFormat` is not
 85156  	// supported for bask disk of type RawDiskMappingVer1BackingInfo.
 85157  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 85158  	// Grain size in kB for a delta disk of format type seSparseFormat.
 85159  	//
 85160  	// The default
 85161  	// size is 4 kB.
 85162  	// The grain size of
 85163  	// `Flex-SE` delta disks
 85164  	// when the base disk is of type RawDiskMappingVer1BackingInfo.
 85165  	// The `DeltaDiskFormat` must also
 85166  	// be set to seSparseFormat.
 85167  	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty"`
 85168  	// The sharing mode of the virtual disk.
 85169  	//
 85170  	// See `VirtualDiskSharing_enum`. The default value is
 85171  	// no sharing.
 85172  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 85173  }
 85174  
 85175  func init() {
 85176  	t["VirtualDiskRawDiskMappingVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingInfo)(nil)).Elem()
 85177  }
 85178  
 85179  // The VirtualDiskOption.RawDiskMappingVer1BackingOption object type
 85180  // contains the available options when backing a virtual disk using
 85181  // a raw device mapping on ESX Server 2.5 or 3.x.
 85182  type VirtualDiskRawDiskMappingVer1BackingOption struct {
 85183  	VirtualDeviceDeviceBackingOption
 85184  
 85185  	// Valid extensions for the filename of the optional
 85186  	// raw disk mapping descriptor file.
 85187  	//
 85188  	// This is present only for ESX Server 3.x and greater hosts.
 85189  	DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty" json:"descriptorFileNameExtensions,omitempty"`
 85190  	// The supported raw disk mapping compatibility modes.
 85191  	//
 85192  	// See also `VirtualDiskCompatibilityMode_enum`.
 85193  	CompatibilityMode ChoiceOption `xml:"compatibilityMode" json:"compatibilityMode"`
 85194  	// The disk mode.
 85195  	//
 85196  	// Valid values are:
 85197  	//   - `persistent`
 85198  	//   - `independent_persistent`
 85199  	//   - `independent_nonpersistent`
 85200  	//
 85201  	// See also `VirtualDiskMode_enum`.
 85202  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85203  	// Flag to indicate whether this backing supports disk UUID property.
 85204  	Uuid bool `xml:"uuid" json:"uuid"`
 85205  }
 85206  
 85207  func init() {
 85208  	t["VirtualDiskRawDiskMappingVer1BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingOption)(nil)).Elem()
 85209  }
 85210  
 85211  // This data object type contains information about backing a virtual disk by
 85212  // using a host device, as used by VMware Server.
 85213  type VirtualDiskRawDiskVer2BackingInfo struct {
 85214  	VirtualDeviceDeviceBackingInfo
 85215  
 85216  	// The name of the raw disk descriptor file.
 85217  	DescriptorFileName string `xml:"descriptorFileName" json:"descriptorFileName"`
 85218  	// Disk UUID for the virtual disk, if available.
 85219  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85220  	// The change ID of the virtual disk for the corresponding
 85221  	// snapshot or virtual machine.
 85222  	//
 85223  	// This can be used to track
 85224  	// incremental changes to a virtual disk. See
 85225  	// `VirtualMachine.QueryChangedDiskAreas`.
 85226  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 85227  	// The sharing mode of the virtual disk.
 85228  	//
 85229  	// See `VirtualDiskSharing_enum`. The default value is
 85230  	// no sharing.
 85231  	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty"`
 85232  }
 85233  
 85234  func init() {
 85235  	t["VirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem()
 85236  }
 85237  
 85238  // The VirtualDiskOption.RawDiskVer2BackingOption object type
 85239  // contains the available options when backing a virtual disk
 85240  // using a host device on VMware Server.
 85241  type VirtualDiskRawDiskVer2BackingOption struct {
 85242  	VirtualDeviceDeviceBackingOption
 85243  
 85244  	// Valid extensions for the filename of the raw disk descriptor
 85245  	// file.
 85246  	DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions" json:"descriptorFileNameExtensions"`
 85247  	// Flag to indicate whether this backing supports disk UUID property.
 85248  	Uuid bool `xml:"uuid" json:"uuid"`
 85249  }
 85250  
 85251  func init() {
 85252  	t["VirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem()
 85253  }
 85254  
 85255  // The set of virtual disks that are currently disabled
 85256  type VirtualDiskRuleSpec struct {
 85257  	ClusterRuleInfo
 85258  
 85259  	// Type of the virtual disks rule.
 85260  	//
 85261  	// The set of possible values are described
 85262  	// in `VirtualDiskRuleSpecRuleType_enum`
 85263  	DiskRuleType string `xml:"diskRuleType" json:"diskRuleType"`
 85264  	// The list of virtual disks for this rule.
 85265  	DiskId []int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
 85266  }
 85267  
 85268  func init() {
 85269  	t["VirtualDiskRuleSpec"] = reflect.TypeOf((*VirtualDiskRuleSpec)(nil)).Elem()
 85270  }
 85271  
 85272  // Backing type for virtual disks that use the space efficient
 85273  // sparse format.
 85274  //
 85275  // Space for space efficient sparse disks is allocated on
 85276  // demand and optimizations are applied to achieve additional
 85277  // space savings. The effective space usage of such a disk can
 85278  // be obtained from `VirtualMachineFileLayoutEx`.
 85279  type VirtualDiskSeSparseBackingInfo struct {
 85280  	VirtualDeviceFileBackingInfo
 85281  
 85282  	// The disk persistence mode.
 85283  	//
 85284  	// Valid modes are:
 85285  	//   - `persistent`
 85286  	//   - `independent_persistent`
 85287  	//   - `independent_nonpersistent`
 85288  	//   - `nonpersistent`
 85289  	//   - `undoable`
 85290  	//   - `append`
 85291  	//
 85292  	// See also `VirtualDiskMode_enum`.
 85293  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85294  	// Flag to indicate whether writes should go directly to the file system
 85295  	// or should be buffered.
 85296  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85297  	// Disk UUID for the virtual disk, if available.
 85298  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85299  	// Content ID of the virtual disk file, if available.
 85300  	//
 85301  	// A content ID indicates the logical contents of the disk backing and its parents.
 85302  	//
 85303  	// This property is only guaranteed to be up to date if this disk backing is not
 85304  	// currently being written to by any virtual machine.
 85305  	//
 85306  	// The only supported operation is comparing if two content IDs are equal or not.
 85307  	// The guarantee provided by the content ID is that if two disk backings have the
 85308  	// same content ID and are not currently being written to, then reads issued from
 85309  	// the guest operating system to those disk backings will return the same data.
 85310  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85311  	// The change ID of the virtual disk for the corresponding
 85312  	// snapshot or virtual machine.
 85313  	//
 85314  	// This can be used to track
 85315  	// incremental changes to a virtual disk. See `VirtualMachine.QueryChangedDiskAreas`.
 85316  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 85317  	// The parent of this virtual disk file, if this is a delta disk backing.
 85318  	//
 85319  	// This will be unset if this is not a delta disk backing.
 85320  	//
 85321  	// A delta disk backing is a way to preserve a virtual disk backing
 85322  	// at some point in time. A delta disk backing is a file backing which in
 85323  	// turn points to the original virtual disk backing (the parent). After a delta
 85324  	// disk backing is added, all writes go to the delta disk backing. All reads
 85325  	// first try the delta disk backing and then try the parent backing if needed.
 85326  	//
 85327  	// A delta disk backing can be added to a disk either implicitly during
 85328  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85329  	// machine.
 85330  	//
 85331  	// Note that the type of the backing is consistent throughout the chain; any new
 85332  	// delta disk backing which is added is of the same type as the original disk .
 85333  	// Also note that since the parent backing is not being written to,
 85334  	// it is possible that the parent backing may be shared among multiple
 85335  	// disks belonging to multiple virtual machines.
 85336  	//
 85337  	// During virtual machine `creation` and
 85338  	// `reconfiguration` this property is
 85339  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85340  	// an *add operation* with a
 85341  	// *create file operation*.
 85342  	// In this case, a new delta disk backing is created which points to the parent
 85343  	// disk backing. Only the `fileName`
 85344  	// property is important; all other properties will be ignored. The parent backing
 85345  	// is assumed to exist and will not be recursively created.
 85346  	//
 85347  	// This property may only be set if
 85348  	// `deltaDiskBackingsSupported`
 85349  	// is true.
 85350  	Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 85351  	// The format of the delta disk.
 85352  	//
 85353  	// This field is valid only for a delta disk.
 85354  	//
 85355  	// See `DeltaDiskFormat` for the
 85356  	// supported formats. If not specified, the default value used is
 85357  	// `redoLogFormat`.
 85358  	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
 85359  	// Indicates whether the disk backing has digest file enabled.
 85360  	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
 85361  	// Specify the grain size in kB.
 85362  	//
 85363  	// The default size is 4 kB.
 85364  	GrainSize int32 `xml:"grainSize,omitempty" json:"grainSize,omitempty"`
 85365  	// Virtual Disk Backing encryption options.
 85366  	//
 85367  	// On modification operations the value is ignored, use the specification
 85368  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 85369  	// `VirtualDeviceConfigSpec.backing`.
 85370  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 85371  }
 85372  
 85373  func init() {
 85374  	t["VirtualDiskSeSparseBackingInfo"] = reflect.TypeOf((*VirtualDiskSeSparseBackingInfo)(nil)).Elem()
 85375  }
 85376  
 85377  // Backing options for virtual disks that use the space
 85378  // efficient sparse format.
 85379  //
 85380  // Space for Flex-SE disks is allocated on demand and
 85381  // optimizations are applied to achieve additional
 85382  // space savings.
 85383  type VirtualDiskSeSparseBackingOption struct {
 85384  	VirtualDeviceFileBackingOption
 85385  
 85386  	// The disk mode.
 85387  	//
 85388  	// Valid disk modes are:
 85389  	//   - `persistent`
 85390  	//   - `independent_persistent`
 85391  	//   - `independent_nonpersistent`
 85392  	//
 85393  	// See also `VirtualDiskMode_enum`.
 85394  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85395  	// Flag to indicate whether or not the host supports
 85396  	// allowing the client to select "writethrough" as a mode for
 85397  	// virtual disks.
 85398  	//
 85399  	// Typically, this is available only for VMware Server Linux hosts.
 85400  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85401  	// Indicates whether or not this disk backing can be
 85402  	// extended to larger sizes through a reconfigure operation.
 85403  	//
 85404  	// If set to true, reconfiguring this virtual disk
 85405  	// with a `VirtualDisk.capacityInKB` value greater
 85406  	// than its current value will grow the disk to the newly specified size.
 85407  	Growable bool `xml:"growable" json:"growable"`
 85408  	// Indicates whether or not this disk backing can be
 85409  	// extended to larger sizes through a reconfigure operation while
 85410  	// the virtual machine is powered on.
 85411  	//
 85412  	// If set to true, reconfiguring this virtual disk
 85413  	// with a `VirtualDisk.capacityInKB` value greater
 85414  	// than its current value will grow the disk to the newly specified size
 85415  	// while the virtual machine is powered on.
 85416  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 85417  	// Flag to indicate whether this backing supports disk UUID property.
 85418  	Uuid bool `xml:"uuid" json:"uuid"`
 85419  	// Delta disk formats supported for each datastore type.
 85420  	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported" json:"deltaDiskFormatsSupported"`
 85421  }
 85422  
 85423  func init() {
 85424  	t["VirtualDiskSeSparseBackingOption"] = reflect.TypeOf((*VirtualDiskSeSparseBackingOption)(nil)).Elem()
 85425  }
 85426  
 85427  // This data object type contains information about backing a virtual disk by
 85428  // using a virtual disk file on the host, in the sparse disk format used by
 85429  // GSX Server 2.x.
 85430  type VirtualDiskSparseVer1BackingInfo struct {
 85431  	VirtualDeviceFileBackingInfo
 85432  
 85433  	// The disk persistence mode.
 85434  	//
 85435  	// Valid values are:
 85436  	//   - `persistent`
 85437  	//   - `nonpersistent`
 85438  	//   - `undoable`
 85439  	//   - `independent_persistent`
 85440  	//   - `independent_nonpersistent`
 85441  	//   - `append`
 85442  	//
 85443  	// See also `VirtualDiskMode_enum`.
 85444  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85445  	// Flag to indicate the type of virtual disk file: split or monolithic.
 85446  	//
 85447  	// If true, the virtual disk is stored in multiple files, each 2GB.
 85448  	Split *bool `xml:"split" json:"split,omitempty"`
 85449  	// Flag to indicate whether writes should go directly to the file system
 85450  	// or should be buffered.
 85451  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85452  	// The space in use for this sparse disk.
 85453  	//
 85454  	// This information is provided
 85455  	// when retrieving configuration information for an existing virtual
 85456  	// machine. The client cannot modify this information using reconfigure
 85457  	// on a virtual machine.
 85458  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 85459  	// Content ID of the virtual disk file, if available.
 85460  	//
 85461  	// A content ID indicates the logical contents of the disk backing and its parents.
 85462  	//
 85463  	// This property is only guaranteed to be up to date if this disk backing is not
 85464  	// currently being written to by any virtual machine.
 85465  	//
 85466  	// The only supported operation is comparing if two content IDs are equal or not.
 85467  	// The guarantee provided by the content ID is that if two disk backings have the
 85468  	// same content ID and are not currently being written to, then reads issued from
 85469  	// the guest operating system to those disk backings will return the same data.
 85470  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85471  	// The parent of this virtual disk file, if this is a delta disk backing.
 85472  	//
 85473  	// This will be unset if this is not a delta disk backing.
 85474  	//
 85475  	// A delta disk backing is a way to preserve a virtual disk backing
 85476  	// at some point in time. A delta disk backing is a file backing which in
 85477  	// turn points to the original virtual disk backing (the parent). After a delta
 85478  	// disk backing is added, all writes go to the delta disk backing. All reads
 85479  	// first try the delta disk backing and then try the parent backing if needed.
 85480  	//
 85481  	// A delta disk backing can be added to a disk either implicitly during
 85482  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85483  	// machine.
 85484  	//
 85485  	// Note that the type of the backing is consistent throughout the chain; any new
 85486  	// delta disk backing which is added is of the same type as the original disk .
 85487  	// Also note that since the parent backing is not being written to,
 85488  	// it is possible that the parent backing may be shared among multiple
 85489  	// disks belonging to multiple virtual machines.
 85490  	//
 85491  	// During virtual machine `creation` and
 85492  	// `reconfiguration` this property is
 85493  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85494  	// an *add operation* with a
 85495  	// *create file operation*.
 85496  	// In this case, a new delta disk backing is created which points to the parent
 85497  	// disk backing. Only the `fileName`
 85498  	// property is important; all other properties will be ignored. The parent backing
 85499  	// is assumed to exist and will not be recursively created.
 85500  	//
 85501  	// This property may only be set if
 85502  	// `deltaDiskBackingsSupported`
 85503  	// is true.
 85504  	Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 85505  }
 85506  
 85507  func init() {
 85508  	t["VirtualDiskSparseVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingInfo)(nil)).Elem()
 85509  }
 85510  
 85511  // This data object type contains the available options when backing a virtual
 85512  // disk using a host file with the sparse file format from GSX Server 2.x.
 85513  type VirtualDiskSparseVer1BackingOption struct {
 85514  	VirtualDeviceFileBackingOption
 85515  
 85516  	// The disk mode.
 85517  	//
 85518  	// Valid disk modes are:
 85519  	//   - `persistent`
 85520  	//   - `nonpersistent`
 85521  	//   - `undoable`
 85522  	//   - `independent_persistent`
 85523  	//   - `independent_nonpersistent`
 85524  	//   - `append`
 85525  	//
 85526  	// See also `VirtualDiskMode_enum`.
 85527  	DiskModes ChoiceOption `xml:"diskModes" json:"diskModes"`
 85528  	// Flag to indicate whether or not the host supports
 85529  	// allowing the client to select whether or not a sparse disk
 85530  	// should be split.
 85531  	Split BoolOption `xml:"split" json:"split"`
 85532  	// Flag to indicate whether or not the host supports
 85533  	// allowing the client to select "writethrough" as a mode for
 85534  	// virtual disks.
 85535  	//
 85536  	// Typically, this is available only for VMware Server Linux hosts.
 85537  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85538  	// Flag to indicate whether this backing can have its size changed.
 85539  	Growable bool `xml:"growable" json:"growable"`
 85540  }
 85541  
 85542  func init() {
 85543  	t["VirtualDiskSparseVer1BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingOption)(nil)).Elem()
 85544  }
 85545  
 85546  // This data object type contains information about backing a virtual disk by
 85547  // using a virtual disk file on the host, in the sparse disk format used by
 85548  // VMware Server.
 85549  type VirtualDiskSparseVer2BackingInfo struct {
 85550  	VirtualDeviceFileBackingInfo
 85551  
 85552  	// The disk persistence mode.
 85553  	//
 85554  	// Valid modes are:
 85555  	//   - `persistent`
 85556  	//   - `independent_persistent`
 85557  	//   - `independent_nonpersistent`
 85558  	//
 85559  	// See also `VirtualDiskMode_enum`.
 85560  	DiskMode string `xml:"diskMode" json:"diskMode"`
 85561  	// Flag to indicate the type of virtual disk file: split or monolithic.
 85562  	//
 85563  	// If true, the virtual disk is stored in multiple files, each 2GB.
 85564  	Split *bool `xml:"split" json:"split,omitempty"`
 85565  	// Flag to indicate whether writes should go directly to the file system
 85566  	// or should be buffered.
 85567  	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
 85568  	// The space in use for this sparse disk.
 85569  	//
 85570  	// This information is provided
 85571  	// when retrieving configuration information for an exisiting virtual
 85572  	// machine. The client cannot modify this information using reconfigure
 85573  	// on a virtual machine.
 85574  	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
 85575  	// Disk UUID for the virtual disk, if available.
 85576  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 85577  	// Content ID of the virtual disk file, if available.
 85578  	//
 85579  	// A content ID indicates the logical contents of the disk backing and its parents.
 85580  	//
 85581  	// This property is only guaranteed to be up to date if this disk backing is not
 85582  	// currently being written to by any virtual machine.
 85583  	//
 85584  	// The only supported operation is comparing if two content IDs are equal or not.
 85585  	// The guarantee provided by the content ID is that if two disk backings have the
 85586  	// same content ID and are not currently being written to, then reads issued from
 85587  	// the guest operating system to those disk backings will return the same data.
 85588  	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
 85589  	// The change ID of the virtual disk for the corresponding
 85590  	// snapshot or virtual machine.
 85591  	//
 85592  	// This can be used to track
 85593  	// incremental changes to a virtual disk. See
 85594  	// `VirtualMachine.QueryChangedDiskAreas`.
 85595  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 85596  	// The parent of this virtual disk file, if this is a delta disk backing.
 85597  	//
 85598  	// This will be unset if this is not a delta disk backing.
 85599  	//
 85600  	// A delta disk backing is a way to preserve a virtual disk backing
 85601  	// at some point in time. A delta disk backing is a file backing which in
 85602  	// turn points to the original virtual disk backing (the parent). After a delta
 85603  	// disk backing is added, all writes go to the delta disk backing. All reads
 85604  	// first try the delta disk backing and then try the parent backing if needed.
 85605  	//
 85606  	// A delta disk backing can be added to a disk either implicitly during
 85607  	// snapshot operations, or explicitly during create or reconfigure of the virtual
 85608  	// machine.
 85609  	//
 85610  	// Note that the type of the backing is consistent throughout the chain; any new
 85611  	// delta disk backing which is added is of the same type as the original disk .
 85612  	// Also note that since the parent backing is not being written to,
 85613  	// it is possible that the parent backing may be shared among multiple
 85614  	// disks belonging to multiple virtual machines.
 85615  	//
 85616  	// During virtual machine `creation` and
 85617  	// `reconfiguration` this property is
 85618  	// only checked if the `VirtualDeviceConfigSpec` specifies
 85619  	// an *add operation* with a
 85620  	// *create file operation*.
 85621  	// In this case, a new delta disk backing is created which points to the parent
 85622  	// disk backing. Only the `fileName`
 85623  	// property is important; all other properties will be ignored. The parent backing
 85624  	// is assumed to exist and will not be recursively created.
 85625  	//
 85626  	// This property may only be set if
 85627  	// `deltaDiskBackingsSupported`
 85628  	// is true.
 85629  	Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 85630  	// Virtual Disk Backing encryption options.
 85631  	//
 85632  	// On modification operations the value is ignored, use the specification
 85633  	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
 85634  	// `VirtualDeviceConfigSpec.backing`.
 85635  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 85636  }
 85637  
 85638  func init() {
 85639  	t["VirtualDiskSparseVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingInfo)(nil)).Elem()
 85640  }
 85641  
 85642  // This data object type contains the options available when backing a virtual
 85643  // disk using a host file with the sparse file format from VMware Server.
 85644  type VirtualDiskSparseVer2BackingOption struct {
 85645  	VirtualDeviceFileBackingOption
 85646  
 85647  	// The disk mode.
 85648  	//
 85649  	// Valid disk modes are:
 85650  	//   - `persistent`
 85651  	//   - `nonpersistent`
 85652  	//   - `undoable`
 85653  	//   - `independent_persistent`
 85654  	//   - `independent_nonpersistent`
 85655  	//   - `append`
 85656  	//
 85657  	// See also `VirtualDiskMode_enum`.
 85658  	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
 85659  	// Flag to indicate whether or not the host supports
 85660  	// allowing the client to select whether or not a sparse disk
 85661  	// should be split.
 85662  	Split BoolOption `xml:"split" json:"split"`
 85663  	// Flag to indicate whether or not the host supports
 85664  	// allowing the client to select "writethrough" as a mode for
 85665  	// virtual disks.
 85666  	//
 85667  	// Typically, this is available only for VMware Server Linux hosts.
 85668  	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
 85669  	// Indicates whether or not this disk backing can be
 85670  	// extended to larger sizes through a reconfigure operation.
 85671  	//
 85672  	// If set to true, reconfiguring this virtual disk
 85673  	// with a `VirtualDisk.capacityInKB` value greater
 85674  	// than its current value will grow the disk to the newly specified size.
 85675  	Growable bool `xml:"growable" json:"growable"`
 85676  	// Indicates whether or not this disk backing can be
 85677  	// extended to larger sizes through a reconfigure operation while
 85678  	// the virtual machine is powered on.
 85679  	//
 85680  	// If set to true, reconfiguring this virtual disk
 85681  	// with a `VirtualDisk.capacityInKB` value greater
 85682  	// than its current value will grow the disk to the newly specified size
 85683  	// while the virtual machine is powered on.
 85684  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 85685  	// Flag to indicate whether this backing supports disk UUID property.
 85686  	Uuid bool `xml:"uuid" json:"uuid"`
 85687  }
 85688  
 85689  func init() {
 85690  	t["VirtualDiskSparseVer2BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingOption)(nil)).Elem()
 85691  }
 85692  
 85693  // Specification used to create or clone a virtual disk
 85694  type VirtualDiskSpec struct {
 85695  	DynamicData
 85696  
 85697  	// The type of the new virtual disk.
 85698  	//
 85699  	// See also `VirtualDiskType_enum`.
 85700  	DiskType string `xml:"diskType" json:"diskType"`
 85701  	// The type of the virtual disk adapter for the new virtual disk.
 85702  	//
 85703  	// See also `VirtualDiskAdapterType_enum`.
 85704  	AdapterType string `xml:"adapterType" json:"adapterType"`
 85705  }
 85706  
 85707  func init() {
 85708  	t["VirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem()
 85709  }
 85710  
 85711  // Data object describes the vFlash cache configuration on this virtual disk.
 85712  type VirtualDiskVFlashCacheConfigInfo struct {
 85713  	DynamicData
 85714  
 85715  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85716  	// end of availability.
 85717  	//
 85718  	// Name of vFlash module which manages the cache.
 85719  	//
 85720  	// If not specified, default setting
 85721  	// `HostVFlashManagerVFlashCacheConfigSpec.defaultVFlashModule`
 85722  	// will be used.
 85723  	VFlashModule string `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
 85724  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85725  	// end of availability.
 85726  	//
 85727  	// Amount of vFlash resource that is guaranteed available to the cache.
 85728  	//
 85729  	// If not specified,
 85730  	// default reservation will be used.
 85731  	ReservationInMB int64 `xml:"reservationInMB,omitempty" json:"reservationInMB,omitempty"`
 85732  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85733  	// end of availability.
 85734  	//
 85735  	// Cache data consistency types after a crash.
 85736  	//
 85737  	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
 85738  	// for supported types. If not specified, the default value used is
 85739  	// `strong`
 85740  	CacheConsistencyType string `xml:"cacheConsistencyType,omitempty" json:"cacheConsistencyType,omitempty"`
 85741  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85742  	// end of availability.
 85743  	//
 85744  	// Cache modes.
 85745  	//
 85746  	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
 85747  	// for supported modes. If not specified, the default value used is
 85748  	// `write_thru`.
 85749  	CacheMode string `xml:"cacheMode,omitempty" json:"cacheMode,omitempty"`
 85750  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 85751  	// end of availability.
 85752  	//
 85753  	// Cache block size.
 85754  	//
 85755  	// This parameter allows the user to control how much
 85756  	// data gets cached on a single access to the VMDK. Max block size is 1MB.
 85757  	// Default is 4KB.
 85758  	BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty" json:"blockSizeInKB,omitempty"`
 85759  }
 85760  
 85761  func init() {
 85762  	t["VirtualDiskVFlashCacheConfigInfo"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfo)(nil)).Elem()
 85763  }
 85764  
 85765  // The VirtualE1000 data object type represents an instance
 85766  // of the E1000 virtual Ethernet adapter attached to a virtual machine.
 85767  type VirtualE1000 struct {
 85768  	VirtualEthernetCard
 85769  }
 85770  
 85771  func init() {
 85772  	t["VirtualE1000"] = reflect.TypeOf((*VirtualE1000)(nil)).Elem()
 85773  }
 85774  
 85775  // The VirtualE1000 option data object type contains the options for the
 85776  // `VirtualE1000` data object type.
 85777  type VirtualE1000Option struct {
 85778  	VirtualEthernetCardOption
 85779  }
 85780  
 85781  func init() {
 85782  	t["VirtualE1000Option"] = reflect.TypeOf((*VirtualE1000Option)(nil)).Elem()
 85783  }
 85784  
 85785  // The VirtualE1000e data object type represents an instance
 85786  // of the E1000e virtual Ethernet adapter attached to a virtual machine.
 85787  type VirtualE1000e struct {
 85788  	VirtualEthernetCard
 85789  }
 85790  
 85791  func init() {
 85792  	t["VirtualE1000e"] = reflect.TypeOf((*VirtualE1000e)(nil)).Elem()
 85793  }
 85794  
 85795  // The VirtualE1000e option data object type contains the options for the
 85796  // `VirtualE1000e` data object type.
 85797  type VirtualE1000eOption struct {
 85798  	VirtualEthernetCardOption
 85799  }
 85800  
 85801  func init() {
 85802  	t["VirtualE1000eOption"] = reflect.TypeOf((*VirtualE1000eOption)(nil)).Elem()
 85803  }
 85804  
 85805  // The VirtualEnsoniq1371 data object type represents an Ensoniq 1371
 85806  // sound card in a virtual machine.
 85807  type VirtualEnsoniq1371 struct {
 85808  	VirtualSoundCard
 85809  }
 85810  
 85811  func init() {
 85812  	t["VirtualEnsoniq1371"] = reflect.TypeOf((*VirtualEnsoniq1371)(nil)).Elem()
 85813  }
 85814  
 85815  // The VirtualEnsoniq1371Option data object type contains the options for the
 85816  // virtual Ensoniq 1371 sound card.
 85817  type VirtualEnsoniq1371Option struct {
 85818  	VirtualSoundCardOption
 85819  }
 85820  
 85821  func init() {
 85822  	t["VirtualEnsoniq1371Option"] = reflect.TypeOf((*VirtualEnsoniq1371Option)(nil)).Elem()
 85823  }
 85824  
 85825  // The `VirtualEthernetCard` data object contains the properties
 85826  // of an Ethernet adapter attached to a virtual machine.
 85827  type VirtualEthernetCard struct {
 85828  	VirtualDevice
 85829  
 85830  	// MAC address type.
 85831  	//
 85832  	// Valid values for address type are:
 85833  	// <dl>
 85834  	// <dt>Manual</dt>
 85835  	// <dd>Statically assigned MAC address.</dd>
 85836  	// <dt>Generated</dt>
 85837  	// <dd>Automatically generated MAC address.</dd>
 85838  	// <dt>Assigned</dt>
 85839  	// <dd>MAC address assigned by VirtualCenter.</dd>
 85840  	// </dl>
 85841  	AddressType string `xml:"addressType,omitempty" json:"addressType,omitempty"`
 85842  	// MAC address assigned to the virtual network adapter.
 85843  	//
 85844  	// Clients can
 85845  	// set this property to any of the allowed address types. The server might
 85846  	// override the specified value for "Generated" or "Assigned" if it does not
 85847  	// fall in the right ranges or is determined to be a duplicate.
 85848  	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
 85849  	// Indicates whether wake-on-LAN is enabled on this virtual network adapter.
 85850  	//
 85851  	// Clients
 85852  	// can set this property to selectively enable or disable wake-on-LAN.
 85853  	WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled,omitempty"`
 85854  	// Resource requirements of the virtual network adapter
 85855  	ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty" json:"resourceAllocation,omitempty"`
 85856  	// An ID assigned to the virtual network adapter by external management plane or
 85857  	// controller.
 85858  	//
 85859  	// The value and format of this property is determined by external
 85860  	// management plane or controller, and vSphere doesn't do any validation. It's
 85861  	// also up to external management plane or controller to set, unset or maintain
 85862  	// this property. Setting this property with an empty string value will unset the
 85863  	// property.
 85864  	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty"`
 85865  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 85866  	// there is no replacement.
 85867  	//
 85868  	// Indicates whether UPT(Universal Pass-through) compatibility is enabled
 85869  	// on this network adapter.
 85870  	//
 85871  	// UPT is only compatible for Vmxnet3 adapter.
 85872  	// Clients can set this property enabled or disabled if ethernet
 85873  	// virtual device is Vmxnet3.
 85874  	UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled" json:"uptCompatibilityEnabled,omitempty"`
 85875  }
 85876  
 85877  func init() {
 85878  	t["VirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem()
 85879  }
 85880  
 85881  // This data object type contains the options for using a distributed
 85882  // virtual port virtual network card backing data object type.
 85883  type VirtualEthernetCardDVPortBackingOption struct {
 85884  	VirtualDeviceBackingOption
 85885  }
 85886  
 85887  func init() {
 85888  	t["VirtualEthernetCardDVPortBackingOption"] = reflect.TypeOf((*VirtualEthernetCardDVPortBackingOption)(nil)).Elem()
 85889  }
 85890  
 85891  // The `VirtualEthernetCardDistributedVirtualPortBackingInfo`
 85892  // data object defines backing for a virtual Ethernet card that connects
 85893  // to a distributed virtual switch port or portgroup.
 85894  type VirtualEthernetCardDistributedVirtualPortBackingInfo struct {
 85895  	VirtualDeviceBackingInfo
 85896  
 85897  	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
 85898  	// connection.
 85899  	//
 85900  	// To specify a port connection, set the
 85901  	// `DistributedVirtualSwitchPortConnection.portKey` property.
 85902  	// To specify a portgroup connection, set the
 85903  	// `DistributedVirtualSwitchPortConnection.portgroupKey` property.
 85904  	//
 85905  	// This property will be unset during Virtual Machine or template cloning
 85906  	// operation unless it's set to a `DistributedVirtualSwitchPortConnection`
 85907  	// object and the portgroup is a late binding portgroup.
 85908  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 85909  }
 85910  
 85911  func init() {
 85912  	t["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardDistributedVirtualPortBackingInfo)(nil)).Elem()
 85913  }
 85914  
 85915  // The `VirtualEthernetCardLegacyNetworkBackingInfo` data object
 85916  // provides legacy backing for a virtual Ethernet card.
 85917  type VirtualEthernetCardLegacyNetworkBackingInfo struct {
 85918  	VirtualDeviceDeviceBackingInfo
 85919  }
 85920  
 85921  func init() {
 85922  	t["VirtualEthernetCardLegacyNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingInfo)(nil)).Elem()
 85923  }
 85924  
 85925  // This data object type contains the options
 85926  // for using a legacy virtual network card backing data object type.
 85927  type VirtualEthernetCardLegacyNetworkBackingOption struct {
 85928  	VirtualDeviceDeviceBackingOption
 85929  }
 85930  
 85931  func init() {
 85932  	t["VirtualEthernetCardLegacyNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingOption)(nil)).Elem()
 85933  }
 85934  
 85935  // The `VirtualEthernetCardNetworkBackingInfo` data object
 85936  // defines network backing for a virtual Ethernet card.
 85937  type VirtualEthernetCardNetworkBackingInfo struct {
 85938  	VirtualDeviceDeviceBackingInfo
 85939  
 85940  	// Reference to the network managed object to which this backing applies.
 85941  	//
 85942  	// This is not used during configuration.
 85943  	//
 85944  	// Refers instance of `Network`.
 85945  	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
 85946  	// Deprecated as of vSphere API 4.0, this property is not supported.
 85947  	// &nbsp;.
 85948  	//
 85949  	// &nbsp;
 85950  	InPassthroughMode *bool `xml:"inPassthroughMode" json:"inPassthroughMode,omitempty"`
 85951  }
 85952  
 85953  func init() {
 85954  	t["VirtualEthernetCardNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingInfo)(nil)).Elem()
 85955  }
 85956  
 85957  // This data object type contains the options for
 85958  // the virtual network card backing data object type.
 85959  type VirtualEthernetCardNetworkBackingOption struct {
 85960  	VirtualDeviceDeviceBackingOption
 85961  }
 85962  
 85963  func init() {
 85964  	t["VirtualEthernetCardNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingOption)(nil)).Elem()
 85965  }
 85966  
 85967  // The virtual machine's virtual ethernet card is not supported.
 85968  type VirtualEthernetCardNotSupported struct {
 85969  	DeviceNotSupported
 85970  }
 85971  
 85972  func init() {
 85973  	t["VirtualEthernetCardNotSupported"] = reflect.TypeOf((*VirtualEthernetCardNotSupported)(nil)).Elem()
 85974  }
 85975  
 85976  type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported
 85977  
 85978  func init() {
 85979  	t["VirtualEthernetCardNotSupportedFault"] = reflect.TypeOf((*VirtualEthernetCardNotSupportedFault)(nil)).Elem()
 85980  }
 85981  
 85982  // This class defines backing for a virtual Ethernet card that connects
 85983  // to an opaque network.
 85984  type VirtualEthernetCardOpaqueNetworkBackingInfo struct {
 85985  	VirtualDeviceBackingInfo
 85986  
 85987  	// The opaque network ID
 85988  	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
 85989  	// The opaque network type
 85990  	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
 85991  }
 85992  
 85993  func init() {
 85994  	t["VirtualEthernetCardOpaqueNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingInfo)(nil)).Elem()
 85995  }
 85996  
 85997  // This data object type contains the options for
 85998  // the virtual network card backing data object type.
 85999  type VirtualEthernetCardOpaqueNetworkBackingOption struct {
 86000  	VirtualDeviceBackingOption
 86001  }
 86002  
 86003  func init() {
 86004  	t["VirtualEthernetCardOpaqueNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingOption)(nil)).Elem()
 86005  }
 86006  
 86007  // This data object type contains the options for the
 86008  // virtual ethernet card data object type.
 86009  type VirtualEthernetCardOption struct {
 86010  	VirtualDeviceOption
 86011  
 86012  	// The valid Organizational Unique Identifiers (OUIs)
 86013  	// supported by this virtual Ethernet card.
 86014  	//
 86015  	// <dl>
 86016  	// <dt>Supported OUIs for statically assigned MAC addresses:</dt>
 86017  	// <dd>"00:50:56"</dd>
 86018  	// </dl>
 86019  	SupportedOUI ChoiceOption `xml:"supportedOUI" json:"supportedOUI"`
 86020  	// The supported MAC address types.
 86021  	MacType ChoiceOption `xml:"macType" json:"macType"`
 86022  	// Flag to indicate whether or not wake-on-LAN is settable on this device.
 86023  	WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled"`
 86024  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 86025  	// there is no replacement.
 86026  	//
 86027  	// Flag to indicate whether VMDirectPath Gen 2 is available on this device.
 86028  	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
 86029  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
 86030  	// there is no replacement.
 86031  	//
 86032  	// Flag to indicate whether Universal Pass-through(UPT) is settable on this device.
 86033  	UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty" json:"uptCompatibilityEnabled,omitempty"`
 86034  }
 86035  
 86036  func init() {
 86037  	t["VirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem()
 86038  }
 86039  
 86040  // This class specifies the network resource requirement.
 86041  type VirtualEthernetCardResourceAllocation struct {
 86042  	DynamicData
 86043  
 86044  	// Amount of network bandwidth that is guaranteed to the
 86045  	// virtual network adapter.
 86046  	//
 86047  	// If utilization is less than reservation, the resource can be used by
 86048  	// other virtual network adapters. Reservation is not allowed to exceed the
 86049  	// value of `VirtualEthernetCardResourceAllocation.limit` if
 86050  	// `VirtualEthernetCardResourceAllocation.limit` is set.
 86051  	// Units in Mbits/sec.
 86052  	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
 86053  	// Network share.
 86054  	//
 86055  	// The value is used as a relative weight in
 86056  	// competing for shared bandwidth, in case of resource contention.
 86057  	Share SharesInfo `xml:"share" json:"share"`
 86058  	// The bandwidth limit for the virtual network adapter.
 86059  	//
 86060  	// The utilization of the virtual network adapter will not
 86061  	// exceed this limit, even if there are available resources.
 86062  	// To clear the value of this property and revert it to unset,
 86063  	// set the vaule to "-1" in an update operation.
 86064  	// Units in Mbits/sec.
 86065  	Limit *int64 `xml:"limit" json:"limit,omitempty"`
 86066  }
 86067  
 86068  func init() {
 86069  	t["VirtualEthernetCardResourceAllocation"] = reflect.TypeOf((*VirtualEthernetCardResourceAllocation)(nil)).Elem()
 86070  }
 86071  
 86072  // The VirtualFloppy data object type contains information about a floppy drive
 86073  // in a virtual machine.
 86074  type VirtualFloppy struct {
 86075  	VirtualDevice
 86076  }
 86077  
 86078  func init() {
 86079  	t["VirtualFloppy"] = reflect.TypeOf((*VirtualFloppy)(nil)).Elem()
 86080  }
 86081  
 86082  // The data object type for device backing of a virtual floppy drive.
 86083  type VirtualFloppyDeviceBackingInfo struct {
 86084  	VirtualDeviceDeviceBackingInfo
 86085  }
 86086  
 86087  func init() {
 86088  	t["VirtualFloppyDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyDeviceBackingInfo)(nil)).Elem()
 86089  }
 86090  
 86091  // The DeviceBackingOption data object type contains the options
 86092  // for the floppy device backing type.
 86093  type VirtualFloppyDeviceBackingOption struct {
 86094  	VirtualDeviceDeviceBackingOption
 86095  }
 86096  
 86097  func init() {
 86098  	t["VirtualFloppyDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyDeviceBackingOption)(nil)).Elem()
 86099  }
 86100  
 86101  // The data object type for file image backing of a virtual floppy drive.
 86102  type VirtualFloppyImageBackingInfo struct {
 86103  	VirtualDeviceFileBackingInfo
 86104  }
 86105  
 86106  func init() {
 86107  	t["VirtualFloppyImageBackingInfo"] = reflect.TypeOf((*VirtualFloppyImageBackingInfo)(nil)).Elem()
 86108  }
 86109  
 86110  // The ImageBackingOption data object type contains the options
 86111  // for the floppy image backing type.
 86112  type VirtualFloppyImageBackingOption struct {
 86113  	VirtualDeviceFileBackingOption
 86114  }
 86115  
 86116  func init() {
 86117  	t["VirtualFloppyImageBackingOption"] = reflect.TypeOf((*VirtualFloppyImageBackingOption)(nil)).Elem()
 86118  }
 86119  
 86120  // The VirtualFloppyOption data class contains the options for the
 86121  // virtual floppy data object type.
 86122  type VirtualFloppyOption struct {
 86123  	VirtualDeviceOption
 86124  }
 86125  
 86126  func init() {
 86127  	t["VirtualFloppyOption"] = reflect.TypeOf((*VirtualFloppyOption)(nil)).Elem()
 86128  }
 86129  
 86130  // The data object type for remote device backing of a virtual floppy drive.
 86131  type VirtualFloppyRemoteDeviceBackingInfo struct {
 86132  	VirtualDeviceRemoteDeviceBackingInfo
 86133  }
 86134  
 86135  func init() {
 86136  	t["VirtualFloppyRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingInfo)(nil)).Elem()
 86137  }
 86138  
 86139  // The RemoteDeviceBackingOption data object type contains the options
 86140  // for the floppy remote device backing type.
 86141  type VirtualFloppyRemoteDeviceBackingOption struct {
 86142  	VirtualDeviceRemoteDeviceBackingOption
 86143  }
 86144  
 86145  func init() {
 86146  	t["VirtualFloppyRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingOption)(nil)).Elem()
 86147  }
 86148  
 86149  // The VirtualHardware data object type contains the complete configuration
 86150  // of the hardware in a virtual machine.
 86151  type VirtualHardware struct {
 86152  	DynamicData
 86153  
 86154  	// Number of virtual CPUs present in this virtual machine.
 86155  	NumCPU int32 `xml:"numCPU" json:"numCPU"`
 86156  	// Number of cores used to distribute virtual CPUs among sockets
 86157  	// in this virtual machine.
 86158  	//
 86159  	// This field should be ignored for powered off VM with
 86160  	// autoCoresPerSocket equals TRUE, because the virtual socket size
 86161  	// will be assigned during power-on.
 86162  	// This field could be unset for releases prior to 7.0 U3, and it
 86163  	// implies numCoresPerSocket is 1.
 86164  	// In other cases, this field represents the actual virtual socket
 86165  	// size seen by the virtual machine.
 86166  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 86167  	// Cores per socket is automatically determined.
 86168  	AutoCoresPerSocket *bool `xml:"autoCoresPerSocket" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 86169  	// Memory size, in MB.
 86170  	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
 86171  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 86172  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty"`
 86173  	// Does this virtual machine have System Management Controller
 86174  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty"`
 86175  	// The set of virtual devices belonging to the virtual machine.
 86176  	//
 86177  	// This list is unordered.
 86178  	Device []BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
 86179  	// One of motherboardLayout choices.
 86180  	//
 86181  	// Default is i440bxHostBridge. See
 86182  	// `VirtualHardware.motherboardLayout`
 86183  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 86184  	// Number of SMT (Simultaneous multithreading) threads.
 86185  	//
 86186  	// If unset, then system defaults are in use.
 86187  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 86188  }
 86189  
 86190  func init() {
 86191  	t["VirtualHardware"] = reflect.TypeOf((*VirtualHardware)(nil)).Elem()
 86192  }
 86193  
 86194  // There is a problem with the compatibility between the intended execution host
 86195  // and the virtual machine.
 86196  //
 86197  // This may be an error or warning depending on
 86198  // the specific fault subclass.
 86199  type VirtualHardwareCompatibilityIssue struct {
 86200  	VmConfigFault
 86201  }
 86202  
 86203  func init() {
 86204  	t["VirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem()
 86205  }
 86206  
 86207  type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue
 86208  
 86209  func init() {
 86210  	t["VirtualHardwareCompatibilityIssueFault"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssueFault)(nil)).Elem()
 86211  }
 86212  
 86213  // The VirtualHardwareOption data object contains the options available
 86214  // for all virtual devices.
 86215  type VirtualHardwareOption struct {
 86216  	DynamicData
 86217  
 86218  	// The virtual hardware version.
 86219  	HwVersion int32 `xml:"hwVersion" json:"hwVersion"`
 86220  	// Array of virtual device options valid for this virtual
 86221  	// machine configuration.
 86222  	//
 86223  	// The list is unordered.
 86224  	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr" json:"virtualDeviceOption"`
 86225  	// Whether the set of virtual devices can be changed, e.g., can devices
 86226  	// be added or removed.
 86227  	//
 86228  	// This does not preclude changing devices.
 86229  	DeviceListReadonly bool `xml:"deviceListReadonly" json:"deviceListReadonly"`
 86230  	// List of acceptable values for the number of CPUs supported by this
 86231  	// `ConfigOption`.
 86232  	//
 86233  	// This is usually superceded by the information available in the
 86234  	// guest operating system descriptors.
 86235  	// The guest operating system descriptor describes a maximum CPU
 86236  	// count, but the acceptable values are still constrained to the
 86237  	// set specified here. The default value is stored at index 0 in the list.
 86238  	NumCPU []int32 `xml:"numCPU" json:"numCPU"`
 86239  	// The minimum, maximum and default number of cores per socket that
 86240  	// can be used when distributing virtual CPUs.
 86241  	NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 86242  	// Whether auto cores per socket is supported.
 86243  	AutoCoresPerSocket *BoolOption `xml:"autoCoresPerSocket,omitempty" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
 86244  	// Can the number of virtual CPUs be changed
 86245  	NumCpuReadonly bool `xml:"numCpuReadonly" json:"numCpuReadonly"`
 86246  	// The minimum, maximum, and default memory options, in MB, per virtual machine,
 86247  	// for this VirtualHardwareOption.
 86248  	//
 86249  	// These
 86250  	// values are typically overruled by the supported and recommended
 86251  	// values specified in the `GuestOsDescriptor` class.
 86252  	MemoryMB LongOption `xml:"memoryMB" json:"memoryMB"`
 86253  	// The minimum, maximum, and default number of PCI controllers for
 86254  	// this virtual machine configuration.
 86255  	NumPCIControllers IntOption `xml:"numPCIControllers" json:"numPCIControllers"`
 86256  	// The minimum, maximum, and default number of IDE controllers for
 86257  	// this virtual machine configuration.
 86258  	//
 86259  	// Note: SCSI controllers sit
 86260  	// on the PCI controller so their options (minimum, maximum, and default values)
 86261  	// are contained inside the
 86262  	// `VirtualPCIControllerOption`
 86263  	// class.
 86264  	NumIDEControllers IntOption `xml:"numIDEControllers" json:"numIDEControllers"`
 86265  	// The minimum, maximum, and default number of USB controllers for
 86266  	// this virtual machine configuration.
 86267  	NumUSBControllers IntOption `xml:"numUSBControllers" json:"numUSBControllers"`
 86268  	// The minimum, maximum, and default number of XHCI (USB 3.0) controllers for
 86269  	// this virtual machine configuration.
 86270  	NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty" json:"numUSBXHCIControllers,omitempty"`
 86271  	// The minimum, maximum, and default number of SIO controllers for
 86272  	// this virtual machine configuration.
 86273  	NumSIOControllers IntOption `xml:"numSIOControllers" json:"numSIOControllers"`
 86274  	// The minimum, maximum, and default number of PS2 controllers for
 86275  	// this virtual machine configuration.
 86276  	NumPS2Controllers IntOption `xml:"numPS2Controllers" json:"numPS2Controllers"`
 86277  	// List of propery names which limits are given be a licensing
 86278  	// restriction of the underlying product, e.g., a limit that is
 86279  	// not derived based on the product or hardware features.
 86280  	//
 86281  	// For example, the property name "numCPU"
 86282  	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
 86283  	// The minimum, maximum and default number of NPIV WorldWideNode names
 86284  	// supported for this virtual machine configuration.
 86285  	NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty" json:"numSupportedWwnPorts,omitempty"`
 86286  	// The minimum, maximum and default number of NPIV WorldWidePort names
 86287  	// supported for this virtual machine configuration.
 86288  	NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty" json:"numSupportedWwnNodes,omitempty"`
 86289  	// Default value and value range for `ResourceConfigOption`
 86290  	ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty" json:"resourceConfigOption,omitempty"`
 86291  	// The minimum, maximum and default number of virtual NVDIMM controllers
 86292  	// for this virtual machine configuration.
 86293  	NumNVDIMMControllers *IntOption `xml:"numNVDIMMControllers,omitempty" json:"numNVDIMMControllers,omitempty"`
 86294  	// The minimum, maximum, and default number of virtual TPMs.
 86295  	NumTPMDevices *IntOption `xml:"numTPMDevices,omitempty" json:"numTPMDevices,omitempty"`
 86296  	// The minimum, maximum, and default number of virtual watchdog timers.
 86297  	NumWDTDevices *IntOption `xml:"numWDTDevices,omitempty" json:"numWDTDevices,omitempty"`
 86298  	// The minimum, maximum and default number of PrecisionClock devices.
 86299  	NumPrecisionClockDevices *IntOption `xml:"numPrecisionClockDevices,omitempty" json:"numPrecisionClockDevices,omitempty"`
 86300  	// The minimum, maximum and default value of Intel's Secure Guard Extensions
 86301  	// Enclave Page Cache (EPC) memory.
 86302  	EpcMemoryMB *LongOption `xml:"epcMemoryMB,omitempty" json:"epcMemoryMB,omitempty"`
 86303  	// Empty for HWv17 &amp; older, \["efi"\] for HWv18.
 86304  	AcpiHostBridgesFirmware []string `xml:"acpiHostBridgesFirmware,omitempty" json:"acpiHostBridgesFirmware,omitempty" vim:"8.0.0.1"`
 86305  	// The minimum, maximum and default number of CPU simultaneous threads.
 86306  	NumCpuSimultaneousThreads *IntOption `xml:"numCpuSimultaneousThreads,omitempty" json:"numCpuSimultaneousThreads,omitempty" vim:"8.0.0.1"`
 86307  	// The minimum, maximum and default number of NUMA nodes.
 86308  	NumNumaNodes *IntOption `xml:"numNumaNodes,omitempty" json:"numNumaNodes,omitempty" vim:"8.0.0.1"`
 86309  	// Maximum number of device groups.
 86310  	NumDeviceGroups *IntOption `xml:"numDeviceGroups,omitempty" json:"numDeviceGroups,omitempty" vim:"8.0.0.1"`
 86311  	// Supported device group types.
 86312  	DeviceGroupTypes []string `xml:"deviceGroupTypes,omitempty" json:"deviceGroupTypes,omitempty" vim:"8.0.0.1"`
 86313  }
 86314  
 86315  func init() {
 86316  	t["VirtualHardwareOption"] = reflect.TypeOf((*VirtualHardwareOption)(nil)).Elem()
 86317  }
 86318  
 86319  // The virtual machine's virtual hardware version is not supported on the host.
 86320  type VirtualHardwareVersionNotSupported struct {
 86321  	VirtualHardwareCompatibilityIssue
 86322  
 86323  	HostName string `xml:"hostName" json:"hostName"`
 86324  	// The host.
 86325  	//
 86326  	// Refers instance of `HostSystem`.
 86327  	Host ManagedObjectReference `xml:"host" json:"host"`
 86328  }
 86329  
 86330  func init() {
 86331  	t["VirtualHardwareVersionNotSupported"] = reflect.TypeOf((*VirtualHardwareVersionNotSupported)(nil)).Elem()
 86332  }
 86333  
 86334  type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported
 86335  
 86336  func init() {
 86337  	t["VirtualHardwareVersionNotSupportedFault"] = reflect.TypeOf((*VirtualHardwareVersionNotSupportedFault)(nil)).Elem()
 86338  }
 86339  
 86340  // The VirtualHdAudioCard data object type represents a HD Audio
 86341  // sound card in a virtual machine.
 86342  type VirtualHdAudioCard struct {
 86343  	VirtualSoundCard
 86344  }
 86345  
 86346  func init() {
 86347  	t["VirtualHdAudioCard"] = reflect.TypeOf((*VirtualHdAudioCard)(nil)).Elem()
 86348  }
 86349  
 86350  // The VirtualHdAudioCardOption data object type contains the options for a
 86351  // virtual HD Audio sound card.
 86352  type VirtualHdAudioCardOption struct {
 86353  	VirtualSoundCardOption
 86354  }
 86355  
 86356  func init() {
 86357  	t["VirtualHdAudioCardOption"] = reflect.TypeOf((*VirtualHdAudioCardOption)(nil)).Elem()
 86358  }
 86359  
 86360  // The VirtualIDEController data object type specifies a virtual IDE controller.
 86361  type VirtualIDEController struct {
 86362  	VirtualController
 86363  }
 86364  
 86365  func init() {
 86366  	t["VirtualIDEController"] = reflect.TypeOf((*VirtualIDEController)(nil)).Elem()
 86367  }
 86368  
 86369  // The VirtualIDEControllerOption data object type contains the options
 86370  // for a virtual IDE controller.
 86371  type VirtualIDEControllerOption struct {
 86372  	VirtualControllerOption
 86373  
 86374  	// The minimum, maximum, and default number of IDE VirtualDisk instances you can
 86375  	// have, at any given time, in the IDE controller.
 86376  	//
 86377  	// The number is further constrained
 86378  	// by the number of available slots in the virtual IDE controller.
 86379  	NumIDEDisks IntOption `xml:"numIDEDisks" json:"numIDEDisks"`
 86380  	// The minimum, maximum, and default number of IDE VirtualCdrom instances you can
 86381  	// have, at any given time, in the IDE controller.
 86382  	//
 86383  	// The number is further constrained
 86384  	// by the number of available slots in the virtual IDE controller.
 86385  	NumIDECdroms IntOption `xml:"numIDECdroms" json:"numIDECdroms"`
 86386  }
 86387  
 86388  func init() {
 86389  	t["VirtualIDEControllerOption"] = reflect.TypeOf((*VirtualIDEControllerOption)(nil)).Elem()
 86390  }
 86391  
 86392  // This data object type contains information about
 86393  // the keyboard on a virtual machine.
 86394  type VirtualKeyboard struct {
 86395  	VirtualDevice
 86396  }
 86397  
 86398  func init() {
 86399  	t["VirtualKeyboard"] = reflect.TypeOf((*VirtualKeyboard)(nil)).Elem()
 86400  }
 86401  
 86402  // The VirtualKeyboardOption data object type contains the options for the
 86403  // virtual keyboard class.
 86404  type VirtualKeyboardOption struct {
 86405  	VirtualDeviceOption
 86406  }
 86407  
 86408  func init() {
 86409  	t["VirtualKeyboardOption"] = reflect.TypeOf((*VirtualKeyboardOption)(nil)).Elem()
 86410  }
 86411  
 86412  // VirtualLsiLogicController is the data object that represents
 86413  // a LSI Logic SCSI controller.
 86414  type VirtualLsiLogicController struct {
 86415  	VirtualSCSIController
 86416  }
 86417  
 86418  func init() {
 86419  	t["VirtualLsiLogicController"] = reflect.TypeOf((*VirtualLsiLogicController)(nil)).Elem()
 86420  }
 86421  
 86422  // VirtualLsiLogicControllerOption is the data object that contains
 86423  // the options for a LSI Logic SCSI controller.
 86424  type VirtualLsiLogicControllerOption struct {
 86425  	VirtualSCSIControllerOption
 86426  }
 86427  
 86428  func init() {
 86429  	t["VirtualLsiLogicControllerOption"] = reflect.TypeOf((*VirtualLsiLogicControllerOption)(nil)).Elem()
 86430  }
 86431  
 86432  // VirtualLsiLogicSASController is the data object that represents
 86433  // a LSI Logic SAS SCSI controller.
 86434  type VirtualLsiLogicSASController struct {
 86435  	VirtualSCSIController
 86436  }
 86437  
 86438  func init() {
 86439  	t["VirtualLsiLogicSASController"] = reflect.TypeOf((*VirtualLsiLogicSASController)(nil)).Elem()
 86440  }
 86441  
 86442  // VirtualLsiLogicSASControllerOption is the data object that contains
 86443  // the options for a LSI Logic SAS SCSI controller.
 86444  type VirtualLsiLogicSASControllerOption struct {
 86445  	VirtualSCSIControllerOption
 86446  }
 86447  
 86448  func init() {
 86449  	t["VirtualLsiLogicSASControllerOption"] = reflect.TypeOf((*VirtualLsiLogicSASControllerOption)(nil)).Elem()
 86450  }
 86451  
 86452  // Specification of scheduling affinity.
 86453  //
 86454  // Scheduling affinity is used for explicitly specifying which
 86455  // processors or NUMA nodes may be used by a virtual machine.
 86456  type VirtualMachineAffinityInfo struct {
 86457  	DynamicData
 86458  
 86459  	// List of nodes (processors for CPU, NUMA nodes for memory) that
 86460  	// may be used by the virtual machine.
 86461  	//
 86462  	// If the array is empty when
 86463  	// modifying the affinity setting, then any existing affinity is removed.
 86464  	AffinitySet []int32 `xml:"affinitySet" json:"affinitySet"`
 86465  }
 86466  
 86467  func init() {
 86468  	t["VirtualMachineAffinityInfo"] = reflect.TypeOf((*VirtualMachineAffinityInfo)(nil)).Elem()
 86469  }
 86470  
 86471  // The BaseIndependentFilterSpec is base class for two different types
 86472  // of independent filter specs `VirtualMachineIndependentFilterSpec`
 86473  // and `VirtualMachineEmptyIndependentFilterSpec` which are used to specify
 86474  // independent filters to be attached/removed on VMs virtual disk.
 86475  type VirtualMachineBaseIndependentFilterSpec struct {
 86476  	DynamicData
 86477  }
 86478  
 86479  func init() {
 86480  	t["VirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineBaseIndependentFilterSpec)(nil)).Elem()
 86481  	minAPIVersionForType["VirtualMachineBaseIndependentFilterSpec"] = "7.0.2.1"
 86482  }
 86483  
 86484  // The `VirtualMachineBootOptions` data object defines the boot-time
 86485  // behavior of a virtual machine.
 86486  //
 86487  // You can use the delay options to specify a time interval
 86488  // during which you can enter the virtual machine BIOS setup.
 86489  // These options provide a solution for the situation that occurs
 86490  // when the console attaches to the virtual machine after
 86491  // the boot sequence has passed the BIOS setup entry point.
 86492  type VirtualMachineBootOptions struct {
 86493  	DynamicData
 86494  
 86495  	// Delay in milliseconds before starting the boot sequence.
 86496  	//
 86497  	// The boot delay specifies a time interval between virtual machine
 86498  	// power on or restart and the beginning of the boot sequence.
 86499  	BootDelay int64 `xml:"bootDelay,omitempty" json:"bootDelay,omitempty"`
 86500  	// If set to <code>true</code>, the virtual machine
 86501  	// automatically enters BIOS setup the next time it boots.
 86502  	//
 86503  	// The virtual machine resets this flag to <code>false</code>
 86504  	// so that subsequent boots proceed normally.
 86505  	EnterBIOSSetup *bool `xml:"enterBIOSSetup" json:"enterBIOSSetup,omitempty"`
 86506  	// If set to <code>true</code>, the virtual machine's firmware will
 86507  	// perform signature checks of any EFI images loaded during startup, and
 86508  	// will refuse to start any images which do not pass those signature
 86509  	// checks.
 86510  	//
 86511  	// When creating a new VM:
 86512  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 86513  	// and this flag is set to <code>false</code> error is returned.
 86514  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 86515  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 86516  	EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled" json:"efiSecureBootEnabled,omitempty"`
 86517  	// If set to <code>true</code>, a virtual machine that fails
 86518  	// to boot will try again after the `VirtualMachineBootOptions.bootRetryDelay`
 86519  	// time period has expired.
 86520  	//
 86521  	// When <code>false</code>,
 86522  	// the virtual machine waits indefinitely for you to initiate
 86523  	// boot retry.
 86524  	BootRetryEnabled *bool `xml:"bootRetryEnabled" json:"bootRetryEnabled,omitempty"`
 86525  	// Delay in milliseconds before a boot retry.
 86526  	//
 86527  	// The boot retry delay
 86528  	// specifies a time interval between virtual machine boot failure
 86529  	// and the subsequent attempt to boot again. The virtual machine
 86530  	// uses this value only if `VirtualMachineBootOptions.bootRetryEnabled` is true.
 86531  	BootRetryDelay int64 `xml:"bootRetryDelay,omitempty" json:"bootRetryDelay,omitempty"`
 86532  	// Boot order.
 86533  	//
 86534  	// Listed devices are used for booting. After list
 86535  	// is exhausted, default BIOS boot device algorithm is used for
 86536  	// booting.
 86537  	// Note that order of the entries in the list is important:
 86538  	// device listed first is used for boot first, if that one
 86539  	// fails second entry is used, and so on.
 86540  	// Platform may have some internal limit on the number of devices
 86541  	// it supports. If bootable device is not reached before platform's
 86542  	// limit is hit, boot will fail. At least single entry is supported
 86543  	// by all products supporting boot order settings.
 86544  	BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr" json:"bootOrder,omitempty"`
 86545  	// Protocol to attempt during PXE network boot or NetBoot.
 86546  	//
 86547  	// See also `VirtualMachineBootOptionsNetworkBootProtocolType_enum`.
 86548  	NetworkBootProtocol string `xml:"networkBootProtocol,omitempty" json:"networkBootProtocol,omitempty"`
 86549  }
 86550  
 86551  func init() {
 86552  	t["VirtualMachineBootOptions"] = reflect.TypeOf((*VirtualMachineBootOptions)(nil)).Elem()
 86553  }
 86554  
 86555  // Bootable CDROM.
 86556  //
 86557  // First CDROM with bootable media found is used.
 86558  type VirtualMachineBootOptionsBootableCdromDevice struct {
 86559  	VirtualMachineBootOptionsBootableDevice
 86560  }
 86561  
 86562  func init() {
 86563  	t["VirtualMachineBootOptionsBootableCdromDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableCdromDevice)(nil)).Elem()
 86564  }
 86565  
 86566  // Bootable device.
 86567  type VirtualMachineBootOptionsBootableDevice struct {
 86568  	DynamicData
 86569  }
 86570  
 86571  func init() {
 86572  	t["VirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem()
 86573  }
 86574  
 86575  // Bootable disk.
 86576  type VirtualMachineBootOptionsBootableDiskDevice struct {
 86577  	VirtualMachineBootOptionsBootableDevice
 86578  
 86579  	// `Key`
 86580  	// property of the bootable harddisk.
 86581  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 86582  }
 86583  
 86584  func init() {
 86585  	t["VirtualMachineBootOptionsBootableDiskDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDiskDevice)(nil)).Elem()
 86586  }
 86587  
 86588  // Bootable ethernet adapter.
 86589  //
 86590  // PXE boot is attempted from the device.
 86591  type VirtualMachineBootOptionsBootableEthernetDevice struct {
 86592  	VirtualMachineBootOptionsBootableDevice
 86593  
 86594  	// `Key`
 86595  	// property of the bootable ethernet adapter.
 86596  	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
 86597  }
 86598  
 86599  func init() {
 86600  	t["VirtualMachineBootOptionsBootableEthernetDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableEthernetDevice)(nil)).Elem()
 86601  }
 86602  
 86603  // Bootable floppy disk.
 86604  type VirtualMachineBootOptionsBootableFloppyDevice struct {
 86605  	VirtualMachineBootOptionsBootableDevice
 86606  }
 86607  
 86608  func init() {
 86609  	t["VirtualMachineBootOptionsBootableFloppyDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableFloppyDevice)(nil)).Elem()
 86610  }
 86611  
 86612  // This data object type contains information about the
 86613  // operation/capabilities of a virtual machine
 86614  type VirtualMachineCapability struct {
 86615  	DynamicData
 86616  
 86617  	// Indicates whether or not a virtual machine supports snapshot operations.
 86618  	SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported" json:"snapshotOperationsSupported"`
 86619  	// Indicates whether or not a virtual machine supports multiple snapshots.
 86620  	//
 86621  	// This value is not set when the virtual machine is unavailable, for instance,
 86622  	// when it is being created or deleted.
 86623  	MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported" json:"multipleSnapshotsSupported"`
 86624  	// Indicates whether or not a virtual machine supports snapshot config.
 86625  	SnapshotConfigSupported bool `xml:"snapshotConfigSupported" json:"snapshotConfigSupported"`
 86626  	// Indicates whether or not a virtual machine supports snapshot operations in
 86627  	// poweredOff state.
 86628  	//
 86629  	// This flag doesn't affect vim.VirtualMachine.GetSnapshot,
 86630  	// which is always supported.
 86631  	PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported" json:"poweredOffSnapshotsSupported"`
 86632  	// Indicates whether or not a virtual machine supports memory snapshots.
 86633  	MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported" json:"memorySnapshotsSupported"`
 86634  	// Indicates whether or not a virtual machine supports reverting to a snapshot.
 86635  	RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported" json:"revertToSnapshotSupported"`
 86636  	// Indicates whether or not a virtual machine supports quiesced snapshots.
 86637  	QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported" json:"quiescedSnapshotsSupported"`
 86638  	// Deprecated as of vSphere API 4.0. The value returned from the server is
 86639  	// always false.
 86640  	//
 86641  	// Indicates whether or not snapshots can be disabled.
 86642  	DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported" json:"disableSnapshotsSupported"`
 86643  	// Indicates whether or not the snapshot tree can be locked.
 86644  	LockSnapshotsSupported bool `xml:"lockSnapshotsSupported" json:"lockSnapshotsSupported"`
 86645  	// Indicates whether console preferences can be set for this virtual machine.
 86646  	ConsolePreferencesSupported bool `xml:"consolePreferencesSupported" json:"consolePreferencesSupported"`
 86647  	// Indicates whether CPU feature requirements masks can be set for this
 86648  	// virtual machine.
 86649  	//
 86650  	// Masking for hardware version 9 and newer virtual
 86651  	// machines is controlled by `VirtualMachineCapability.featureRequirementSupported`.
 86652  	CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported" json:"cpuFeatureMaskSupported"`
 86653  	// Indicates whether or not a virtual machine supports ACPI S1 settings management.
 86654  	S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported" json:"s1AcpiManagementSupported"`
 86655  	// Indicates whether of not this virtual machine supports
 86656  	// setting the screen resolution of the console window.
 86657  	//
 86658  	// This capability depends on the guest operating system
 86659  	// configured for this virtual machine.
 86660  	SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported" json:"settingScreenResolutionSupported"`
 86661  	// Supports tools auto-update.
 86662  	ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported" json:"toolsAutoUpdateSupported"`
 86663  	// Supports virtual machine NPIV WWN.
 86664  	VmNpivWwnSupported bool `xml:"vmNpivWwnSupported" json:"vmNpivWwnSupported"`
 86665  	// Supports assigning NPIV WWN to virtual machines that don't have RDM disks.
 86666  	NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported" json:"npivWwnOnNonRdmVmSupported"`
 86667  	// Indicates whether the NPIV disabling operation is supported the virtual machine.
 86668  	VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported" json:"vmNpivWwnDisableSupported,omitempty"`
 86669  	// Indicates whether the update of NPIV WWNs are supported on the virtual machine.
 86670  	VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported" json:"vmNpivWwnUpdateSupported,omitempty"`
 86671  	// Flag indicating whether the virtual machine has a configurable
 86672  	// *swapfile placement policy*.
 86673  	SwapPlacementSupported bool `xml:"swapPlacementSupported" json:"swapPlacementSupported"`
 86674  	// Indicates whether asking tools to sync time with the host is supported.
 86675  	ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported" json:"toolsSyncTimeSupported"`
 86676  	// Indicates whether or not the use of nested page table hardware support
 86677  	// can be explicitly set.
 86678  	VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported" json:"virtualMmuUsageSupported"`
 86679  	// Indicates whether resource settings for disks can be
 86680  	// applied to this virtual machine.
 86681  	DiskSharesSupported bool `xml:"diskSharesSupported" json:"diskSharesSupported"`
 86682  	// Indicates whether boot options can be configured
 86683  	// for this virtual machine.
 86684  	BootOptionsSupported bool `xml:"bootOptionsSupported" json:"bootOptionsSupported"`
 86685  	// Indicates whether automatic boot retry can be
 86686  	// configured for this virtual machine.
 86687  	BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported" json:"bootRetryOptionsSupported,omitempty"`
 86688  	// Flag indicating whether the video ram size of this virtual machine
 86689  	// can be configured.
 86690  	SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported" json:"settingVideoRamSizeSupported"`
 86691  	// Indicates whether of not this virtual machine supports
 86692  	// setting the display topology of the console window.
 86693  	//
 86694  	// This capability depends on the guest operating system
 86695  	// configured for this virtual machine.
 86696  	SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported" json:"settingDisplayTopologySupported,omitempty"`
 86697  	// Deprecated as of vSphere API 6.0.
 86698  	//
 86699  	// Indicates whether record and replay functionality is supported on this
 86700  	// virtual machine.
 86701  	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty"`
 86702  	// Indicates that change tracking is supported for virtual disks of this
 86703  	// virtual machine.
 86704  	//
 86705  	// However, even if change tracking is supported, it might
 86706  	// not be available for all disks of the virtual machine. For example,
 86707  	// passthru raw disk mappings or disks backed by any Ver1BackingInfo cannot
 86708  	// be tracked.
 86709  	ChangeTrackingSupported *bool `xml:"changeTrackingSupported" json:"changeTrackingSupported,omitempty"`
 86710  	// Indicates whether multiple virtual cores per socket is supported on this VM.
 86711  	MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported" json:"multipleCoresPerSocketSupported,omitempty"`
 86712  	// Indicates that host based replication is supported on this virtual
 86713  	// machine.
 86714  	//
 86715  	// However, even if host based replication is supported,
 86716  	// it might not be available for all disk types. For example, passthru
 86717  	// raw disk mappings can not be replicated.
 86718  	HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported" json:"hostBasedReplicationSupported,omitempty"`
 86719  	// Indicates whether features like guest OS auto-lock and MKS connection
 86720  	// controls are supported for this virtual machine.
 86721  	GuestAutoLockSupported *bool `xml:"guestAutoLockSupported" json:"guestAutoLockSupported,omitempty"`
 86722  	// Indicates whether
 86723  	// `memoryReservationLockedToMax`
 86724  	// may be set to true for this virtual machine.
 86725  	MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported" json:"memoryReservationLockSupported,omitempty"`
 86726  	// Indicates whether featureRequirement feature is supported.
 86727  	FeatureRequirementSupported *bool `xml:"featureRequirementSupported" json:"featureRequirementSupported,omitempty"`
 86728  	// Indicates whether a monitor type change is supported while this virtual
 86729  	// machine is in the poweredOn state.
 86730  	PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported" json:"poweredOnMonitorTypeChangeSupported,omitempty"`
 86731  	// Indicates whether this virtual machine supports the Flex-SE
 86732  	// (space-efficient, sparse) format for virtual disks.
 86733  	SeSparseDiskSupported *bool `xml:"seSparseDiskSupported" json:"seSparseDiskSupported,omitempty"`
 86734  	// Indicates whether this virtual machine supports nested hardware-assisted
 86735  	// virtualization.
 86736  	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty"`
 86737  	// Indicates whether this virtual machine supports virtualized CPU performance
 86738  	// counters.
 86739  	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty"`
 86740  	// Indicates whether secureBoot is supported for this virtual machine.
 86741  	SecureBootSupported *bool `xml:"secureBootSupported" json:"secureBootSupported,omitempty"`
 86742  	// Indicates whether this virtual machine supports Per-VM EVC mode.
 86743  	PerVmEvcSupported *bool `xml:"perVmEvcSupported" json:"perVmEvcSupported,omitempty"`
 86744  	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
 86745  	// ignored by this virtual machine, always operating as if "on" was selected.
 86746  	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty"`
 86747  	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
 86748  	// ignored by this virtual machine, always operating as if "hvOn" was selected.
 86749  	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty"`
 86750  	// Indicates whether this virtual machine supports creating disk-only snapshots
 86751  	// in suspended state.
 86752  	//
 86753  	// If this capability is not set, the snapshot of a
 86754  	// virtual machine in suspended state will always include memory.
 86755  	DiskOnlySnapshotOnSuspendedVMSupported *bool `xml:"diskOnlySnapshotOnSuspendedVMSupported" json:"diskOnlySnapshotOnSuspendedVMSupported,omitempty"`
 86756  	// Indicates whether this virtual machine supports suspending to memory.
 86757  	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
 86758  	// Indicates support for allowing or disallowing all tools time
 86759  	// sync with host.
 86760  	ToolsSyncTimeAllowSupported *bool `xml:"toolsSyncTimeAllowSupported" json:"toolsSyncTimeAllowSupported,omitempty" vim:"7.0.1.0"`
 86761  	// Indicates support for AMD-SEV (Secure Encrypted Virtualization).
 86762  	//
 86763  	// SEV is
 86764  	// supported when set to true, and unsupported otherwise.
 86765  	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
 86766  	// Indicates support for failover to a dfferent host on VM's with pmem.
 86767  	//
 86768  	// Failover is supported when set to true, and unsupported otherwise.
 86769  	PmemFailoverSupported *bool `xml:"pmemFailoverSupported" json:"pmemFailoverSupported,omitempty" vim:"7.0.2.0"`
 86770  	// Whether the VM supports requiring SGX remote attestation.
 86771  	RequireSgxAttestationSupported *bool `xml:"requireSgxAttestationSupported" json:"requireSgxAttestationSupported,omitempty" vim:"8.0.0.1"`
 86772  	// Indicates support for change mode on virtual disks
 86773  	ChangeModeDisksSupported *bool `xml:"changeModeDisksSupported" json:"changeModeDisksSupported,omitempty" vim:"8.0.0.1"`
 86774  	// Indicates support for Vendor Device Groups
 86775  	VendorDeviceGroupSupported *bool `xml:"vendorDeviceGroupSupported" json:"vendorDeviceGroupSupported,omitempty" vim:"8.0.1.0"`
 86776  }
 86777  
 86778  func init() {
 86779  	t["VirtualMachineCapability"] = reflect.TypeOf((*VirtualMachineCapability)(nil)).Elem()
 86780  }
 86781  
 86782  // CdromInfo class contains information about a physical CD-ROM drive on the host.
 86783  type VirtualMachineCdromInfo struct {
 86784  	VirtualMachineTargetInfo
 86785  
 86786  	// Description of the physical device.
 86787  	//
 86788  	// This is set only by the server.
 86789  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 86790  }
 86791  
 86792  func init() {
 86793  	t["VirtualMachineCdromInfo"] = reflect.TypeOf((*VirtualMachineCdromInfo)(nil)).Elem()
 86794  }
 86795  
 86796  // Describes a single certificate thumbprint that can be used to verify
 86797  // the identity of the host before connecting to a running virtual machine.
 86798  type VirtualMachineCertThumbprint struct {
 86799  	DynamicData
 86800  
 86801  	// The thumbprint of the certificate of the host to which we are
 86802  	// connecting.
 86803  	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
 86804  	// The hash algorithm used to generate the thumbprint.
 86805  	//
 86806  	// `VirtualMachineCertThumbprintHashAlgorithm_enum` lists the set of supported values.
 86807  	HashAlgorithm string `xml:"hashAlgorithm,omitempty" json:"hashAlgorithm,omitempty"`
 86808  }
 86809  
 86810  func init() {
 86811  	t["VirtualMachineCertThumbprint"] = reflect.TypeOf((*VirtualMachineCertThumbprint)(nil)).Elem()
 86812  	minAPIVersionForType["VirtualMachineCertThumbprint"] = "7.0.3.1"
 86813  }
 86814  
 86815  // Specification for a virtual machine cloning operation.
 86816  type VirtualMachineCloneSpec struct {
 86817  	DynamicData
 86818  
 86819  	// A type of RelocateSpec that specifies the location of resources the
 86820  	// newly cloned virtual machine will use.
 86821  	//
 86822  	// The location specifies:
 86823  	//   - A datastore where the virtual machine will be located on physical
 86824  	//     storage.
 86825  	//     This is always provided because it indicates where the newly
 86826  	//     created clone will be copied.
 86827  	//   - a resource pool and optionally a host. The resource pool
 86828  	//     determines what compute resources will be available to the clone
 86829  	//     and the host indicates which machine will host the clone.
 86830  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 86831  	// Specifies whether or not the new virtual machine should be marked as a
 86832  	// template.
 86833  	Template bool `xml:"template" json:"template"`
 86834  	// An optional specification of changes to the virtual hardware.
 86835  	//
 86836  	// For example, this can be used to, (but not limited to) reconfigure the
 86837  	// networks the virtual switches are hooked up to in the cloned virtual
 86838  	// machine.
 86839  	// Use `VirtualMachineRelocateSpec.deviceChange` in
 86840  	// `VirtualMachineCloneSpec.location`
 86841  	// for specifying any virtual device changes for disks and networks.
 86842  	Config *VirtualMachineConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
 86843  	// An optional guest operating system customization specification.
 86844  	//
 86845  	// This value is ignored if a template is being created.
 86846  	Customization *CustomizationSpec `xml:"customization,omitempty" json:"customization,omitempty"`
 86847  	// Specifies whether or not the new VirtualMachine should be powered on
 86848  	// after creation.
 86849  	//
 86850  	// As part of a customization, this flag is normally set
 86851  	// to true, since the first power-on operation completes the customization
 86852  	// process. This flag is ignored if a template is being created.
 86853  	PowerOn bool `xml:"powerOn" json:"powerOn"`
 86854  	// Snapshot reference from which to base the clone.
 86855  	//
 86856  	// If this parameter is set, the clone is based off of the snapshot
 86857  	// point. This means that the newly created virtual machine will
 86858  	// have the same configuration as the virtual machine at the time
 86859  	// the snapshot was taken.
 86860  	//
 86861  	// If this property is not set then the clone is based off of the
 86862  	// virtual machine's current configuration.
 86863  	//
 86864  	// Setting this is only supported if the host this virtual machine
 86865  	// is currently residing on
 86866  	// *supports cloning from a snapshot point*. Such support does not need to
 86867  	// exist on the destination host for the clone.
 86868  	//
 86869  	// Setting this is only supported if the virtual machine supports
 86870  	// reporting snapshot configuration information. See `VirtualMachineCapability.snapshotConfigSupported`. Such support does not need
 86871  	// to exist on the destination host for the clone.
 86872  	//
 86873  	// Refers instance of `VirtualMachineSnapshot`.
 86874  	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 86875  	// Flag indicating whether to retain a copy of the source virtual machine's
 86876  	// memory state in the clone.
 86877  	//
 86878  	// Retaining the memory state during
 86879  	// clone results in a clone in suspended state with all network adapters
 86880  	// removed to avoid network conflicts, except those with a
 86881  	// VirtualEthernetCard.addressType of "manual".
 86882  	// Users of this flag should take special care so that, when adding a network
 86883  	// adapter back to the clone, the VM is not resumed on the same VM network
 86884  	// as the source VM, or else MAC address conflicts could occur.
 86885  	// When cloning between two hosts with different CPUs outside an EVC cluster,
 86886  	// users of this flag should be aware that vCenter does not verify
 86887  	// CPU compatibility between the clone's memory state and the target host
 86888  	// prior to the clone operation, so the clone may fail to resume
 86889  	// until it is migrated to a host with a compatible CPU.
 86890  	//
 86891  	// This flag is ignored if the snapshot parameter is unset. This flag
 86892  	// only applies for a snapshot taken on a running or suspended
 86893  	// virtual machine with the 'memory' parameter set to true, because otherwise
 86894  	// the snapshot has no memory state. This flag defaults to false.
 86895  	Memory *bool `xml:"memory" json:"memory,omitempty"`
 86896  	// Provisioning policy for virtual TPM devices during VM clone operations.
 86897  	//
 86898  	// The list of supported values is defined in `VirtualMachineCloneSpecTpmProvisionPolicy_enum`.
 86899  	//
 86900  	// If unset - a globally defined policy is used, which by default is set to
 86901  	// 'copy'.
 86902  	TpmProvisionPolicy string `xml:"tpmProvisionPolicy,omitempty" json:"tpmProvisionPolicy,omitempty" vim:"8.0.0.1"`
 86903  }
 86904  
 86905  func init() {
 86906  	t["VirtualMachineCloneSpec"] = reflect.TypeOf((*VirtualMachineCloneSpec)(nil)).Elem()
 86907  }
 86908  
 86909  // The ConfigInfo data object type encapsulates the configuration settings and
 86910  // virtual hardware for a virtual machine.
 86911  //
 86912  // This type holds all the information
 86913  // that is present in the .vmx configuration file for the virtual machine.
 86914  type VirtualMachineConfigInfo struct {
 86915  	DynamicData
 86916  
 86917  	// The changeVersion is a unique identifier for a given version
 86918  	// of the configuration.
 86919  	//
 86920  	// Each change to the configuration
 86921  	// updates this value. This is typically implemented as an ever
 86922  	// increasing count or a time-stamp. However, a client should
 86923  	// always treat this as an opaque string.
 86924  	ChangeVersion string `xml:"changeVersion" json:"changeVersion"`
 86925  	// Last time a virtual machine's configuration was modified.
 86926  	Modified time.Time `xml:"modified" json:"modified"`
 86927  	// Display name of the virtual machine.
 86928  	//
 86929  	// Any / (slash), \\ (backslash), character used in this
 86930  	// name element is escaped. Similarly, any % (percent) character used in
 86931  	// this name element is escaped, unless it is used to start an escape
 86932  	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
 86933  	// %5c, and a percent is escaped as %25.
 86934  	Name string `xml:"name" json:"name"`
 86935  	// This is the full name of the guest operating system for the virtual machine.
 86936  	//
 86937  	// For example: Windows 2000 Professional.
 86938  	//
 86939  	// See also `VirtualMachineConfigInfo.alternateGuestName`.
 86940  	GuestFullName string `xml:"guestFullName" json:"guestFullName"`
 86941  	// The version string for this virtual machine.
 86942  	Version string `xml:"version" json:"version"`
 86943  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 86944  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 86945  	Uuid string `xml:"uuid" json:"uuid"`
 86946  	// Time the virtual machine's configuration was created.
 86947  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty"`
 86948  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 86949  	// as a hexademical string.
 86950  	//
 86951  	// This identifier is used by VirtualCenter to
 86952  	// uniquely identify all virtual machine instances, including those that
 86953  	// may share the same SMBIOS UUID.
 86954  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 86955  	// A 64-bit node WWN (World Wide Name).
 86956  	//
 86957  	// These WWNs are paired with the
 86958  	// `VirtualMachineConfigInfo.npivPortWorldWideName` to be used by the NPIV VPORTs instantiated for the
 86959  	// virtual machine on the physical HBAs of the host. A pair of node and port WWNs
 86960  	// serves as a unique identifier in accessing a LUN, so that it can be monitored or
 86961  	// controlled by the storage administrator.
 86962  	//
 86963  	// If this property contains a single node WWN, the same node WWN is used to pair
 86964  	// with all port WWNs listed in `VirtualMachineConfigInfo.npivPortWorldWideName`. If this property or
 86965  	// `VirtualMachineConfigInfo.npivPortWorldWideName` is empty or unset, NPIV WWN is disabled for the
 86966  	// virtual machine.
 86967  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty"`
 86968  	// A 64-bit port WWN (World Wide Name).
 86969  	//
 86970  	// For detail description on WWN, see
 86971  	// `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 86972  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty"`
 86973  	// The source that provides/generates the assigned WWNs.
 86974  	//
 86975  	// See also `VirtualMachineConfigInfoNpivWwnType_enum`.
 86976  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty"`
 86977  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 86978  	//
 86979  	// This
 86980  	// property should be set to desired number which is an aggregate of existing
 86981  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 86982  	// number of node WWNs
 86983  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty"`
 86984  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 86985  	//
 86986  	// This
 86987  	// property should be set to desired number which is an aggregate of existing
 86988  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 86989  	// number of port WWNs
 86990  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty"`
 86991  	// This property is used to enable or disable the NPIV capability on a desired
 86992  	// virtual machine on a temporary basis.
 86993  	//
 86994  	// When this property is set NPIV Vport
 86995  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 86996  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 86997  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty"`
 86998  	// This property is used to check whether the NPIV can be enabled on the Virtual
 86999  	// machine with non-rdm disks in the configuration, so this is potentially not
 87000  	// enabling npiv on vmfs disks.
 87001  	//
 87002  	// Also this property is used to check whether RDM
 87003  	// is required to generate WWNs for a virtual machine.
 87004  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty"`
 87005  	// Hash incorporating the virtual machine's config file location
 87006  	// and the UUID of the host assigned to run the virtual machine.
 87007  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 87008  	// Flag indicating whether or not a virtual machine is a template.
 87009  	Template bool `xml:"template" json:"template"`
 87010  	// Guest operating system configured on a virtual machine.
 87011  	//
 87012  	// This is a guest identifier that can be used to access the
 87013  	// `GuestOsDescriptor`
 87014  	// list for information about default configuration.
 87015  	// For more information on possible values, see
 87016  	// `VirtualMachineGuestOsIdentifier`.
 87017  	GuestId string `xml:"guestId" json:"guestId"`
 87018  	// Used as display name for the operating system if guestId is `other`
 87019  	// or `other-64`.
 87020  	//
 87021  	// See also `VirtualMachineConfigInfo.guestFullName`.
 87022  	AlternateGuestName string `xml:"alternateGuestName" json:"alternateGuestName"`
 87023  	// Description for the virtual machine.
 87024  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 87025  	// Information about the files associated with a virtual machine.
 87026  	//
 87027  	// This information does not include files for specific virtual disks or
 87028  	// snapshots.
 87029  	Files VirtualMachineFileInfo `xml:"files" json:"files"`
 87030  	// Configuration of VMware Tools running in the guest operating system.
 87031  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 87032  	// Additional flags for a virtual machine.
 87033  	Flags VirtualMachineFlagInfo `xml:"flags" json:"flags"`
 87034  	// Legacy console viewer preferences when doing power operations.
 87035  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 87036  	// Configuration of default power operations.
 87037  	DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps" json:"defaultPowerOps"`
 87038  	// Whether the next reboot will result in a power off.
 87039  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 87040  	// Processor, memory, and virtual devices for a virtual machine.
 87041  	Hardware VirtualHardware `xml:"hardware" json:"hardware"`
 87042  	// Vcpu configuration.
 87043  	//
 87044  	// The <code>vcpuConfig</code> array is indexed
 87045  	// by vcpu number.
 87046  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty"`
 87047  	// Resource limits for CPU.
 87048  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 87049  	// Resource limits for memory.
 87050  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 87051  	// The latency-sensitivity of the virtual machine.
 87052  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 87053  	// Whether memory can be added while this virtual machine is running.
 87054  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty"`
 87055  	// Whether virtual processors can be added while this
 87056  	// virtual machine is running.
 87057  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty"`
 87058  	// Whether virtual processors can be removed while this
 87059  	// virtual machine is running.
 87060  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty"`
 87061  	// The maximum amount of memory, in MB, than can be added to a
 87062  	// running virtual machine.
 87063  	//
 87064  	// This value is determined by the
 87065  	// virtual machine and is specified only if
 87066  	// `VirtualMachineConfigInfo.memoryHotAddEnabled`
 87067  	// is set to true.
 87068  	HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty" json:"hotPlugMemoryLimit,omitempty"`
 87069  	// Memory, in MB that can be added to a running virtual machine
 87070  	// must be in increments of this value and needs be a
 87071  	// multiple of this value.
 87072  	//
 87073  	// This value is determined by the virtual machine and is specified
 87074  	// only if `VirtualMachineConfigSpec.memoryHotAddEnabled`
 87075  	// has been set to true.
 87076  	HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty" json:"hotPlugMemoryIncrementSize,omitempty"`
 87077  	// Affinity settings for CPU.
 87078  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 87079  	// Deprecated since vSphere 6.0.
 87080  	//
 87081  	// Affinity settings for memory.
 87082  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 87083  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 87084  	//
 87085  	// Resource limits for network.
 87086  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 87087  	// Additional configuration information for the virtual machine.
 87088  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 87089  	// Specifies CPU feature compatibility masks that override the
 87090  	// defaults from the `GuestOsDescriptor`
 87091  	// of the virtual machine's guest OS.
 87092  	//
 87093  	// As of vSphere API 6.5 `FeatureMask`
 87094  	// is the recommended method for masking virtual machines with
 87095  	// hardware version 9 and above (newer). They can be viewed via
 87096  	// `featureMask`.
 87097  	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 87098  	// Enumerates the set of datastores that this virtual machine is
 87099  	// stored on, as well as the URL identification for each of these.
 87100  	//
 87101  	// Changes to datastores do not generate property updates on this
 87102  	// property. However, when this property is retrieved it returns the
 87103  	// current datastore information.
 87104  	DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
 87105  	// Virtual machine swapfile placement policy.
 87106  	//
 87107  	// This will be unset if the
 87108  	// virtual machine's
 87109  	// `swapPlacementSupported`
 87110  	// capability is false. If swapPlacementSupported is true, the default
 87111  	// policy is "inherit".
 87112  	//
 87113  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 87114  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty"`
 87115  	// Configuration options for the boot behavior of the virtual machine.
 87116  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 87117  	// Fault Tolerance settings for this virtual machine.
 87118  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 87119  	// vSphere Replication settings for this virtual machine.
 87120  	//
 87121  	// Note this may become deprecated in the future releases. We discourage
 87122  	// any unnecessary dependency on this field.
 87123  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty"`
 87124  	// vApp meta-data for the virtual machine
 87125  	VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty"`
 87126  	// Indicates whether user-configured virtual asserts will be
 87127  	// triggered during virtual machine replay.
 87128  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty"`
 87129  	// Indicates whether changed block tracking for this VM's disks
 87130  	// is active.
 87131  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty"`
 87132  	// Information about firmware type for this Virtual Machine.
 87133  	//
 87134  	// Possible values are described in
 87135  	// `GuestOsDescriptorFirmwareType_enum`
 87136  	// When creating a new VM:
 87137  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code> and
 87138  	// this property is set to <code>bios</code>, error is returned.
 87139  	// \- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set
 87140  	// to <code>true</code>, this property is set to <code>efi</code>.
 87141  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty"`
 87142  	// Indicates the maximum number of active remote display connections
 87143  	// that the virtual machine will support.
 87144  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty"`
 87145  	// Indicates whether the guest operating system will logout any active
 87146  	// sessions whenever there are no remote display connections open to
 87147  	// the virtual machine.
 87148  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty"`
 87149  	// Specifies that this VM is managed by a VC Extension.
 87150  	//
 87151  	// See the
 87152  	// `managedBy` property in the ConfigSpec
 87153  	// for more details.
 87154  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 87155  	// If set true, memory resource reservation for this virtual machine will always be
 87156  	// equal to the virtual machine's memory size; increases in memory size will be
 87157  	// rejected when a corresponding reservation increase is not possible.
 87158  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty"`
 87159  	// Set of values to be used only to perform admission control when
 87160  	// determining if a host has sufficient resources for the virtual
 87161  	// machine to power on.
 87162  	InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty" json:"initialOverhead,omitempty"`
 87163  	// Indicates whether this VM is configured to use nested
 87164  	// hardware-assisted virtualization.
 87165  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty"`
 87166  	// Indicates whether this VM have vurtual CPU performance counters
 87167  	// enabled.
 87168  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty"`
 87169  	// Configuration of scheduled hardware upgrades and result from last
 87170  	// attempt to run scheduled hardware upgrade.
 87171  	//
 87172  	// See also `ScheduledHardwareUpgradeInfo`.
 87173  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty"`
 87174  	// Fork configuration of this virtual machines.
 87175  	//
 87176  	// If unset, this virtual machine
 87177  	// is not configured for fork.
 87178  	//
 87179  	// See also `VirtualMachineForkConfigInfo`.
 87180  	ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty" json:"forkConfigInfo,omitempty"`
 87181  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 87182  	// end of availability.
 87183  	//
 87184  	// Specifies the total vFlash resource reservation for the vFlash caches associated
 87185  	// with this VM's virtual disks, in bytes.
 87186  	//
 87187  	// This reservation must be allocated to power on the VM.
 87188  	// See `VirtualMachineRuntimeInfo.vFlashCacheAllocation` for allocated
 87189  	// reservation when VM is powered on.
 87190  	VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty" json:"vFlashCacheReservation,omitempty"`
 87191  	// A checksum of vmx config file.
 87192  	VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty" json:"vmxConfigChecksum,omitempty"`
 87193  	// Whether to allow tunneling of clients from the guest VM into the
 87194  	// common message bus on the host network.
 87195  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty"`
 87196  	// Virtual Machine Object Identifier.
 87197  	//
 87198  	// With Object-based Storage systems, Virtual Machine home directory
 87199  	// is backed by an object.
 87200  	// This identifier will be set only if VM directory resided on
 87201  	// object-based storage systems.
 87202  	VmStorageObjectId string `xml:"vmStorageObjectId,omitempty" json:"vmStorageObjectId,omitempty"`
 87203  	// Virtual Machine Swap Object Identifier.
 87204  	//
 87205  	// With Object-based Storage systems, VM's Swap is backed by an object.
 87206  	// This identifier will be set only if VM swap resided on
 87207  	// object-based storage systems.
 87208  	SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty" json:"swapStorageObjectId,omitempty"`
 87209  	// Virtual Machine cryptographic options.
 87210  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 87211  	// Guest integrity platform configuration
 87212  	GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty" json:"guestIntegrityInfo,omitempty"`
 87213  	// An enum describing whether encrypted vMotion is required for this VM.
 87214  	//
 87215  	// See `VirtualMachineConfigSpecEncryptedVMotionModes_enum` for allowed values.
 87216  	// This defaults to opportunistic for a regular VM, and will be set to
 87217  	// required for an encrypted VM.
 87218  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty"`
 87219  	// Configuration of SGX, Software Guard Extensions for the VM.
 87220  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 87221  	// Content Library Item info.
 87222  	ContentLibItemInfo *VirtualMachineContentLibraryItemInfo `xml:"contentLibItemInfo,omitempty" json:"contentLibItemInfo,omitempty"`
 87223  	// An enum describing whether encrypted Fault Tolerance is required for this
 87224  	// VM.
 87225  	//
 87226  	// See `VirtualMachineConfigSpecEncryptedFtModes_enum` for allowed values.
 87227  	// \- This defaults to opportunistic for a regular VM, and will be set to
 87228  	// required for an encrypted VM.
 87229  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 87230  	// will be set to opportunistic.
 87231  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 87232  	// GMM configuration
 87233  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty"`
 87234  	// SEV (Secure Encrypted Virtualization) enabled or not.
 87235  	//
 87236  	// SEV is enabled
 87237  	// when set to true, and disabled otherwise.
 87238  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 87239  	// vNUMA info.
 87240  	NumaInfo *VirtualMachineVirtualNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty" vim:"8.0.0.1"`
 87241  	// Property to indicate PMem HA failover configuration.
 87242  	//
 87243  	// \- When set to TRUE, VMs configured to use PMem
 87244  	// will be failed over to other hosts by HA, but the data
 87245  	// in NVDIMM is not persistent.
 87246  	// \- When set to FALSE, VMs configured to use PMem will not
 87247  	// be failed over to other hosts by HA.
 87248  	// Property is currently only applicable to VMs with NVDimms and
 87249  	// will fail to set True if vPMem disks are present.
 87250  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 87251  	// Indicates whether VMXStats Collection is enabled/disabled.
 87252  	//
 87253  	// \- If TRUE, VMXStats is enabled for the VM and a scoreboard
 87254  	// file is created to store stats for various VMX components.
 87255  	// \- If FALSE, VMXStats is disabled for the VM and there is
 87256  	// no scoreboard file created.
 87257  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 87258  	// Indicates whether operation notification to applications is
 87259  	// enabled/disabled.
 87260  	//
 87261  	// \- When set to TRUE, application running inside the VM will be
 87262  	// notified of operations for which they have registered.
 87263  	// \- If unset or FALSE, new applications are not allowed to register
 87264  	// for notifications and RPCs will no longer be supported from
 87265  	// already registered applications.
 87266  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 87267  	// Operation notification timeout in seconds.
 87268  	//
 87269  	// \- Specifies the maximum time the application can take to
 87270  	// prepare for the operation after its been notified. This value is used
 87271  	// only if `VirtualMachineConfigInfo.vmOpNotificationToAppEnabled` is set to TRUE.
 87272  	// \- If `VirtualMachineConfigInfo.vmOpNotificationTimeout` is unset, then it defaults to
 87273  	// cluster/host timeout.
 87274  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 87275  	// Status of the device swap operation.
 87276  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 87277  	// Virtual persistent memory info.
 87278  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 87279  	// Assignable hardware device groups.
 87280  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 87281  	// Indicates whether support to add and remove fixed passthrough
 87282  	// devices when the VM is running is enabled.
 87283  	//
 87284  	// When the virtual machine is powered on, this indicates if
 87285  	// support for hot adding and removing fixed passthrough devices
 87286  	// was enabled prior to power on. Otherwise, it indicates whether
 87287  	// it will be enabled when the VM is powered on.
 87288  	// NOTE: When setting this to true, the memory reservation should
 87289  	// be equal to the guest memory size or the option to reserve all
 87290  	// guest memory should be selected. If unset, the current value is
 87291  	// left unchanged.
 87292  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 87293  	// Indicates whether FT Metro Cluster is enabled/disabled.
 87294  	//
 87295  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 87296  	// Anti-HostGroup will be generated from HostGroup defined for FT
 87297  	// primary, then affine the primary with one HostGroup and affine the
 87298  	// secondary with another HostGroup.
 87299  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 87300  	// primary and secondary will be put in the same HostGroup.
 87301  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 87302  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 87303  	// Metro Cluster enabled Virtual Machine.
 87304  	//
 87305  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 87306  	// into two groups and ensure to place FT primary and FT secondary in
 87307  	// different groups.
 87308  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 87309  }
 87310  
 87311  func init() {
 87312  	t["VirtualMachineConfigInfo"] = reflect.TypeOf((*VirtualMachineConfigInfo)(nil)).Elem()
 87313  }
 87314  
 87315  // Contains the name of a datastore, and its local file path on the host
 87316  // currently affiliated with this virtual machine.
 87317  type VirtualMachineConfigInfoDatastoreUrlPair struct {
 87318  	DynamicData
 87319  
 87320  	Name string `xml:"name" json:"name"`
 87321  	Url  string `xml:"url" json:"url"`
 87322  }
 87323  
 87324  func init() {
 87325  	t["VirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*VirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem()
 87326  }
 87327  
 87328  // Information about virtualization overhead required to power on the
 87329  // virtual machine on the registered host.
 87330  type VirtualMachineConfigInfoOverheadInfo struct {
 87331  	DynamicData
 87332  
 87333  	// Memory overhead required for virtual machine to be powered on (in bytes).
 87334  	InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty" json:"initialMemoryReservation,omitempty"`
 87335  	// Disk space required for virtual machine to be powered on (in bytes).
 87336  	//
 87337  	// This space is used by virtualization infrastructure to swap out
 87338  	// virtual machine process memory. Location of the file is specified by
 87339  	// sched.swap.vmxSwapDir virtual machinge advanced config option or
 87340  	// in case it is not specified - current virtual machine home directory
 87341  	// is being used.
 87342  	InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty" json:"initialSwapReservation,omitempty"`
 87343  }
 87344  
 87345  func init() {
 87346  	t["VirtualMachineConfigInfoOverheadInfo"] = reflect.TypeOf((*VirtualMachineConfigInfoOverheadInfo)(nil)).Elem()
 87347  }
 87348  
 87349  // This configuration data object type contains information about the execution
 87350  // environment for a virtual machine.
 87351  //
 87352  // This includes information about which features are
 87353  // supported, such as:
 87354  //   - Which guest operating systems are supported.
 87355  //   - How devices are emulated. For example, that a CD-ROM drive can be emulated
 87356  //     with a file or that a serial port can be emulated with a pipe.
 87357  //
 87358  // VirtualCenter can provide a broader environment than any single physical host. This
 87359  // is a departure from traditional virtualization approaches, which rely on the host
 87360  // system to define the environment for virtual machines. This data object describes
 87361  // environment capabilities and is used by VirtualCenter to choose hosts on which to run
 87362  // virtual machines.
 87363  type VirtualMachineConfigOption struct {
 87364  	DynamicData
 87365  
 87366  	// The version corresponding to this configOption.
 87367  	Version string `xml:"version" json:"version"`
 87368  	// A description string for this configOption.
 87369  	Description string `xml:"description" json:"description"`
 87370  	// List of supported guest operating systems.
 87371  	//
 87372  	// The choice of guest operating system may limit the set of valid devices.
 87373  	// For example, you cannot select Vmxnet with all guest operating systems.
 87374  	GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor" json:"guestOSDescriptor"`
 87375  	// Index into guestOsDescriptor array denoting the default guest
 87376  	// operating system.
 87377  	GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex" json:"guestOSDefaultIndex"`
 87378  	// Processor, memory, and virtual device options for a virtual machine.
 87379  	HardwareOptions VirtualHardwareOption `xml:"hardwareOptions" json:"hardwareOptions"`
 87380  	// Capabilities supported by a virtual machine.
 87381  	Capabilities VirtualMachineCapability `xml:"capabilities" json:"capabilities"`
 87382  	// The datastore options for this virtual machine.
 87383  	Datastore DatastoreOption `xml:"datastore" json:"datastore"`
 87384  	// The list of virtual devices that are created on a virtual machine by default.
 87385  	//
 87386  	// Clients should not create these devices.
 87387  	DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr" json:"defaultDevice,omitempty"`
 87388  	// The monitor types supported by a host.
 87389  	//
 87390  	// The acceptable monitor types
 87391  	// are enumerated by `VirtualMachineFlagInfoMonitorType_enum`.
 87392  	SupportedMonitorType []string `xml:"supportedMonitorType" json:"supportedMonitorType"`
 87393  	// Specifies the supported property transports that are
 87394  	// available for the OVF environment
 87395  	SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty" json:"supportedOvfEnvironmentTransport,omitempty"`
 87396  	// Specifies the supported transports for the OVF
 87397  	// installation phase.
 87398  	SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty" json:"supportedOvfInstallTransport,omitempty"`
 87399  	// The relations between the properties of the virtual
 87400  	// machine config spec.
 87401  	PropertyRelations []VirtualMachinePropertyRelation `xml:"propertyRelations,omitempty" json:"propertyRelations,omitempty"`
 87402  }
 87403  
 87404  func init() {
 87405  	t["VirtualMachineConfigOption"] = reflect.TypeOf((*VirtualMachineConfigOption)(nil)).Elem()
 87406  }
 87407  
 87408  // Contains the definition of a unique key that can be used to
 87409  // retrieve a configOption object.
 87410  type VirtualMachineConfigOptionDescriptor struct {
 87411  	DynamicData
 87412  
 87413  	// A unique key used to identify a configOption object in this
 87414  	// `EnvironmentBrowser`.
 87415  	Key string `xml:"key" json:"key"`
 87416  	// A description of the configOption object.
 87417  	Description string `xml:"description,omitempty" json:"description,omitempty"`
 87418  	// List of hosts to which this descriptor applies.
 87419  	//
 87420  	// List of hosts is not set when descriptor is returned
 87421  	// from `Datacenter.queryDatacenterConfigOptionDescriptor`.
 87422  	//
 87423  	// Refers instances of `HostSystem`.
 87424  	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 87425  	// Indicates whether the associated set of configuration options
 87426  	// can be used for virtual machine creation on a given host or
 87427  	// cluster.
 87428  	CreateSupported *bool `xml:"createSupported" json:"createSupported,omitempty"`
 87429  	// Indicates whether the associated set of virtual machine
 87430  	// configuration options is the default one for a given host or
 87431  	// cluster.
 87432  	//
 87433  	// Latest version is marked as default unless
 87434  	// other version is specified via
 87435  	// `ComputeResourceConfigInfo.defaultHardwareVersionKey`
 87436  	// or `DatacenterConfigInfo.defaultHardwareVersionKey`.
 87437  	// If this setting is TRUE, virtual machine creates will use the
 87438  	// associated set of configuration options, unless a config version is
 87439  	// explicitly specified in the `ConfigSpec`.
 87440  	DefaultConfigOption *bool `xml:"defaultConfigOption" json:"defaultConfigOption,omitempty"`
 87441  	// Indicates whether the associated set of configuration options
 87442  	// can be used to power on a virtual machine on a given host or
 87443  	// cluster.
 87444  	RunSupported *bool `xml:"runSupported" json:"runSupported,omitempty"`
 87445  	// Indicates whether the associated set of configuration options
 87446  	// can be used as a virtual hardware upgrade target.
 87447  	UpgradeSupported *bool `xml:"upgradeSupported" json:"upgradeSupported,omitempty"`
 87448  }
 87449  
 87450  func init() {
 87451  	t["VirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*VirtualMachineConfigOptionDescriptor)(nil)).Elem()
 87452  }
 87453  
 87454  // This data object type encapsulates configuration settings
 87455  // when creating or reconfiguring a virtual machine.
 87456  //
 87457  // To support incremental changes,
 87458  // these properties are all optional. If an optional property is unset,
 87459  // or any nested optional property is unset, the property will not
 87460  // be changed unless 'unset' is a valid value for the property. To determine
 87461  // whether 'unset' is a valid value for a particular property, refer to
 87462  // the documentation for that property.
 87463  type VirtualMachineConfigSpec struct {
 87464  	DynamicData
 87465  
 87466  	// If specified, the changes are only applied if the current changeVersion matches
 87467  	// the specified changeVersion.
 87468  	//
 87469  	// This field can be used to guard against updates that
 87470  	// have happened between when configInfo is read and when it is applied.
 87471  	//
 87472  	// For more information about how configurations are uniquely identified, see
 87473  	// `VirtualMachineConfigInfo.changeVersion`.
 87474  	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
 87475  	// Display name of the virtual machine.
 87476  	//
 87477  	// Any % (percent) character used in this name parameter must be escaped, unless it
 87478  	// is used to start an escape sequence. Clients may also escape any other characters
 87479  	// in this name parameter. Snapshots of virtual machines that have spaces in their
 87480  	// names and are associated with ESX 2.x servers are not supported. Therefore, if you
 87481  	// want the option to take snapshots of this virtual machine and you are associating
 87482  	// it with an ESX 2.x server, do not use spaces in the name.
 87483  	//
 87484  	// Reconfigure privilege: VirtualMachine.Config.Rename
 87485  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 87486  	// The version string for this virtual machine.
 87487  	//
 87488  	// This is used only while
 87489  	// creating a new virtual machine, and can be updated by invoking
 87490  	// `VirtualMachine.UpgradeVM_Task` for this virtual
 87491  	// machine.
 87492  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 87493  	// Creation date of a virtual machine represented in DateTime format.
 87494  	//
 87495  	// This property is populated by the vCenter Server with the date
 87496  	// and time of creation of the virtual machine. Values provided by the
 87497  	// client will be ignored.
 87498  	//
 87499  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87500  	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty"`
 87501  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 87502  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 87503  	//
 87504  	// Normally, this property is not set by a client, allowing the
 87505  	// Virtual Infrastructure environment to assign a UUID when
 87506  	// the virtual machine is created. However, in some rare cases,
 87507  	// such as a manual copy of a virtual machine, it may be necessary
 87508  	// to set this property.
 87509  	//
 87510  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87511  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 87512  	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
 87513  	// as a hexadecimal string.
 87514  	//
 87515  	// This identifier is used by VirtalCenter
 87516  	// to uniquely identify all virtual machine instances in the Virtual
 87517  	// Infrastructure environment, including those that may share the same
 87518  	// SMBIOS UUID.
 87519  	//
 87520  	// Normally, this property is not set by a client, allowing the
 87521  	// Virtual Infrastructure environment to assign or change it when
 87522  	// VirtualCenter detects an identifier conflict between virtual
 87523  	// machines. This identifier can be modified even when a virtual
 87524  	// machine is powered on. Clients can specify that vCenter Server
 87525  	// reassign a new identifier by a providing an empty string. Reassigning
 87526  	// the identifer is not allowed for Fault Tolerance virtual machines.
 87527  	//
 87528  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87529  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 87530  	// The NPIV node WWN to be assigned to a virtual machine.
 87531  	//
 87532  	// This property should only
 87533  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 87534  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 87535  	// specified node WWN is currently being used by another virtual machine, a
 87536  	// `VmWwnConflict` fault will be thrown.
 87537  	//
 87538  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivNodeWorldWideName`.
 87539  	//
 87540  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87541  	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty"`
 87542  	// The NPIV port WWN to be assigned to a virtual machine.
 87543  	//
 87544  	// This property should only
 87545  	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
 87546  	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
 87547  	// specified port WWN is currently being used by another virtual machine, a
 87548  	// `VmWwnConflict` fault will be thrown.
 87549  	//
 87550  	// For detail description on WWN, see `VirtualMachineConfigInfo.npivPortWorldWideName`.
 87551  	//
 87552  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87553  	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty"`
 87554  	// This property is used internally in the communication between the
 87555  	// VirtualCenter server and ESX Server to indicate the source for
 87556  	// `VirtualMachineConfigSpec.npivNodeWorldWideName` and
 87557  	// `VirtualMachineConfigSpec.npivPortWorldWideName` when `VirtualMachineConfigSpec.npivWorldWideNameOp` is "set".
 87558  	//
 87559  	// This property should only be set by the VirtualCenter server.
 87560  	//
 87561  	// If this property is set in a call to a VirtualCenter server,
 87562  	// an `InvalidVmConfig` fault will always be thrown. In a
 87563  	// call to an ESX Server host, an `InvalidVmConfig`
 87564  	// fault will be thrown if the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` is not set to
 87565  	// "set".
 87566  	//
 87567  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87568  	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty"`
 87569  	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
 87570  	//
 87571  	// This
 87572  	// property should be set to desired number which is an aggregate of existing
 87573  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87574  	// number of node WWNs
 87575  	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty"`
 87576  	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
 87577  	//
 87578  	// This
 87579  	// property should be set to desired number which is an aggregate of existing
 87580  	// plus new numbers. Desired Node WWNs should always be greater than the existing
 87581  	// number of port WWNs
 87582  	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty"`
 87583  	// This property is used to enable or disable the NPIV capability on a desired
 87584  	// virtual machine on a temporary basis.
 87585  	//
 87586  	// When this property is set NPIV Vport
 87587  	// will not be instantiated by the VMX process of the Virtual Machine. When this
 87588  	// property is set port WWNs and node WWNs in the VM configuration are preserved.
 87589  	//
 87590  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87591  	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty"`
 87592  	// This property is used to check whether the NPIV can be enabled on the Virtual
 87593  	// machine with non-rdm disks in the configuration, so this is potentially not
 87594  	// enabling npiv on vmfs disks.
 87595  	//
 87596  	// Also this property is used to check whether RDM
 87597  	// is required to generate WWNs for a virtual machine.
 87598  	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty"`
 87599  	// The flag to indicate what type of NPIV WWN operation is going to be performed
 87600  	// on the virtual machine.
 87601  	//
 87602  	// If unset, it indicates no change to existing NPIV WWN
 87603  	// assignment (or not assigned) in the virtual machine.
 87604  	//
 87605  	// Reconfigure privilege: VirtualMachine.Config.Settings.
 87606  	//
 87607  	// See also `VirtualMachineConfigSpecNpivWwnOp_enum`.
 87608  	NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty" json:"npivWorldWideNameOp,omitempty"`
 87609  	// 128-bit hash based on the virtual machine's configuration file location
 87610  	// and the UUID of the host assigned to run the virtual machine.
 87611  	//
 87612  	// Normally, this property is not set by a client, allowing the
 87613  	// Virtual Infrastructure environment to assign a location ID when
 87614  	// the virtual machine is created. However, if the virtual machine's
 87615  	// configuration file has been manually moved, it may be desirable to clear this
 87616  	// property, setting it to an empty string, so the property is regenerated.
 87617  	//
 87618  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87619  	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
 87620  	// Short guest operating system identifier.
 87621  	//
 87622  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87623  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 87624  	// Full name for guest, if guestId is specified as `other`
 87625  	// or `other-64`.
 87626  	//
 87627  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87628  	AlternateGuestName string `xml:"alternateGuestName,omitempty" json:"alternateGuestName,omitempty"`
 87629  	// User-provided description of the virtual machine.
 87630  	//
 87631  	// Because this property
 87632  	// is optional in the virtual machine configuration, it is necessary
 87633  	// to pass an explicit empty string in a ConfigSpec object to remove an annotation
 87634  	// that is already present in the `VirtualMachineConfigInfo`
 87635  	// for a virtual machine.
 87636  	//
 87637  	// Reconfigure privilege: VirtualMachine.Config.Rename
 87638  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 87639  	// Information about virtual machine files.
 87640  	//
 87641  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87642  	Files *VirtualMachineFileInfo `xml:"files,omitempty" json:"files,omitempty"`
 87643  	// Configuration of VMware Tools running in the guest operating system.
 87644  	//
 87645  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87646  	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
 87647  	// Additional flags for a virtual machine.
 87648  	//
 87649  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87650  	Flags *VirtualMachineFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
 87651  	// Legacy console viewer preferences that are used with power operations.
 87652  	//
 87653  	// For
 87654  	// example, power on.
 87655  	//
 87656  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87657  	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
 87658  	// Configuration for default power operations.
 87659  	//
 87660  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87661  	PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty" json:"powerOpInfo,omitempty"`
 87662  	// Whether the next reboot will result in a power off.
 87663  	//
 87664  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87665  	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
 87666  	// Number of virtual processors in a virtual machine.
 87667  	//
 87668  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 87669  	NumCPUs int32 `xml:"numCPUs,omitempty" json:"numCPUs,omitempty"`
 87670  	// Vcpu configuration.
 87671  	//
 87672  	// The <code>vcpuConfig</code> array is indexed
 87673  	// by vcpu number.
 87674  	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty"`
 87675  	// Number of cores among which to distribute
 87676  	// CPUs in this virtual machine.
 87677  	//
 87678  	// Set "numCoresPerSocket" with a non-zero value
 87679  	// to manually configure coresPerSocket size.
 87680  	// Set "numCoresPerSocket" with zero to remove any manual size
 87681  	// if present, and use default coresPerSocket behavior.
 87682  	// Leave "numCoresPerSocket" unset to continue with existing
 87683  	// configuration (either manual or default).
 87684  	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty"`
 87685  	// Size of a virtual machine's memory, in MB.
 87686  	//
 87687  	// Reconfigure privilege: VirtualMachine.Config.Memory
 87688  	MemoryMB int64 `xml:"memoryMB,omitempty" json:"memoryMB,omitempty"`
 87689  	// Indicates whether or not memory can be added to the virtual
 87690  	// machine while it is running.
 87691  	//
 87692  	// This attribute can only be set when the virtual machine is
 87693  	// powered-off.
 87694  	//
 87695  	// Reconfigure privilege: VirtualMachine.Config.Memory
 87696  	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty"`
 87697  	// Indicates whether or not virtual processors can be added to
 87698  	// the virtual machine while it is running.
 87699  	//
 87700  	// This attribute can only be set when the virtual machine is
 87701  	// powered-off.
 87702  	//
 87703  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 87704  	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty"`
 87705  	// Indicates whether or not virtual processors can be removed
 87706  	// from the virtual machine while it is running.
 87707  	//
 87708  	// This attribute can only be set when the virtual machine is
 87709  	// powered-off.
 87710  	//
 87711  	// Reconfigure privilege: VirtualMachine.Config.CpuCount
 87712  	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty"`
 87713  	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
 87714  	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty"`
 87715  	// Does this virtual machine have System Management Controller
 87716  	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty"`
 87717  	// Set of virtual devices being modified by the configuration operation.
 87718  	//
 87719  	// Reconfigure privileges:
 87720  	//   - VirtualMachine.Config.Resource if setting the "shares" property of
 87721  	//     a new or existing VirtualDisk device
 87722  	//   - VirtualMachine.Config.RawDevice if adding, removing, or modifying a
 87723  	//     raw device (also required when creating a virtual machine)
 87724  	//   - VirtualMachine.Config.HostUSBDevice if adding, removing, or
 87725  	//     modifying a VirtualUSB device backed by a host USB device (also
 87726  	//     required when creating a virtual machine).
 87727  	//   - VirtualMachine.Interact.DeviceConnection if setting the "connectable"
 87728  	//     property of a connectable device
 87729  	//   - VirtualMachine.Interact.SetCDMedia if setting the "backing" property
 87730  	//     of a VirtualCdrom device
 87731  	//   - VirtualMachine.Interact.SetFloppyMedia if setting the "backing" property
 87732  	//     of a VirtualFloppy device
 87733  	//   - VirtualMachine.Config.EditDevice if setting any property of a
 87734  	//     non-CDROM non-Floppy device
 87735  	//   - VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk, and
 87736  	//     the fileOperation is unset (also required when creating a virtual machine)
 87737  	//   - VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and the
 87738  	//     fileOperation is set (also required when creating a virtual machine)
 87739  	//   - VirtualMachine.Config.RemoveDisk if removing a VirtualDisk device
 87740  	//   - VirtualMachine.Config.AddRemoveDevice if adding or removing any
 87741  	//     device other than disk, raw, or USB device.
 87742  	//   - Network.Assign if if setting the "backing" property of a
 87743  	//     VirtualEthernetCard device.
 87744  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
 87745  	// Resource limits for CPU.
 87746  	//
 87747  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87748  	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
 87749  	// Resource limits for memory.
 87750  	//
 87751  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87752  	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
 87753  	// The latency-sensitivity setting of the virtual machine.
 87754  	//
 87755  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87756  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 87757  	// Affinity settings for CPU.
 87758  	//
 87759  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87760  	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
 87761  	// Deprecated since vSphere 6.0.
 87762  	//
 87763  	// Affinity settings for memory.
 87764  	//
 87765  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87766  	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
 87767  	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
 87768  	//
 87769  	// Resource limits for network.
 87770  	//
 87771  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87772  	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
 87773  	// Specifies the CPU feature compatibility masks.
 87774  	//
 87775  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87776  	// As of vSphere API 6.5 `FeatureMask`
 87777  	// is the recommended method for masking virtual machines with
 87778  	// hardware version 9 and above (newer).
 87779  	CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
 87780  	// Additional configuration information for the virtual machine.
 87781  	//
 87782  	// This describes a set of modifications to the additional options. If the key is
 87783  	// already present, it will be reset with the new value provided. Otherwise, a new
 87784  	// option is added. Keys with empty values will be removed.
 87785  	//
 87786  	// Configuration keys that would conflict with parameters that are explicitly
 87787  	// configurable through other fields in the ConfigSpec object are silently ignored.
 87788  	//
 87789  	// Reconfigure privilege: VirtualMachine.Config.AdvancedConfig
 87790  	// (also required when setting this property while creating a virtual machine)
 87791  	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
 87792  	// Virtual machine swapfile placement policy.
 87793  	//
 87794  	// This may only be set if the
 87795  	// `swapPlacementSupported`
 87796  	// capability is true for this virtual machine. Any change to this policy
 87797  	// will take effect the next time the virtual machine powers on, resumes
 87798  	// from a suspended state, or migrates while powered on.
 87799  	//
 87800  	// Reconfigure privilege: VirtualMachine.Config.SwapPlacement
 87801  	// (also required when setting this property while creating a virtual machine)
 87802  	//
 87803  	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
 87804  	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty"`
 87805  	// Settings that control the boot behavior of the virtual
 87806  	// machine.
 87807  	//
 87808  	// These settings take effect during the next power-on
 87809  	// of the virtual machine.
 87810  	//
 87811  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87812  	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
 87813  	// Configuration of vApp meta-data for a virtual machine
 87814  	VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty"`
 87815  	// Fault Tolerance settings for this virtual machine.
 87816  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 87817  	// vSphere Replication settings.
 87818  	//
 87819  	// Note this may become deprecated in the future releases. We
 87820  	// discourage any unnecessary dependency on this field.
 87821  	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty"`
 87822  	// Set to true, if the vApp configuration should be removed
 87823  	//
 87824  	// Reconfigure privilege: VApp.ApplicationConfig
 87825  	VAppConfigRemoved *bool `xml:"vAppConfigRemoved" json:"vAppConfigRemoved,omitempty"`
 87826  	// Indicates whether user-configured virtual asserts will be
 87827  	// triggered during virtual machine replay.
 87828  	//
 87829  	// This setting takes
 87830  	// effect during the next replay of the virtual machine.
 87831  	//
 87832  	// Enabling this functionality can potentially cause some
 87833  	// performance overhead during virtual machine execution.
 87834  	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty"`
 87835  	// Setting to control enabling/disabling changed block tracking for
 87836  	// the virtual disks of this VM.
 87837  	//
 87838  	// This may only be set if the
 87839  	// `changeTrackingSupported`
 87840  	// capability is true for this virtual machine. Any change to this property
 87841  	// will take effect the next time the virtual machine powers on, resumes
 87842  	// from a suspended state, performs a snapshot create/delete/revert operation
 87843  	// or migrates while powered on.
 87844  	//
 87845  	// Reconfigure privilege: VirtualMachine.Config.ChangeTracking
 87846  	// (also required when setting this property while creating a virtual machine)
 87847  	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty"`
 87848  	// Set the desired firmware type for this Virtual Machine.
 87849  	//
 87850  	// Possible values are described in
 87851  	// `GuestOsDescriptorFirmwareType_enum`
 87852  	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty"`
 87853  	// If set, this setting limits the maximum number of active remote
 87854  	// display connections that the virtual machine will support to
 87855  	// the specified value.
 87856  	//
 87857  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 87858  	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty"`
 87859  	// If set to True, this causes the guest operating system to automatically
 87860  	// logout any active sessions whenever there are no remote display
 87861  	// connections open to the virtual machine.
 87862  	//
 87863  	// Reconfigure privilege: VirtualMachine.Config.MksControl
 87864  	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty"`
 87865  	// Specifies that this VM is managed by a VC Extension.
 87866  	//
 87867  	// This information is primarily used in the Client to show a custom icon for
 87868  	// managed virtual machines, and a description of the function of the virtual
 87869  	// machine. If no extension can be found with the extension key in the
 87870  	// `managedBy` object, or the type is not found
 87871  	// in the `managedEntityInfo` list of the
 87872  	// extension, the default virtual machine icon is used, and no description is
 87873  	// shown.
 87874  	// To unset this field pass a `ManagedByInfo` object with an
 87875  	// empty `extensionKey`.
 87876  	//
 87877  	// Reconfigure privilege: VirtualMachine.Config.ManagedBy
 87878  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 87879  	// If set true, memory resource reservation for this virtual machine will always be
 87880  	// equal to the virtual machine's memory size; increases in memory size will be
 87881  	// rejected when a corresponding reservation increase is not possible.
 87882  	//
 87883  	// This feature
 87884  	// may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
 87885  	//
 87886  	// Reconfigure privilege: VirtualMachine.Config.Resource
 87887  	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty"`
 87888  	// Specifies that this VM will use nested hardware-assisted virtualization.
 87889  	//
 87890  	// When creating a new VM:
 87891  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 87892  	// and this flag is set to <code>false</code> error is returned.
 87893  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 87894  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 87895  	//
 87896  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87897  	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty"`
 87898  	// Specifies that this VM will have virtual CPU performance counters
 87899  	// enabled.
 87900  	//
 87901  	// Reconfigure privilege: VirtualMachine.Config.Settings
 87902  	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty"`
 87903  	// Configuration of scheduled hardware upgrades.
 87904  	//
 87905  	// Reconfigure privilege: VirtualMachine.Config.UpgradeVirtualHardware
 87906  	//
 87907  	// See also `ScheduledHardwareUpgradeInfo`.
 87908  	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty"`
 87909  	// Virtual Machine Profile requirement.
 87910  	//
 87911  	// Profiles are solution specific.
 87912  	// Profile Based Storage Management is a vSphere server extension.
 87913  	// API users who want to provision VMs using Storage Profiles, need to
 87914  	// interact with it.
 87915  	// This is an optional parameter and if user doesn't specify profile,
 87916  	// the default behavior will apply.
 87917  	VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr" json:"vmProfile,omitempty"`
 87918  	// Whether to allow tunneling of clients from the guest VM into the
 87919  	// common message bus on the host network.
 87920  	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty"`
 87921  	// Virtual Machine cryptographic options.
 87922  	//
 87923  	// The cryptographic options are inherited to all disks of the VM.
 87924  	// The cryptographic options for a disk can be different by setting
 87925  	// its CryptoSpec.
 87926  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 87927  	// An enum describing whether encrypted vMotion is required for this VM.
 87928  	//
 87929  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedVMotionModes_enum`.
 87930  	// This defaults to opportunistic for a regular VM, and will be set to
 87931  	// required for an encrypted VM.
 87932  	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty"`
 87933  	// Configuration of SGX, Software Guard Extensions for the VM.
 87934  	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty"`
 87935  	// An enum describing whether encrypted Fault Tolerance is required
 87936  	// for this VM.
 87937  	//
 87938  	// Supported values are listed in `VirtualMachineConfigSpecEncryptedFtModes_enum`.
 87939  	// \- This defaults to opportunistic for a regular VM, and will be set to
 87940  	// required for an encrypted VM.
 87941  	// \- If this property is unset, the mode of encrypted Fault Tolerance
 87942  	// will be set to opportunistic.
 87943  	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
 87944  	// Configuration of GMM, Guest Monitoring Mode for the VM.
 87945  	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty"`
 87946  	// SEV (Secure Encrypted Virtualization) enabled or not.
 87947  	//
 87948  	// SEV is enabled when
 87949  	// set to true, and disabled otherwise.
 87950  	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
 87951  	// Virtual NUMA information for this VM.
 87952  	VirtualNuma *VirtualMachineVirtualNuma `xml:"virtualNuma,omitempty" json:"virtualNuma,omitempty" vim:"8.0.0.1"`
 87953  	// One of motherboardLayout choices.
 87954  	//
 87955  	// Default is i440bxHostBridge. See
 87956  	// `VirtualHardware.motherboardLayout`
 87957  	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
 87958  	// Property to enable/disable PMem HA failover.
 87959  	//
 87960  	// \- When set to TRUE, VMs configured to use PMem
 87961  	// will be failed over to other hosts by HA, but the data
 87962  	// in NVDIMM is not persistent.
 87963  	// \- When set to FALSE, VMs configured to use PMem will not
 87964  	// be failed over to other hosts by HA.
 87965  	// Property is currently only applicable to VMs with NVDimms and
 87966  	// will fail to set True if vPMem disks are present.
 87967  	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
 87968  	// Property to enable/disable VMXStats Collection.
 87969  	//
 87970  	// \- Setting this property is only allowed when the VM is powered off
 87971  	// and will fail otherwise.
 87972  	// \- When set to TRUE, VMs will be configured to create a
 87973  	// scoreboard file to store certain stats for various VMX
 87974  	// components.
 87975  	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
 87976  	// Property to enable/disable operation notification to applications.
 87977  	//
 87978  	// \- When set to TRUE, application running inside the VM will be
 87979  	// notified of operations for which they have registered.
 87980  	// \- If unset defaults to FALSE, no notifications are sent to the
 87981  	// application.
 87982  	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
 87983  	// Operation notification timeout in seconds.
 87984  	//
 87985  	// \- Specifies the maximum time duration the applications may take to
 87986  	// prepare for the operation after its been notified. This value is used
 87987  	// only if `VirtualMachineConfigSpec.vmOpNotificationToAppEnabled` is set to TRUE.
 87988  	// \- Timeout has to be a non-zero positive value for applications to
 87989  	// be able to register and get notifications.
 87990  	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
 87991  	// Status of the device swap operation.
 87992  	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
 87993  	// Number of SMT (Simultaneous multithreading) threads.
 87994  	//
 87995  	// \- Set "simultaneousThreads" with a non-zero value to configure threads.
 87996  	// \- If unset, then use system defaults.
 87997  	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
 87998  	// Configuration for virtual persistent memory.
 87999  	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
 88000  	// Assignable hardware device groups.
 88001  	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
 88002  	// Indicates whether support to add and remove fixed passthrough
 88003  	// devices when the VM is running should be enabled.
 88004  	//
 88005  	// This property can only be set when the VM is powered off. If set,
 88006  	// additional setup will be performed when the VM is powered on
 88007  	// so that hot adding and removing fixed passthrough devices will
 88008  	// be possible.
 88009  	// NOTE: When setting this to true, the memory reservation should
 88010  	// be equal to the guest memory size or the option to reserve all
 88011  	// guest memory should be selected. If unset, the current value
 88012  	// is left unchanged.
 88013  	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
 88014  	// Indicates whether FT Metro Cluster is enabled/disabled.
 88015  	//
 88016  	// \- If TRUE, FT Metro Cluster is enabled for the VM. An implicit
 88017  	// Anti-HostGroup will be generated from HostGroup defined for FT
 88018  	// primary, then affine the primary with one HostGroup and affine the
 88019  	// secondary with another HostGroup.
 88020  	// \- If FALSE or unset, FT Metro Cluster is disabled for the VM. Both FT
 88021  	// primary and secondary will be put in the same HostGroup.
 88022  	MetroFtEnabled *bool `xml:"metroFtEnabled" json:"metroFtEnabled,omitempty" vim:"8.0.3.0"`
 88023  	// Indicate the Host Group (`ClusterHostGroup`) for FT
 88024  	// Metro Cluster enabled Virtual Machine.
 88025  	//
 88026  	// Based on the selected Host Group, FT can divide the hosts in the cluster
 88027  	// into two groups and ensure to place FT primary and FT secondary in
 88028  	// different groups.
 88029  	MetroFtHostGroup string `xml:"metroFtHostGroup,omitempty" json:"metroFtHostGroup,omitempty" vim:"8.0.3.0"`
 88030  }
 88031  
 88032  func init() {
 88033  	t["VirtualMachineConfigSpec"] = reflect.TypeOf((*VirtualMachineConfigSpec)(nil)).Elem()
 88034  }
 88035  
 88036  // A subset of virtual machine configuration.
 88037  type VirtualMachineConfigSummary struct {
 88038  	DynamicData
 88039  
 88040  	// Name of the virtual machine.
 88041  	Name string `xml:"name" json:"name"`
 88042  	// Flag to determine whether or not this virtual machine is a template.
 88043  	Template bool `xml:"template" json:"template"`
 88044  	// Path name to the configuration file for the virtual machine
 88045  	VmPathName string `xml:"vmPathName" json:"vmPathName"`
 88046  	// Memory size of the virtual machine, in megabytes.
 88047  	MemorySizeMB int32 `xml:"memorySizeMB,omitempty" json:"memorySizeMB,omitempty"`
 88048  	// Configured CPU reservation in MHz
 88049  	CpuReservation int32 `xml:"cpuReservation,omitempty" json:"cpuReservation,omitempty"`
 88050  	// Configured Memory reservation in MB
 88051  	MemoryReservation int32 `xml:"memoryReservation,omitempty" json:"memoryReservation,omitempty"`
 88052  	// Number of processors in the virtual machine.
 88053  	NumCpu int32 `xml:"numCpu,omitempty" json:"numCpu,omitempty"`
 88054  	// Number of virtual network adapters.
 88055  	NumEthernetCards int32 `xml:"numEthernetCards,omitempty" json:"numEthernetCards,omitempty"`
 88056  	// Number of virtual disks attached to the virtual machine.
 88057  	NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty" json:"numVirtualDisks,omitempty"`
 88058  	// Virtual machine BIOS identification.
 88059  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 88060  	// VC-specific identifier of the virtual machine
 88061  	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty"`
 88062  	// Guest operating system identifier (short name).
 88063  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 88064  	// Guest operating system name configured on the virtual machine.
 88065  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 88066  	// Description for the virtual machine.
 88067  	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
 88068  	// Product information.
 88069  	//
 88070  	// References to properties in the URLs are expanded.
 88071  	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 88072  	// Whether the VM requires a reboot to finish installation.
 88073  	//
 88074  	// False if no vApp
 88075  	// meta-data is configured.
 88076  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 88077  	// Fault Tolerance settings for this virtual machine.
 88078  	//
 88079  	// This property will be populated only for fault tolerance virtual
 88080  	// machines and will be left unset for all other virtual machines.
 88081  	// See `FaultToleranceConfigInfo` for a description.
 88082  	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
 88083  	// Specifies that this VM is managed by a VC Extension.
 88084  	//
 88085  	// See the
 88086  	// `managedBy` property in the ConfigSpec
 88087  	// for more details.
 88088  	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty"`
 88089  	// Is TPM present in a VM?
 88090  	TpmPresent *bool `xml:"tpmPresent" json:"tpmPresent,omitempty"`
 88091  	// Number of VMIOP backed devices attached to the virtual machine.
 88092  	NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty" json:"numVmiopBackings,omitempty"`
 88093  	// The hardware version string for this virtual machine.
 88094  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 88095  }
 88096  
 88097  func init() {
 88098  	t["VirtualMachineConfigSummary"] = reflect.TypeOf((*VirtualMachineConfigSummary)(nil)).Elem()
 88099  }
 88100  
 88101  // The `VirtualMachineConnection` object describes a connection to the virtual
 88102  // machine.
 88103  type VirtualMachineConnection struct {
 88104  	DynamicData
 88105  
 88106  	// The unique identifier associated with the connection.
 88107  	//
 88108  	// The label is a UTF-8 string which specifies a unique identifier for
 88109  	// a connection.
 88110  	Label string `xml:"label" json:"label"`
 88111  	// The client identifer.
 88112  	//
 88113  	// This identifier is a UTF-8 string which is semantically meaningful
 88114  	// for the connection. Examples of the client identifier are an IP
 88115  	// address (V4 or V6) with or without a port specification, a machine
 88116  	// name that requires a DNS lookup, or any other network oriented
 88117  	// identification scheme.
 88118  	Client string `xml:"client" json:"client"`
 88119  	// The name of the user authorizing the connection.
 88120  	//
 88121  	// This is used for auditing.
 88122  	UserName string `xml:"userName" json:"userName"`
 88123  }
 88124  
 88125  func init() {
 88126  	t["VirtualMachineConnection"] = reflect.TypeOf((*VirtualMachineConnection)(nil)).Elem()
 88127  	minAPIVersionForType["VirtualMachineConnection"] = "7.0.1.0"
 88128  }
 88129  
 88130  // Preferences for the legacy console application that affect the way it behaves during power
 88131  // operations on the virtual machine.
 88132  type VirtualMachineConsolePreferences struct {
 88133  	DynamicData
 88134  
 88135  	// Power on the virtual machine when it is opened in the console.
 88136  	PowerOnWhenOpened *bool `xml:"powerOnWhenOpened" json:"powerOnWhenOpened,omitempty"`
 88137  	// Enter full screen mode when this virtual machine is powered on.
 88138  	EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn" json:"enterFullScreenOnPowerOn,omitempty"`
 88139  	// Close the console application when the virtual machine is powered off
 88140  	// or suspended.
 88141  	CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend" json:"closeOnPowerOffOrSuspend,omitempty"`
 88142  }
 88143  
 88144  func init() {
 88145  	t["VirtualMachineConsolePreferences"] = reflect.TypeOf((*VirtualMachineConsolePreferences)(nil)).Elem()
 88146  }
 88147  
 88148  // Describes the content library item information
 88149  // associated with the virtual machine.
 88150  type VirtualMachineContentLibraryItemInfo struct {
 88151  	DynamicData
 88152  
 88153  	// The content library item UUID
 88154  	ContentLibraryItemUuid string `xml:"contentLibraryItemUuid" json:"contentLibraryItemUuid"`
 88155  	// The content library item version is determined and
 88156  	// managed by content library and this field stamps the version
 88157  	// provided by CL to the VM.
 88158  	ContentLibraryItemVersion string `xml:"contentLibraryItemVersion,omitempty" json:"contentLibraryItemVersion,omitempty"`
 88159  }
 88160  
 88161  func init() {
 88162  	t["VirtualMachineContentLibraryItemInfo"] = reflect.TypeOf((*VirtualMachineContentLibraryItemInfo)(nil)).Elem()
 88163  }
 88164  
 88165  // Wrapper class to support incremental updates of the cpuFeatureMask.
 88166  //
 88167  // As of vSphere API 6.5 `VirtualMachineConfigSpec.extraConfig` is the recommended method
 88168  // for setting the mask for a virtual machine with hardware version 9 and
 88169  // above (newer). They can be viewed via
 88170  // `featureMask`.
 88171  type VirtualMachineCpuIdInfoSpec struct {
 88172  	ArrayUpdateSpec
 88173  
 88174  	Info *HostCpuIdInfo `xml:"info,omitempty" json:"info,omitempty"`
 88175  }
 88176  
 88177  func init() {
 88178  	t["VirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*VirtualMachineCpuIdInfoSpec)(nil)).Elem()
 88179  }
 88180  
 88181  // DatastoreInfo describes a datastore that a virtual disk can be
 88182  // stored on.
 88183  type VirtualMachineDatastoreInfo struct {
 88184  	VirtualMachineTargetInfo
 88185  
 88186  	// Information about the datastore
 88187  	Datastore DatastoreSummary `xml:"datastore" json:"datastore"`
 88188  	// Information about the datastore capabilities
 88189  	Capability DatastoreCapability `xml:"capability" json:"capability"`
 88190  	// The maximum size of a file that can reside on this datastore.
 88191  	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
 88192  	// The maximum capacity of a virtual disk which can be created on this volume
 88193  	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty"`
 88194  	// Maximum raw device mapping size (physical compatibility)
 88195  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty"`
 88196  	// Maximum raw device mapping size (virtual compatibility)
 88197  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty"`
 88198  	// Access mode for this datastore.
 88199  	//
 88200  	// This is either
 88201  	// readOnly or readWrite. A virtual disk needs to be
 88202  	// stored on readWrite datastore. ISOs can be read
 88203  	// from a readOnly datastore.
 88204  	//
 88205  	// See also `HostMountMode_enum`.
 88206  	Mode string `xml:"mode" json:"mode"`
 88207  	// Indicate the states of vStorage hardware acceleration
 88208  	// support for this datastore.
 88209  	//
 88210  	// In the case of a cluster compute resource, this property
 88211  	// is aggregated from the values reported by individual hosts
 88212  	// as follows:
 88213  	//   - If at least one host reports
 88214  	//     `vStorageSupported`,
 88215  	//     then it is set to
 88216  	//     `vStorageSupported`.
 88217  	//   - Else if at least one host reports
 88218  	//     `vStorageUnknown`,
 88219  	//     it is set to
 88220  	//     `vStorageUnknown`.
 88221  	//   - Else if at least one host reports
 88222  	//     `vStorageUnsupported`,
 88223  	//     it is set to
 88224  	//     `vStorageUnsupported`.
 88225  	//   - Else it is unset.
 88226  	//
 88227  	// See also `FileSystemMountInfoVStorageSupportStatus_enum`.
 88228  	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty"`
 88229  }
 88230  
 88231  func init() {
 88232  	t["VirtualMachineDatastoreInfo"] = reflect.TypeOf((*VirtualMachineDatastoreInfo)(nil)).Elem()
 88233  }
 88234  
 88235  // This data object type describes a file system volume option for this
 88236  // virtual machine.
 88237  type VirtualMachineDatastoreVolumeOption struct {
 88238  	DynamicData
 88239  
 88240  	// The type name of the file system volume information object for this
 88241  	// option.
 88242  	//
 88243  	// See also `HostFileSystemVolumeInfo`.
 88244  	FileSystemType string `xml:"fileSystemType" json:"fileSystemType"`
 88245  	// The major version of the file system volume information for this
 88246  	// option.
 88247  	//
 88248  	// If not specified, all versions of this file system are included
 88249  	// in this option. Currently, this value is set only for VMFS volumes.
 88250  	MajorVersion int32 `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`
 88251  }
 88252  
 88253  func init() {
 88254  	t["VirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*VirtualMachineDatastoreVolumeOption)(nil)).Elem()
 88255  }
 88256  
 88257  // The DefaultPowerOpInfo data object type holds the configured defaults for the power
 88258  // operations on a virtual machine.
 88259  //
 88260  // The properties indicated whether to do a "soft"
 88261  // or guest initiated operation, or a "hard" operation.
 88262  type VirtualMachineDefaultPowerOpInfo struct {
 88263  	DynamicData
 88264  
 88265  	// Describes the default power off type for this virtual machine.
 88266  	//
 88267  	// The possible values are specified by the PowerOpType.
 88268  	//   - hard - Perform power off by using the PowerOff method.
 88269  	//   - soft - Perform power off by using the ShutdownGuest method.
 88270  	//   - preset - The preset value is specified in the defaultPowerOffType
 88271  	//     section.
 88272  	//
 88273  	// This setting is advisory and clients can choose to ignore it.
 88274  	PowerOffType string `xml:"powerOffType,omitempty" json:"powerOffType,omitempty"`
 88275  	// Describes the default suspend type for this virtual machine.
 88276  	//
 88277  	// The possible values are specified by the PowerOpType.
 88278  	//   - hard - Perform suspend by using the Suspend method.
 88279  	//   - soft - Perform suspend by using the StandbyGuest method.
 88280  	//   - preset - The preset value is specified in the defaultSuspendType
 88281  	//     section.
 88282  	//
 88283  	// This setting is advisory and clients can choose to ignore it.
 88284  	SuspendType string `xml:"suspendType,omitempty" json:"suspendType,omitempty"`
 88285  	// Describes the default reset type for this virtual machine.
 88286  	//
 88287  	// The possible values are specified by the PowerOpType.
 88288  	//   - hard - Perform reset by using the Reset method.
 88289  	//   - soft - Perform reset by using the RebootGuest method.
 88290  	//   - preset - The preset value is specified in the defaultResetType
 88291  	//     section.
 88292  	//
 88293  	// This setting is advisory and clients can choose to ignore it.
 88294  	ResetType string `xml:"resetType,omitempty" json:"resetType,omitempty"`
 88295  	// Default operation for power off: soft or hard
 88296  	DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty" json:"defaultPowerOffType,omitempty"`
 88297  	// Default operation for suspend: soft or hard
 88298  	DefaultSuspendType string `xml:"defaultSuspendType,omitempty" json:"defaultSuspendType,omitempty"`
 88299  	// Default operation for reset: soft or hard
 88300  	DefaultResetType string `xml:"defaultResetType,omitempty" json:"defaultResetType,omitempty"`
 88301  	// Behavior of virtual machine when it receives the S1 ACPI call.
 88302  	StandbyAction string `xml:"standbyAction,omitempty" json:"standbyAction,omitempty"`
 88303  }
 88304  
 88305  func init() {
 88306  	t["VirtualMachineDefaultPowerOpInfo"] = reflect.TypeOf((*VirtualMachineDefaultPowerOpInfo)(nil)).Elem()
 88307  }
 88308  
 88309  // Used to indicate that the Default Storage Policy of the target datastore
 88310  // be used for a Virtual Machine Home or a Virtual Disk object.
 88311  //
 88312  // Neither the association nor the policy data is persisted in Virtual Machine
 88313  // configuration. This data is managed by an extension of Virtual Center
 88314  // (Storage Policy Based Management).
 88315  type VirtualMachineDefaultProfileSpec struct {
 88316  	VirtualMachineProfileSpec
 88317  }
 88318  
 88319  func init() {
 88320  	t["VirtualMachineDefaultProfileSpec"] = reflect.TypeOf((*VirtualMachineDefaultProfileSpec)(nil)).Elem()
 88321  }
 88322  
 88323  // Policy specification that carries a pre-defined Storage Policy to be associated
 88324  // with a Virtual Machine Home or a Virtual Disk object.
 88325  //
 88326  // Such a pre-defined
 88327  // policy can be either be vSphere Storage Administrator defined or may come
 88328  // from a set of pre-defined policies from Storage Vendor.
 88329  //
 88330  // Neither the association nor the policy data is persisted in Virtual Machine
 88331  // configuration. This data is managed by the an extension of Virtual Center
 88332  // (Storage Policy Based Management).
 88333  type VirtualMachineDefinedProfileSpec struct {
 88334  	VirtualMachineProfileSpec
 88335  
 88336  	// Storage Policy Profile identification - Should be
 88337  	// pbm.profileId but for implementation reasons, could not be.
 88338  	ProfileId string `xml:"profileId" json:"profileId"`
 88339  	// Specification containing replication related parameters, sent to the Replication Data Service
 88340  	// provider.
 88341  	ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty" json:"replicationSpec,omitempty"`
 88342  	// Profile data sent to the Storage Backend by vSphere.
 88343  	//
 88344  	// This data is provided by the SPBM component of the vSphere platform.
 88345  	// This field should not be set by Virtual Center users.
 88346  	ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty" json:"profileData,omitempty"`
 88347  	// Parameterized Storage Profiles
 88348  	// Extra configuration that is not expressed as a capability in the Profile
 88349  	// definition.
 88350  	ProfileParams []KeyValue `xml:"profileParams,omitempty" json:"profileParams,omitempty"`
 88351  }
 88352  
 88353  func init() {
 88354  	t["VirtualMachineDefinedProfileSpec"] = reflect.TypeOf((*VirtualMachineDefinedProfileSpec)(nil)).Elem()
 88355  }
 88356  
 88357  // The DeviceRuntimeInfo data object type provides information about
 88358  // the execution state of a single virtual device.
 88359  type VirtualMachineDeviceRuntimeInfo struct {
 88360  	DynamicData
 88361  
 88362  	// The device runtime state.
 88363  	RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr" json:"runtimeState"`
 88364  	// The device key.
 88365  	Key int32 `xml:"key" json:"key"`
 88366  }
 88367  
 88368  func init() {
 88369  	t["VirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfo)(nil)).Elem()
 88370  }
 88371  
 88372  // Runtime state of a device.
 88373  //
 88374  // Subclassed for information that is specific
 88375  // to certain device types.
 88376  type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct {
 88377  	DynamicData
 88378  }
 88379  
 88380  func init() {
 88381  	t["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem()
 88382  }
 88383  
 88384  // Runtime state of a virtual ethernet card device.
 88385  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct {
 88386  	VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
 88387  
 88388  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88389  	// supported and there is no replacement.
 88390  	//
 88391  	// Flag to indicate whether VMDirectPath Gen 2 is active on this device.
 88392  	//
 88393  	// If false, the reason(s) for inactivity will be provided in one or
 88394  	// more of `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`,
 88395  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`,
 88396  	// and `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`.
 88397  	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
 88398  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88399  	// supported and there is no replacement.
 88400  	//
 88401  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 88402  	// populated with reasons for the inactivity that are related to virtual
 88403  	// machine state or configuration (chosen from
 88404  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 88405  	//
 88406  	// Other reasons for
 88407  	// inactivity will be provided in
 88408  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`. If there is a reason
 88409  	// for inactivity that cannot be described by the available constants,
 88410  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 88411  	// with an additional explanation provided by the platform.
 88412  	//
 88413  	// Note that this list of reasons is not guaranteed to be exhaustive.
 88414  	VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty" json:"vmDirectPathGen2InactiveReasonVm,omitempty"`
 88415  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88416  	// supported and there is no replacement.
 88417  	//
 88418  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
 88419  	// populated with reasons for the inactivity that are not related to
 88420  	// virtual machine state or configuration (chosen from
 88421  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 88422  	//
 88423  	// Virtual machine
 88424  	// related reasons for inactivity will be provided in
 88425  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`. If there is a reason
 88426  	// for inactivity that cannot be described by the available constants,
 88427  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
 88428  	// with an additional explanation provided by the platform.
 88429  	//
 88430  	// Note that this list of reasons is not guaranteed to be exhaustive.
 88431  	//
 88432  	// See also `HostCapability.vmDirectPathGen2Supported`.
 88433  	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
 88434  	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
 88435  	// supported and there is no replacement.
 88436  	//
 88437  	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this property may
 88438  	// contain an explanation provided by the platform, beyond the reasons
 88439  	// (if any) enumerated in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
 88440  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`.
 88441  	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
 88442  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is active
 88443  	// on this device.
 88444  	//
 88445  	// If true, the network adapter works in the pass-through mode.
 88446  	// If false, the network adapter still has the network connectivity but
 88447  	// works in emulated mode and pass-through is not enabled.
 88448  	// The reason for inactivity is provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`
 88449  	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 88450  	// This flag is unset if not applicable. It indicates network adapter is not a
 88451  	// vmxnet3 adapter or `VirtualVmxnet3.uptv2Enabled` of it
 88452  	// is not set to true.
 88453  	Uptv2Active *bool `xml:"uptv2Active" json:"uptv2Active,omitempty" vim:"8.0.0.1"`
 88454  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 88455  	// populated with reasons for the inactivity that are related to virtual
 88456  	// machine state or configuration (chosen from
 88457  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
 88458  	//
 88459  	// Other reasons for
 88460  	// inactivity will be provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
 88461  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 88462  	//
 88463  	// Note that this field of reasons is not guaranteed to be exhaustive.
 88464  	Uptv2InactiveReasonVm []string `xml:"uptv2InactiveReasonVm,omitempty" json:"uptv2InactiveReasonVm,omitempty" vim:"8.0.0.1"`
 88465  	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
 88466  	// populated with reasons for the inactivity that are not related to
 88467  	// virtual machine state or configuration (chosen from
 88468  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
 88469  	//
 88470  	// Virtual machine
 88471  	// related reasons for inactivity will be provided in
 88472  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`.
 88473  	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
 88474  	//
 88475  	// Note that this field of reasons is not guaranteed to be exhaustive.
 88476  	Uptv2InactiveReasonOther []string `xml:"uptv2InactiveReasonOther,omitempty" json:"uptv2InactiveReasonOther,omitempty" vim:"8.0.0.1"`
 88477  	// The status indicating whether network reservation requirement is violated
 88478  	// or not on the virtual network adapter.
 88479  	//
 88480  	// See `ManagedEntityStatus_enum`
 88481  	// for possible values.
 88482  	//
 88483  	// `red` indicates that reservation specified on the virtual
 88484  	// network adapter is not being fulfilled. This can happen if the reservation requested is
 88485  	// greater than the available capacity reserved for virtual machine traffic on the host.
 88486  	//
 88487  	// `green` indicates that the reservation specified on the
 88488  	// virtual network adapter is being fulfilled.
 88489  	ReservationStatus string `xml:"reservationStatus,omitempty" json:"reservationStatus,omitempty"`
 88490  	// The status indicating the state of virtual network adapter's attachment
 88491  	// to an opaque network.
 88492  	//
 88493  	// See `ManagedEntityStatus_enum` for possible values.
 88494  	//
 88495  	// `red` indicates that the network adapter
 88496  	// is not yet successfully attached to opaque network. This can happen if
 88497  	// corresponding attachment port is missing in the kernel.
 88498  	//
 88499  	// `green` indicates that the network
 88500  	// adapater is successfully attached to opaque network.
 88501  	AttachmentStatus string `xml:"attachmentStatus,omitempty" json:"attachmentStatus,omitempty"`
 88502  	// These network adapter requirements must have equivalent capabilities
 88503  	// on the virtual switch in order to power on or migrate to the host.
 88504  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 88505  }
 88506  
 88507  func init() {
 88508  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState)(nil)).Elem()
 88509  }
 88510  
 88511  // The DiskDeviceInfo class contains basic information about a specific disk hardware
 88512  // device.
 88513  type VirtualMachineDiskDeviceInfo struct {
 88514  	VirtualMachineTargetInfo
 88515  
 88516  	// Size of disk
 88517  	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
 88518  	// List of known virtual machines using this physical disk as a backing
 88519  	//
 88520  	// Refers instances of `VirtualMachine`.
 88521  	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 88522  }
 88523  
 88524  func init() {
 88525  	t["VirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem()
 88526  }
 88527  
 88528  // This data object defines a two-dimensional, rectangular
 88529  // display area.
 88530  type VirtualMachineDisplayTopology struct {
 88531  	DynamicData
 88532  
 88533  	// The x co-ordinate defining the start of the display rectangle.
 88534  	X int32 `xml:"x" json:"x"`
 88535  	// The y co-ordinate defining the start of the display rectangle.
 88536  	Y int32 `xml:"y" json:"y"`
 88537  	// The width of the display rectangle.
 88538  	Width int32 `xml:"width" json:"width"`
 88539  	// The height of the display rectangle.
 88540  	Height int32 `xml:"height" json:"height"`
 88541  }
 88542  
 88543  func init() {
 88544  	t["VirtualMachineDisplayTopology"] = reflect.TypeOf((*VirtualMachineDisplayTopology)(nil)).Elem()
 88545  }
 88546  
 88547  // Description of a Device Virtualization Extensions (DVX) device class.
 88548  type VirtualMachineDvxClassInfo struct {
 88549  	DynamicData
 88550  
 88551  	// DVX device class.
 88552  	DeviceClass BaseElementDescription `xml:"deviceClass,typeattr" json:"deviceClass"`
 88553  	// The label for the vendor name of this class.
 88554  	//
 88555  	// The value is defined by vendors of the DVX device class
 88556  	// as part of their localizable messages.
 88557  	VendorName string `xml:"vendorName" json:"vendorName"`
 88558  	// Indicates whether the devices of this class are SR-IOV NICs.
 88559  	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
 88560  	// The configuration parameters for this DVX device class.
 88561  	ConfigParams []OptionDef `xml:"configParams,omitempty" json:"configParams,omitempty"`
 88562  }
 88563  
 88564  func init() {
 88565  	t["VirtualMachineDvxClassInfo"] = reflect.TypeOf((*VirtualMachineDvxClassInfo)(nil)).Elem()
 88566  	minAPIVersionForType["VirtualMachineDvxClassInfo"] = "8.0.0.1"
 88567  }
 88568  
 88569  // Description of a Dynamic DirectPath PCI device.
 88570  type VirtualMachineDynamicPassthroughInfo struct {
 88571  	VirtualMachineTargetInfo
 88572  
 88573  	// The vendor name of this PCI device.
 88574  	VendorName string `xml:"vendorName" json:"vendorName"`
 88575  	// The device name of this PCI device.
 88576  	DeviceName string `xml:"deviceName" json:"deviceName"`
 88577  	// The custom label attached to this PCI device.
 88578  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 88579  	// PCI vendor ID for this device.
 88580  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 88581  	// PCI device ID for this device.
 88582  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 88583  }
 88584  
 88585  func init() {
 88586  	t["VirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*VirtualMachineDynamicPassthroughInfo)(nil)).Elem()
 88587  }
 88588  
 88589  // The EmptyIndependentFilterSpec data object is used to specify empty independent
 88590  // filter spec.
 88591  //
 88592  // This obejct is passed during provisioning workflows to remove all
 88593  // attached independent filters.
 88594  type VirtualMachineEmptyIndependentFilterSpec struct {
 88595  	VirtualMachineBaseIndependentFilterSpec
 88596  }
 88597  
 88598  func init() {
 88599  	t["VirtualMachineEmptyIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineEmptyIndependentFilterSpec)(nil)).Elem()
 88600  	minAPIVersionForType["VirtualMachineEmptyIndependentFilterSpec"] = "7.0.2.1"
 88601  }
 88602  
 88603  // Specifies an empty Storage Policy for a Virtual Machine Home or a
 88604  // Virtual Disk object.
 88605  //
 88606  // The object is left without any profile association, and hence has no
 88607  // explicit policy driven requirements.
 88608  // This implies that object's policy driven SLAs are always met trivially.
 88609  type VirtualMachineEmptyProfileSpec struct {
 88610  	VirtualMachineProfileSpec
 88611  }
 88612  
 88613  func init() {
 88614  	t["VirtualMachineEmptyProfileSpec"] = reflect.TypeOf((*VirtualMachineEmptyProfileSpec)(nil)).Elem()
 88615  }
 88616  
 88617  // Feature requirement contains a key, featureName and an opaque value
 88618  type VirtualMachineFeatureRequirement struct {
 88619  	DynamicData
 88620  
 88621  	// Accessor name to the feature requirement test
 88622  	Key string `xml:"key" json:"key"`
 88623  	// Name of the feature.
 88624  	//
 88625  	// Identical to the key.
 88626  	FeatureName string `xml:"featureName" json:"featureName"`
 88627  	// Opaque value for the feature operation.
 88628  	//
 88629  	// Operation is contained
 88630  	// in the value.
 88631  	Value string `xml:"value" json:"value"`
 88632  }
 88633  
 88634  func init() {
 88635  	t["VirtualMachineFeatureRequirement"] = reflect.TypeOf((*VirtualMachineFeatureRequirement)(nil)).Elem()
 88636  }
 88637  
 88638  // The FileInfo data object type contains the locations of virtual machine
 88639  // files other than the virtual disk files.
 88640  //
 88641  // The configurable parameters
 88642  // are all in the FileInfo object.
 88643  //
 88644  // The object also contains a FileLayout object that returns a complete
 88645  // list of additional files that makes up the virtual machine
 88646  // configuration. This is a read-only structure and is returned when
 88647  // the configuration is read. This is ignored during configuration and
 88648  // can be left out.
 88649  type VirtualMachineFileInfo struct {
 88650  	DynamicData
 88651  
 88652  	// Path name to the configuration file for the virtual machine, e.g., the
 88653  	// .vmx file.
 88654  	//
 88655  	// This also implicitly defines the configuration directory.
 88656  	VmPathName string `xml:"vmPathName,omitempty" json:"vmPathName,omitempty"`
 88657  	// Path name of the directory that holds suspend and snapshot files
 88658  	// belonging to the virtual machine.
 88659  	//
 88660  	// Prior to vSphere 5.0, this
 88661  	// directory also holds snapshot redo files. Starting with vSphere 5.0,
 88662  	// the redo files will stay in the same directory as the snapshotted
 88663  	// disk, thus this directory will no longer hold the snapshot redo
 88664  	// files.
 88665  	//
 88666  	// This path name defaults to the same directory as the configuration
 88667  	// file.
 88668  	//
 88669  	// ESX Server requires this to indicate a VMFS volume or NAS volume
 88670  	// (for ESX Server 3).
 88671  	// In case the configuration file is not stored on VMFS or NAS, this
 88672  	// property must be set explicitly.
 88673  	SnapshotDirectory string `xml:"snapshotDirectory,omitempty" json:"snapshotDirectory,omitempty"`
 88674  	// Some products allow the suspend directory to be different than the
 88675  	// snapshot directory.
 88676  	//
 88677  	// On products where this is not possible, setting
 88678  	// of this property is ignored.
 88679  	SuspendDirectory string `xml:"suspendDirectory,omitempty" json:"suspendDirectory,omitempty"`
 88680  	// Directory to store the log files for the virtual machine.
 88681  	//
 88682  	// If not specified,
 88683  	// this defaults to the same directory as the configuration file,
 88684  	LogDirectory string `xml:"logDirectory,omitempty" json:"logDirectory,omitempty"`
 88685  	// Directory to store the fault tolerance meta data files for the
 88686  	// virtual machine.
 88687  	FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty" json:"ftMetadataDirectory,omitempty"`
 88688  }
 88689  
 88690  func init() {
 88691  	t["VirtualMachineFileInfo"] = reflect.TypeOf((*VirtualMachineFileInfo)(nil)).Elem()
 88692  }
 88693  
 88694  // Deprecated as of vSphere API 4.0, use `VirtualMachineFileLayoutEx` instead.
 88695  //
 88696  // Describes the set of files that makes up a virtual machine on disk.
 88697  //
 88698  // The
 88699  // file layout is broken into 4 major sections:
 88700  //   - Configuration: Files stored in the configuration directory
 88701  //   - Log: Files stored in the log directory
 88702  //   - Disk: Files stored relative to a disk configuration file
 88703  //   - Snapshot: Stored in the snapshot directory
 88704  //
 88705  // Often the same directory is used for configuration, log, disk and
 88706  // snapshots.
 88707  type VirtualMachineFileLayout struct {
 88708  	DynamicData
 88709  
 88710  	// A list of files that makes up the configuration of the virtual machine
 88711  	// (excluding the .vmx file, since that file is represented in the
 88712  	// FileInfo).
 88713  	//
 88714  	// These are relative paths from the configuration directory. A
 88715  	// slash is always used as a separator. This list will typically include the
 88716  	// NVRAM file, but could also include other meta-data files.
 88717  	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
 88718  	// A list of files stored in the virtual machine's log directory.
 88719  	//
 88720  	// These are
 88721  	// relative paths from the logDirectory. A slash is always used as a
 88722  	// separator.
 88723  	LogFile []string `xml:"logFile,omitempty" json:"logFile,omitempty"`
 88724  	// Files making up each virtual disk.
 88725  	Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 88726  	// Files of each snapshot.
 88727  	Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 88728  	// The swapfile specific to this virtual machine, if any.
 88729  	//
 88730  	// This is a
 88731  	// complete datastore path, not a relative path.
 88732  	SwapFile string `xml:"swapFile,omitempty" json:"swapFile,omitempty"`
 88733  }
 88734  
 88735  func init() {
 88736  	t["VirtualMachineFileLayout"] = reflect.TypeOf((*VirtualMachineFileLayout)(nil)).Elem()
 88737  }
 88738  
 88739  // Enumerats the set of files for each virtual disk.
 88740  type VirtualMachineFileLayoutDiskLayout struct {
 88741  	DynamicData
 88742  
 88743  	// Identification of the disk in `config`.
 88744  	Key int32 `xml:"key" json:"key"`
 88745  	// List of files that makes up the virtual disk.
 88746  	//
 88747  	// At least one entry
 88748  	// always exists in this array. The first entry is the main
 88749  	// descriptor of the virtual disk (the one used when adding the
 88750  	// disk to a virtual machine). These are complete datastore paths, not
 88751  	// relative paths.
 88752  	DiskFile []string `xml:"diskFile" json:"diskFile"`
 88753  }
 88754  
 88755  func init() {
 88756  	t["VirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutDiskLayout)(nil)).Elem()
 88757  }
 88758  
 88759  // Detailed description of files that make up a virtual machine on disk.
 88760  //
 88761  // The
 88762  // file layout is broken into 4 major sections:
 88763  //   - Configuration: Files stored in the configuration directory
 88764  //   - Log: Files stored in the log directory
 88765  //   - Disk: Files stored relative to a disk configuration file
 88766  //   - Snapshot: Stored in the snapshot directory
 88767  //
 88768  // Often the same directory is used for configuration, log, disk and
 88769  // snapshots.
 88770  type VirtualMachineFileLayoutEx struct {
 88771  	DynamicData
 88772  
 88773  	// Information about all the files that constitute the virtual machine
 88774  	// including configuration files, disks, swap file, suspend file, log files,
 88775  	// core files, memory file etc.
 88776  	//
 88777  	// `VirtualMachineFileLayoutExFileType_enum` lists the
 88778  	// different file-types that make a virtual machine.
 88779  	File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty" json:"file,omitempty"`
 88780  	// Layout of each virtual disk attached to the virtual machine.
 88781  	//
 88782  	// For a virtual machine with snaphots, this property gives only those disks
 88783  	// that are attached to it at the current point of running.
 88784  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 88785  	// Layout of each snapshot of the virtual machine.
 88786  	Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
 88787  	// Time when values in this structure were last updated.
 88788  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 88789  }
 88790  
 88791  func init() {
 88792  	t["VirtualMachineFileLayoutEx"] = reflect.TypeOf((*VirtualMachineFileLayoutEx)(nil)).Elem()
 88793  }
 88794  
 88795  // Layout of a virtual disk, including the base- and delta- disks.
 88796  //
 88797  // A virtual disk typically is made up of a chain of disk-units.
 88798  type VirtualMachineFileLayoutExDiskLayout struct {
 88799  	DynamicData
 88800  
 88801  	// Identifier for the virtual disk in `VirtualHardware.device`.
 88802  	Key int32 `xml:"key" json:"key"`
 88803  	// The disk-unit chain that makes up this virtual disk.
 88804  	Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty" json:"chain,omitempty"`
 88805  }
 88806  
 88807  func init() {
 88808  	t["VirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskLayout)(nil)).Elem()
 88809  }
 88810  
 88811  // Information about a single unit of a virtual disk, such as
 88812  // the base-disk or a delta-disk.
 88813  //
 88814  // A disk-unit consists of at least one descriptor
 88815  // file, and zero or more extent files.
 88816  //
 88817  // Sometimes, a disk-unit is also referred to as a _backing_.
 88818  type VirtualMachineFileLayoutExDiskUnit struct {
 88819  	DynamicData
 88820  
 88821  	// Array of keys of the files that make up the disk unit.
 88822  	//
 88823  	// Values here
 88824  	// correspond to property `VirtualMachineFileLayoutExFileInfo.key` in
 88825  	// `VirtualMachineFileLayoutEx.file`.
 88826  	//
 88827  	// At least one entry always exists in this array. Property
 88828  	// `VirtualMachineFileLayoutExFileInfo.type` of the referenced file
 88829  	// can be used to distinguish the disk descriptor (type `diskDescriptor`) from the extents.
 88830  	FileKey []int32 `xml:"fileKey" json:"fileKey"`
 88831  }
 88832  
 88833  func init() {
 88834  	t["VirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskUnit)(nil)).Elem()
 88835  }
 88836  
 88837  // Basic information about a file.
 88838  type VirtualMachineFileLayoutExFileInfo struct {
 88839  	DynamicData
 88840  
 88841  	// Key to reference this file.
 88842  	Key int32 `xml:"key" json:"key"`
 88843  	// Name of the file, including the complete datastore path.
 88844  	Name string `xml:"name" json:"name"`
 88845  	// Type of the file.
 88846  	//
 88847  	// `VirtualMachineFileLayoutExFileType_enum` lists
 88848  	// all valid values.
 88849  	Type string `xml:"type" json:"type"`
 88850  	// Size of the file in bytes.
 88851  	Size int64 `xml:"size" json:"size"`
 88852  	// Size of the file in bytes corresponding to the file blocks
 88853  	// that were allocated uniquely.
 88854  	//
 88855  	// In other words, if the underlying
 88856  	// storage supports sharing of file blocks across disk files, the
 88857  	// property corresponds to the size of the file blocks that were
 88858  	// allocated only in context of this file, i.e. it does not include
 88859  	// shared blocks that were allocated in other files.
 88860  	// This property will be unset if the underlying implementation
 88861  	// is unable to compute this information. One example of this
 88862  	// is when the file resides on a NAS datastore whose underlying
 88863  	// storage doesn't support this metric. In some cases the field
 88864  	// might be set but the value could be over-estimated due to
 88865  	// the inability of the NAS based storage to provide an
 88866  	// accurate value.
 88867  	UniqueSize int64 `xml:"uniqueSize,omitempty" json:"uniqueSize,omitempty"`
 88868  	// Backing object's durable and unmutable identifier.
 88869  	//
 88870  	// Each backing object has a unique identifier which is not settable.
 88871  	// This property is applied to the file backed by a storage object,
 88872  	// such as vvol.
 88873  	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
 88874  	// Flag which indicates the accessibility of the file
 88875  	// when the file info object was created.
 88876  	Accessible *bool `xml:"accessible" json:"accessible,omitempty"`
 88877  }
 88878  
 88879  func init() {
 88880  	t["VirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileInfo)(nil)).Elem()
 88881  }
 88882  
 88883  // Layout of a snapshot.
 88884  type VirtualMachineFileLayoutExSnapshotLayout struct {
 88885  	DynamicData
 88886  
 88887  	// Reference to the snapshot.
 88888  	//
 88889  	// Refers instance of `VirtualMachineSnapshot`.
 88890  	Key ManagedObjectReference `xml:"key" json:"key"`
 88891  	// Key to the snapshot data file in `VirtualMachineFileLayoutEx.file`.
 88892  	DataKey int32 `xml:"dataKey" json:"dataKey"`
 88893  	// Key to the snapshot memory file in `VirtualMachineFileLayoutEx.file`.
 88894  	//
 88895  	// Powered off snapshots do not have a memory component and in some cases
 88896  	// the memory component is combined with the data component. When a memory
 88897  	// component does not exist, the value is initialized to -1.
 88898  	MemoryKey int32 `xml:"memoryKey,omitempty" json:"memoryKey,omitempty"`
 88899  	// Layout of each virtual disk of the virtual machine when the
 88900  	// snapshot was taken.
 88901  	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
 88902  }
 88903  
 88904  func init() {
 88905  	t["VirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem()
 88906  }
 88907  
 88908  // Enumerates the set of files that make up a snapshot or redo-point
 88909  type VirtualMachineFileLayoutSnapshotLayout struct {
 88910  	DynamicData
 88911  
 88912  	// Identification of the snapshot
 88913  	//
 88914  	// Refers instance of `VirtualMachineSnapshot`.
 88915  	Key ManagedObjectReference `xml:"key" json:"key"`
 88916  	// A list of files that make up the snapshot state.
 88917  	//
 88918  	// These are relative
 88919  	// paths from the snapshotDirectory. A slash is always used as a
 88920  	// separator.
 88921  	SnapshotFile []string `xml:"snapshotFile" json:"snapshotFile"`
 88922  }
 88923  
 88924  func init() {
 88925  	t["VirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutSnapshotLayout)(nil)).Elem()
 88926  }
 88927  
 88928  // The FlagInfo data object type encapsulates the flag settings
 88929  // for a virtual machine.
 88930  //
 88931  // These properties are optional since the same structure
 88932  // is used to change the values during an edit or create operation.
 88933  type VirtualMachineFlagInfo struct {
 88934  	DynamicData
 88935  
 88936  	// Flag to turn off video acceleration for a virtual machine console window.
 88937  	DisableAcceleration *bool `xml:"disableAcceleration" json:"disableAcceleration,omitempty"`
 88938  	// Flag to enable logging for a virtual machine.
 88939  	EnableLogging *bool `xml:"enableLogging" json:"enableLogging,omitempty"`
 88940  	// Flag to specify whether or not to use TOE (TCP/IP Offloading).
 88941  	UseToe *bool `xml:"useToe" json:"useToe,omitempty"`
 88942  	// Deprecated as of VI API 2.5, use `VirtualMachineFlagInfo.monitorType`.
 88943  	//
 88944  	// Flag to specify whether or not to run in debug mode.
 88945  	RunWithDebugInfo *bool `xml:"runWithDebugInfo" json:"runWithDebugInfo,omitempty"`
 88946  	// vmx process type.
 88947  	//
 88948  	// See `VirtualMachineFlagInfoMonitorType_enum`
 88949  	// for possible values for this property.
 88950  	MonitorType string `xml:"monitorType,omitempty" json:"monitorType,omitempty"`
 88951  	// Deprecated as of vSphere API 6.7.
 88952  	//
 88953  	// Specifies how the VCPUs of a virtual machine are allowed to
 88954  	// share physical cores on a hyperthreaded system.
 88955  	//
 88956  	// Two VCPUs are
 88957  	// "sharing" a core if they are both running on logical CPUs of
 88958  	// the core at the same time.
 88959  	//
 88960  	// See also `VirtualMachineHtSharing_enum`.
 88961  	HtSharing string `xml:"htSharing,omitempty" json:"htSharing,omitempty"`
 88962  	// Deprecated as of vSphere API 4.0. The flag is ignored by the server.
 88963  	//
 88964  	// Flag to specify whether snapshots are disabled for this virtual
 88965  	// machine.
 88966  	SnapshotDisabled *bool `xml:"snapshotDisabled" json:"snapshotDisabled,omitempty"`
 88967  	// Flag to specify whether the snapshot tree is locked for this virtual machine.
 88968  	SnapshotLocked *bool `xml:"snapshotLocked" json:"snapshotLocked,omitempty"`
 88969  	// Indicates whether disk UUIDs are being used by this virtual machine.
 88970  	//
 88971  	// If this flag is set to false, disk UUIDs are not exposed to the guest.
 88972  	//
 88973  	// Since products before ESX 3.1 do not support disk UUIDs, moving virtual
 88974  	// machines from a platform that supports UUID to a platform that does
 88975  	// not support UUIDs could result in unspecified guest behavior. For
 88976  	// virtual machines where the ability to move to older platforms is
 88977  	// important, this flag should be set to false. If the value is unset,
 88978  	// the behavior 'false' will be used.
 88979  	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty"`
 88980  	// Indicates whether or not the system will try to use nested page
 88981  	// table hardware support, if available.
 88982  	//
 88983  	// By default, VMware software will determine whether or not
 88984  	// to use nested page table hardware support based on various factors such
 88985  	// as the guest operating system type and the physical hardware.
 88986  	// Certain workloads can benefit from explicitly turning
 88987  	// nested page table hardware support on or off; this can be set using
 88988  	// nptUsage flag.
 88989  	// If the value is unset, the value will default to automatic.
 88990  	//
 88991  	// `VirtualMachineFlagInfoVirtualMmuUsage_enum` represents the set of
 88992  	// possible values.
 88993  	VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty" json:"virtualMmuUsage,omitempty"`
 88994  	// Indicates whether or not the system will try to use Hardware
 88995  	// Virtualization (HV) support for instruction virtualization,
 88996  	// if available.
 88997  	//
 88998  	// By default, VMware software will determine whether or not
 88999  	// to use hardware virtualization support based on various factors such
 89000  	// as the guest operating system type and the physical hardware.
 89001  	// Certain workloads can benefit from explicitly turning
 89002  	// hardware virtualization support on or off.
 89003  	// If the value is unset, the value will default to hvAuto.
 89004  	//
 89005  	// `VirtualMachineFlagInfoVirtualExecUsage_enum` represents the set of
 89006  	// possible values.
 89007  	//
 89008  	// New processors can enable two hardware acceleration technologies
 89009  	// for virtualization, one for instruction virtualization and the
 89010  	// other for MMU virtualization. Intel names its hardware-assisted
 89011  	// instruction virtualization as VT, and its hardware-assisted
 89012  	// MMU virtualization as EPT. AMD calls them as AMD-V and RVI,
 89013  	// respectively. For details on these technologies, please refer
 89014  	// to documents from the processor vendors.
 89015  	//
 89016  	// `VirtualMachineFlagInfo.virtualExecUsage` controls instruction
 89017  	// virtualization; while `VirtualMachineFlagInfo.virtualMmuUsage`
 89018  	// controls MMU virtualization. "On" allows hardware acceleration,
 89019  	// while "off" only allows software solution.
 89020  	//
 89021  	// There are four meaningful combinations.
 89022  	//
 89023  	// (hvAuto, automatic) - The host chooses which feature to use.
 89024  	// (hvOn, on) - Use both VT/AMD-V and EPT/RVI.
 89025  	// (hvOn, off) - Use VT/AMD-V but do not use EPT/RVI.
 89026  	// (hvOff, off) - Do not use any of these hardware acceleration technologies.
 89027  	VirtualExecUsage string `xml:"virtualExecUsage,omitempty" json:"virtualExecUsage,omitempty"`
 89028  	// Specifies the power-off behavior for a virtual machine that has
 89029  	// a snapshot.
 89030  	//
 89031  	// If the value is unset, the behavior 'powerOff' will
 89032  	// be used.
 89033  	//
 89034  	// See also `VirtualMachinePowerOffBehavior_enum`.
 89035  	SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty" json:"snapshotPowerOffBehavior,omitempty"`
 89036  	// Deprecated as of vSphere API 6.0.
 89037  	//
 89038  	// Flag to specify whether record and replay operations are
 89039  	// allowed for this virtual machine.
 89040  	//
 89041  	// If this flag is set to 'true', instruction virtualization
 89042  	// will use hardware virtualization (HV) support. I.e.,
 89043  	// virtualExecUsage will be set to 'hvOn'.
 89044  	// If this flag is set to 'false' for a virtual machine that
 89045  	// already has a recording, replay will be disallowed, though
 89046  	// the recording will be preserved.
 89047  	// If the value is unset, the behavior 'false' will be used.
 89048  	RecordReplayEnabled *bool `xml:"recordReplayEnabled" json:"recordReplayEnabled,omitempty"`
 89049  	// Indicates the type of fault tolerance type the virtual machine is
 89050  	// configured to use.
 89051  	//
 89052  	// `VirtualMachineFaultToleranceType_enum` represents the set of
 89053  	// possible values.
 89054  	FaultToleranceType string `xml:"faultToleranceType,omitempty" json:"faultToleranceType,omitempty"`
 89055  	// Flag to specify whether common CBRC digest cache is enabled for this
 89056  	// virtual machine.
 89057  	//
 89058  	// The common CBRC cache is shared between the hot added disks in the VM.
 89059  	// If this flag is set to 'true' the VM will allocate a commont digest
 89060  	// cache on power on.
 89061  	CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled" json:"cbrcCacheEnabled,omitempty"`
 89062  	// Flag to specify if Intel Virtualization Technology for Directed I/O
 89063  	// is enabled for this virtual machine.
 89064  	//
 89065  	// When creating a new VM:
 89066  	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
 89067  	// and this flag is set to <code>false</code> error is returned.
 89068  	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
 89069  	// <code>true</code>, the value of this flag is set to <code>true</code>.
 89070  	VvtdEnabled *bool `xml:"vvtdEnabled" json:"vvtdEnabled,omitempty"`
 89071  	// Flag to specify if Virtualization-based security
 89072  	// is enabled for this virtual machine.
 89073  	//
 89074  	// If set to <code>true</code> when creating a new VM, the following VM
 89075  	// properties might be modified automatically:
 89076  	// \- If vim.vm.FlagInfo.vvtdEnabled is not set to <code>false</code>,
 89077  	// it is set to <code>true</code>. Else error is returned.
 89078  	// \- If vim.vm.ConfigSpec.nestedHVEnabled is not set to <code>false</code>,
 89079  	// it is set to <code>true</code>. Else error is returned.
 89080  	// \- If vim.vm.BootOptions.efiSecureBootEnabled is not set to
 89081  	// <code>false</code>, it is set to <code>true</code>. Else error is
 89082  	// returned.
 89083  	// \- If vim.vm.firmware is not set to <code>bios</code>, it is set
 89084  	// to <code>efi</code>. Else error is returned.
 89085  	VbsEnabled *bool `xml:"vbsEnabled" json:"vbsEnabled,omitempty"`
 89086  }
 89087  
 89088  func init() {
 89089  	t["VirtualMachineFlagInfo"] = reflect.TypeOf((*VirtualMachineFlagInfo)(nil)).Elem()
 89090  }
 89091  
 89092  // FloppyInfo class contains information about a physical floppy
 89093  // drive on the host.
 89094  type VirtualMachineFloppyInfo struct {
 89095  	VirtualMachineTargetInfo
 89096  }
 89097  
 89098  func init() {
 89099  	t["VirtualMachineFloppyInfo"] = reflect.TypeOf((*VirtualMachineFloppyInfo)(nil)).Elem()
 89100  }
 89101  
 89102  // This data object describes the fork configuration of this
 89103  // virtual machine.
 89104  type VirtualMachineForkConfigInfo struct {
 89105  	DynamicData
 89106  
 89107  	// Flag to indicate whether this virtual machine is a parent enabled
 89108  	// virtual machine.
 89109  	//
 89110  	// If this vm is not a parent enabled vm this
 89111  	// property will be unset.
 89112  	// When set into the vim.vm.ConfigSpec this flag will be ignored.
 89113  	ParentEnabled *bool `xml:"parentEnabled" json:"parentEnabled,omitempty"`
 89114  	// The fork group ID identifies the parent group of which this child
 89115  	// VirtualMachine is a child.
 89116  	//
 89117  	// Applicable for child VirtualMachines only.
 89118  	ChildForkGroupId string `xml:"childForkGroupId,omitempty" json:"childForkGroupId,omitempty"`
 89119  	// The fork group ID identifies the parent group which this VirtualMachine
 89120  	// belongs to.
 89121  	//
 89122  	// Applicable for parent VirtualMachines only.
 89123  	ParentForkGroupId string `xml:"parentForkGroupId,omitempty" json:"parentForkGroupId,omitempty"`
 89124  	// The flag to indicate the fork child type.
 89125  	//
 89126  	// For a persistent child
 89127  	// virtual machine, once it is powered on, it will become a linked
 89128  	// clone of its parent and this flag will be set to 'none'.
 89129  	//
 89130  	// See also `VirtualMachineForkConfigInfoChildType_enum`.
 89131  	ChildType string `xml:"childType,omitempty" json:"childType,omitempty"`
 89132  }
 89133  
 89134  func init() {
 89135  	t["VirtualMachineForkConfigInfo"] = reflect.TypeOf((*VirtualMachineForkConfigInfo)(nil)).Elem()
 89136  }
 89137  
 89138  // This data object describes the guest integrity platform configuration of
 89139  // this virtual machine.
 89140  type VirtualMachineGuestIntegrityInfo struct {
 89141  	DynamicData
 89142  
 89143  	// Flag to indicate whether guest integrity platform feature is enabled for
 89144  	// this virtual machine.
 89145  	//
 89146  	// Guest integrity adds capabilities in the virtual
 89147  	// platform to detect attacks on the guest OS kernel
 89148  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 89149  }
 89150  
 89151  func init() {
 89152  	t["VirtualMachineGuestIntegrityInfo"] = reflect.TypeOf((*VirtualMachineGuestIntegrityInfo)(nil)).Elem()
 89153  }
 89154  
 89155  // This data object describes the GMM (Guest Mode Monitoring) configuration
 89156  // of this virtual machine.
 89157  type VirtualMachineGuestMonitoringModeInfo struct {
 89158  	DynamicData
 89159  
 89160  	GmmFile      string `xml:"gmmFile,omitempty" json:"gmmFile,omitempty"`
 89161  	GmmAppliance string `xml:"gmmAppliance,omitempty" json:"gmmAppliance,omitempty"`
 89162  }
 89163  
 89164  func init() {
 89165  	t["VirtualMachineGuestMonitoringModeInfo"] = reflect.TypeOf((*VirtualMachineGuestMonitoringModeInfo)(nil)).Elem()
 89166  }
 89167  
 89168  // This data object type encapsulates configuration settings
 89169  // when creating a virtual machine quiesced snapshot.
 89170  type VirtualMachineGuestQuiesceSpec struct {
 89171  	DynamicData
 89172  
 89173  	// The property to indicate maximum time in minutes for snapshot operation
 89174  	// to be performed on the virtual machine.
 89175  	//
 89176  	// The timeout can not be less than 5 minutes or more than 240 minutes.
 89177  	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 89178  }
 89179  
 89180  func init() {
 89181  	t["VirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem()
 89182  }
 89183  
 89184  // A subset of virtual machine guest information.
 89185  type VirtualMachineGuestSummary struct {
 89186  	DynamicData
 89187  
 89188  	// Guest operating system identifier (short name), if known.
 89189  	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
 89190  	// Guest operating system name configured on the virtual machine.
 89191  	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
 89192  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2` and
 89193  	// `VirtualMachineGuestSummary.toolsRunningStatus`.
 89194  	//
 89195  	// Current status of VMware Tools in the guest operating system, if known.
 89196  	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
 89197  	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2`.
 89198  	//
 89199  	// Current version status of VMware Tools in the guest operating system,
 89200  	// if known.
 89201  	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty"`
 89202  	// Current version status of VMware Tools in the guest operating system,
 89203  	// if known.
 89204  	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty"`
 89205  	// Current running status of VMware Tools in the guest operating system,
 89206  	// if known.
 89207  	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty"`
 89208  	// Hostname of the guest operating system, if known.
 89209  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 89210  	// Primary IP address assigned to the guest operating system, if known.
 89211  	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
 89212  	// The hardware version string for this virtual machine.
 89213  	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty"`
 89214  }
 89215  
 89216  func init() {
 89217  	t["VirtualMachineGuestSummary"] = reflect.TypeOf((*VirtualMachineGuestSummary)(nil)).Elem()
 89218  }
 89219  
 89220  // The IdeDiskDeviceInfo class contains detailed information about a specific
 89221  // IDE disk hardware device.
 89222  //
 89223  // These devices are for the
 89224  // vim.vm.device.VirtualDisk.RawDiskVer2BackingInfo and
 89225  // vim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo backings.
 89226  type VirtualMachineIdeDiskDeviceInfo struct {
 89227  	VirtualMachineDiskDeviceInfo
 89228  
 89229  	PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty" json:"partitionTable,omitempty"`
 89230  }
 89231  
 89232  func init() {
 89233  	t["VirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDeviceInfo)(nil)).Elem()
 89234  }
 89235  
 89236  // Describes the partition sizes
 89237  type VirtualMachineIdeDiskDevicePartitionInfo struct {
 89238  	DynamicData
 89239  
 89240  	// Identification of the partition
 89241  	Id int32 `xml:"id" json:"id"`
 89242  	// Size of partition
 89243  	Capacity int32 `xml:"capacity" json:"capacity"`
 89244  }
 89245  
 89246  func init() {
 89247  	t["VirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem()
 89248  }
 89249  
 89250  // A VmImportSpec is used by `ResourcePool.importVApp` when importing entities.
 89251  //
 89252  // It provides all information needed to import a `VirtualMachine`. So far,
 89253  // this coincides with `VirtualMachineConfigSpec`.
 89254  //
 89255  // A VmImportSpec can be contained in a `VirtualAppImportSpec` as part of
 89256  // the ImportSpec for an entity.
 89257  //
 89258  // See also `ImportSpec`.
 89259  type VirtualMachineImportSpec struct {
 89260  	ImportSpec
 89261  
 89262  	// Configuration for the virtual machine.
 89263  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 89264  	// Deprecated as of vSphere API 5.1.
 89265  	//
 89266  	// If specified, this resource pool will be used as the parent resource pool and the
 89267  	// virtual machine will be made a linked child to the parent vApp.
 89268  	//
 89269  	// This field is ignored
 89270  	// for the root node in an ImportSpec tree.
 89271  	//
 89272  	// Refers instance of `ResourcePool`.
 89273  	ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty" json:"resPoolEntity,omitempty"`
 89274  }
 89275  
 89276  func init() {
 89277  	t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(nil)).Elem()
 89278  }
 89279  
 89280  // The IndependentFilterSpec data object is used to specify the independent
 89281  // filters to be associated with virtual machine disks.
 89282  type VirtualMachineIndependentFilterSpec struct {
 89283  	VirtualMachineBaseIndependentFilterSpec
 89284  
 89285  	// Name/id of the IO filter.
 89286  	FilterName string `xml:"filterName" json:"filterName"`
 89287  	// IO filter class.
 89288  	FilterClass string `xml:"filterClass,omitempty" json:"filterClass,omitempty"`
 89289  	// Capabilities defined by the above filter.
 89290  	//
 89291  	// Basically this key value pair define the configurable properties
 89292  	// of the independent filters. Users can specify desired values.
 89293  	FilterCapabilities []KeyValue `xml:"filterCapabilities,omitempty" json:"filterCapabilities,omitempty"`
 89294  }
 89295  
 89296  func init() {
 89297  	t["VirtualMachineIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineIndependentFilterSpec)(nil)).Elem()
 89298  	minAPIVersionForType["VirtualMachineIndependentFilterSpec"] = "7.0.2.1"
 89299  }
 89300  
 89301  // Specification for creating an Instant Clone of a powered-on virtual machine.
 89302  type VirtualMachineInstantCloneSpec struct {
 89303  	DynamicData
 89304  
 89305  	// The name of the cloned virtual machine.
 89306  	Name string `xml:"name" json:"name"`
 89307  	// A type of `VirtualMachineRelocateSpec` that specifies the location of
 89308  	// resources the newly created virtual machine will use.
 89309  	//
 89310  	// The location might be empty or specify:
 89311  	//   - The folder where the virtual machine should be located. If not
 89312  	//     specified, the root VM folder of the source VM will be used.
 89313  	//   - A datastore where the InstantCloned virtual machine will be located
 89314  	//     on the physical storage.
 89315  	//   - A resource pool determines where compute resources will be
 89316  	//     available to the clone.
 89317  	//   - A device change specification. The only allowed device changes
 89318  	//     are edits of VirtualEthernetCard and filebacked Serial/Parallel
 89319  	//     ports.
 89320  	//
 89321  	// All other settings are NOT supported.
 89322  	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
 89323  	// A list of key value pairs that will be passed to the destination VM.
 89324  	//
 89325  	// These pairs should be used to provide user-defined customization to
 89326  	// differentiate the destination VM from the source VM. Values will be
 89327  	// queryable via destination VM's `VirtualMachineConfigInfo.extraConfig`.
 89328  	Config []BaseOptionValue `xml:"config,omitempty,typeattr" json:"config,omitempty"`
 89329  	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
 89330  	// in "12345678-abcd-1234-cdef-123456789abc" format.
 89331  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 89332  }
 89333  
 89334  func init() {
 89335  	t["VirtualMachineInstantCloneSpec"] = reflect.TypeOf((*VirtualMachineInstantCloneSpec)(nil)).Elem()
 89336  }
 89337  
 89338  // The LegacyNetworkSwitchInfo data object type contains information about
 89339  // the legacy network switches available on the host.
 89340  //   - VMware Server - Options available for the "custom" NetworkBackingType.
 89341  //   - ESX Server - The "esxnet" NetworkBackingType.
 89342  type VirtualMachineLegacyNetworkSwitchInfo struct {
 89343  	DynamicData
 89344  
 89345  	// The name of the network switch.
 89346  	Name string `xml:"name" json:"name"`
 89347  }
 89348  
 89349  func init() {
 89350  	t["VirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*VirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem()
 89351  }
 89352  
 89353  // The VirtualMachineReservationInfo data object type describes the
 89354  // amount of memory that is being reserved for virtual machines on
 89355  // the host, and how additional memory may be acquired.
 89356  type VirtualMachineMemoryReservationInfo struct {
 89357  	DynamicData
 89358  
 89359  	// The minimum amount of memory reserved for all running virtual machines,
 89360  	// in bytes.
 89361  	VirtualMachineMin int64 `xml:"virtualMachineMin" json:"virtualMachineMin"`
 89362  	// The maximum amount of memory reserved for all running virtual machines,
 89363  	// in bytes.
 89364  	VirtualMachineMax int64 `xml:"virtualMachineMax" json:"virtualMachineMax"`
 89365  	// The amount of memory reserved for all running virtual machines,
 89366  	// in bytes.
 89367  	VirtualMachineReserved int64 `xml:"virtualMachineReserved" json:"virtualMachineReserved"`
 89368  	// Policy for allocating additional memory for virtual machines.
 89369  	//
 89370  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 89371  	AllocationPolicy string `xml:"allocationPolicy" json:"allocationPolicy"`
 89372  }
 89373  
 89374  func init() {
 89375  	t["VirtualMachineMemoryReservationInfo"] = reflect.TypeOf((*VirtualMachineMemoryReservationInfo)(nil)).Elem()
 89376  }
 89377  
 89378  // The VirtualMachineReservationSpec data object specifies
 89379  // configurable parameters for virtual machine memory reservation.
 89380  type VirtualMachineMemoryReservationSpec struct {
 89381  	DynamicData
 89382  
 89383  	// The amount of memory reserved for all running virtual machines, in
 89384  	// bytes.
 89385  	VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty" json:"virtualMachineReserved,omitempty"`
 89386  	// Policy for allocating additional memory for virtual machines.
 89387  	//
 89388  	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
 89389  	AllocationPolicy string `xml:"allocationPolicy,omitempty" json:"allocationPolicy,omitempty"`
 89390  }
 89391  
 89392  func init() {
 89393  	t["VirtualMachineMemoryReservationSpec"] = reflect.TypeOf((*VirtualMachineMemoryReservationSpec)(nil)).Elem()
 89394  }
 89395  
 89396  // Message data which is intended to be displayed according
 89397  // to the locale of a client.
 89398  //
 89399  // A `VirtualMachineMessage` contains both a formatted, localized version of the
 89400  // text and the data needed to perform localization in conjunction
 89401  // with localization catalogs.
 89402  //
 89403  // Clients of the VIM API may use
 89404  // `SessionManager*.*SessionManager.SetLocale`
 89405  // to cause the server to emit localized `VirtualMachineMessage.text`, or may perform
 89406  // client-side localization based on message catalogs provided by the
 89407  // `LocalizationManager`.
 89408  //
 89409  // Message variables are always integers, e.g. {1} and {2}, which are
 89410  // 1-based indexes into `VirtualMachineMessage.argument`.
 89411  //   - The corresponding argument may be a recursive lookup:
 89412  //   - `VirtualMachineMessage.argument` = \["button.cancel", "msg.revert"\]
 89413  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "Select '{1}' to {2}"
 89414  //   - CATALOG(locmsg, button.cancel) = "Cancel"
 89415  //   - CATALOG(locmsg, msg.revert) = "revert"
 89416  //   - \==&gt; `VirtualMachineMessage.text` = "Select 'Cancel' to revert"
 89417  //   - If the recursive lookup fails, the argument is a plain string.
 89418  //   - `VirtualMachineMessage.argument` = \["127.0.0.1"\]
 89419  //   - CATALOG(locmsg, `VirtualMachineMessage.id`) = "IP address is {1}"
 89420  //   - \==&gt; `VirtualMachineMessage.text` "IP address is 127.0.0.1"
 89421  //
 89422  // See also `LocalizationManager`.
 89423  type VirtualMachineMessage struct {
 89424  	DynamicData
 89425  
 89426  	// A unique identifier for this particular message.
 89427  	//
 89428  	// This field is a key for looking up format strings in the locmsg
 89429  	// catalog.
 89430  	Id string `xml:"id" json:"id"`
 89431  	// Substitution arguments for variables in the localized message.
 89432  	//
 89433  	// Substitution variables in the format string identified by `VirtualMachineMessage.id`
 89434  	// are 1-based indexes into this array. Substitution variable {1}
 89435  	// corresponds to argument\[0\], etc.
 89436  	Argument []AnyType `xml:"argument,omitempty,typeattr" json:"argument,omitempty"`
 89437  	// Text in session locale.
 89438  	//
 89439  	// Use `SessionManager*.*SessionManager.SetLocale` to
 89440  	// change the session locale.
 89441  	Text string `xml:"text,omitempty" json:"text,omitempty"`
 89442  }
 89443  
 89444  func init() {
 89445  	t["VirtualMachineMessage"] = reflect.TypeOf((*VirtualMachineMessage)(nil)).Elem()
 89446  }
 89447  
 89448  // VmMetadata is a pair of VM ID and opaque metadata.
 89449  type VirtualMachineMetadataManagerVmMetadata struct {
 89450  	DynamicData
 89451  
 89452  	// Datastore URL-based ID for VM, for example,
 89453  	// "\[datastore1\] SomeVM/SomeVM.vmx".
 89454  	VmId string `xml:"vmId" json:"vmId"`
 89455  	// Opaque metadata for the VM identified by vmId.
 89456  	//
 89457  	// If no
 89458  	// value is supplied, the entry for this VM is removed.
 89459  	Metadata string `xml:"metadata,omitempty" json:"metadata,omitempty"`
 89460  }
 89461  
 89462  func init() {
 89463  	t["VirtualMachineMetadataManagerVmMetadata"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadata)(nil)).Elem()
 89464  }
 89465  
 89466  // VmMetadataInput specifies the operation and metadata for a
 89467  // specific VM.
 89468  type VirtualMachineMetadataManagerVmMetadataInput struct {
 89469  	DynamicData
 89470  
 89471  	// The input operation type.
 89472  	//
 89473  	// The values come from `VirtualMachineMetadataManagerVmMetadataOp_enum`
 89474  	Operation string `xml:"operation" json:"operation"`
 89475  	// the VM and optional metadata
 89476  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 89477  }
 89478  
 89479  func init() {
 89480  	t["VirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem()
 89481  }
 89482  
 89483  // VmMetadataOwner defines the namespace for an owner
 89484  type VirtualMachineMetadataManagerVmMetadataOwner struct {
 89485  	DynamicData
 89486  
 89487  	// A string representing the owner.
 89488  	//
 89489  	// Valid values come
 89490  	// from `VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum` for vSAN datastores. Otherwise, the
 89491  	// owner field is interpreted by the implementation based on
 89492  	// the datastore type.
 89493  	Name string `xml:"name" json:"name"`
 89494  }
 89495  
 89496  func init() {
 89497  	t["VirtualMachineMetadataManagerVmMetadataOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwner)(nil)).Elem()
 89498  }
 89499  
 89500  // A list of VmMetadataResults are returned for successful and
 89501  // non-successful results of an update or retrieve operation.
 89502  //
 89503  // See also `VirtualMachineMetadataManager.UpdateMetadata`, `VirtualMachineMetadataManager.RetrieveMetadata`, `VirtualMachineMetadataManager.RetrieveAllMetadata`, `VirtualMachineMetadataManager.ClearMetadata`.
 89504  type VirtualMachineMetadataManagerVmMetadataResult struct {
 89505  	DynamicData
 89506  
 89507  	// The VM-specific metadata
 89508  	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
 89509  	// MethodFault set for errors in getting or setting
 89510  	// the VmMetadata.
 89511  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 89512  }
 89513  
 89514  func init() {
 89515  	t["VirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem()
 89516  }
 89517  
 89518  // The `VirtualMachineMksConnection` object describes an MKS style connection
 89519  // to the virtual machine.
 89520  type VirtualMachineMksConnection struct {
 89521  	VirtualMachineConnection
 89522  }
 89523  
 89524  func init() {
 89525  	t["VirtualMachineMksConnection"] = reflect.TypeOf((*VirtualMachineMksConnection)(nil)).Elem()
 89526  	minAPIVersionForType["VirtualMachineMksConnection"] = "7.0.1.0"
 89527  }
 89528  
 89529  // Deprecated as of vSphere API 4.1, use `VirtualMachineTicket`
 89530  // instead.
 89531  //
 89532  // This data object contains the information needed to establish an MKS
 89533  // (mouse-keyboard-screen) connection to a running virtual machine.
 89534  type VirtualMachineMksTicket struct {
 89535  	DynamicData
 89536  
 89537  	// The ticket name.
 89538  	//
 89539  	// This is used as the username and password for the MKS
 89540  	// connection.
 89541  	Ticket string `xml:"ticket" json:"ticket"`
 89542  	// The name of the configuration file for the virtual machine.
 89543  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 89544  	// The host with which to establish a connection.
 89545  	//
 89546  	// If the host is not specified,
 89547  	// it is assumed that the requesting entity knows the appropriate host with which
 89548  	// to connect.
 89549  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 89550  	// The port number to use.
 89551  	//
 89552  	// If the port is not specified,
 89553  	// it is assumed that the requesting entity knows the appropriate port to
 89554  	// use when making a new connection.
 89555  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 89556  	// The expected thumbprint of the SSL cert of the host to which
 89557  	// we are connecting.
 89558  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 89559  }
 89560  
 89561  func init() {
 89562  	t["VirtualMachineMksTicket"] = reflect.TypeOf((*VirtualMachineMksTicket)(nil)).Elem()
 89563  }
 89564  
 89565  // NetworkInfo describes a network that a device backing
 89566  // can attached to.
 89567  type VirtualMachineNetworkInfo struct {
 89568  	VirtualMachineTargetInfo
 89569  
 89570  	// Information about the network
 89571  	Network BaseNetworkSummary `xml:"network,typeattr" json:"network"`
 89572  	// Key of parent vSwitch of the network
 89573  	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
 89574  }
 89575  
 89576  func init() {
 89577  	t["VirtualMachineNetworkInfo"] = reflect.TypeOf((*VirtualMachineNetworkInfo)(nil)).Elem()
 89578  }
 89579  
 89580  // Network traffic shaping specification.
 89581  //
 89582  // Traffic shaping is used to configure the network utilization
 89583  // characteristics of a virtual machine.
 89584  type VirtualMachineNetworkShaperInfo struct {
 89585  	DynamicData
 89586  
 89587  	// Is the shaper enabled?
 89588  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 89589  	// Peak bandwidth, in bits per second.
 89590  	PeakBps int64 `xml:"peakBps,omitempty" json:"peakBps,omitempty"`
 89591  	// Average bandwidth, in bits per second.
 89592  	AverageBps int64 `xml:"averageBps,omitempty" json:"averageBps,omitempty"`
 89593  	// Burst size, in bytes.
 89594  	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
 89595  }
 89596  
 89597  func init() {
 89598  	t["VirtualMachineNetworkShaperInfo"] = reflect.TypeOf((*VirtualMachineNetworkShaperInfo)(nil)).Elem()
 89599  }
 89600  
 89601  // ParallelInfo class contains information about a physical parallel
 89602  // drive on the host.
 89603  type VirtualMachineParallelInfo struct {
 89604  	VirtualMachineTargetInfo
 89605  }
 89606  
 89607  func init() {
 89608  	t["VirtualMachineParallelInfo"] = reflect.TypeOf((*VirtualMachineParallelInfo)(nil)).Elem()
 89609  }
 89610  
 89611  // Description of a generic PCI device that can be attached to a virtual machine.
 89612  type VirtualMachinePciPassthroughInfo struct {
 89613  	VirtualMachineTargetInfo
 89614  
 89615  	// Details of the PCI device, including vendor, class and
 89616  	// device identification information.
 89617  	PciDevice HostPciDevice `xml:"pciDevice" json:"pciDevice"`
 89618  	// The ID of the system the PCI device is attached to.
 89619  	SystemId string `xml:"systemId" json:"systemId"`
 89620  }
 89621  
 89622  func init() {
 89623  	t["VirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem()
 89624  }
 89625  
 89626  // Description of a gpu PCI device that can be shared with a virtual machine.
 89627  type VirtualMachinePciSharedGpuPassthroughInfo struct {
 89628  	VirtualMachineTargetInfo
 89629  
 89630  	// The VGPU corresponding to this GPU passthrough device.
 89631  	Vgpu string `xml:"vgpu" json:"vgpu"`
 89632  }
 89633  
 89634  func init() {
 89635  	t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem()
 89636  }
 89637  
 89638  // The PrecisionClockInfo data object type describes available host
 89639  // clock resources, which can be used as backing reference for
 89640  // virtual precision clock devices.
 89641  type VirtualMachinePrecisionClockInfo struct {
 89642  	VirtualMachineTargetInfo
 89643  
 89644  	// The currrent host system clock synchronization protocol.
 89645  	//
 89646  	// Used for specifying protocol in
 89647  	// `VirtualPrecisionClockSystemClockBackingInfo`.
 89648  	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
 89649  }
 89650  
 89651  func init() {
 89652  	t["VirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*VirtualMachinePrecisionClockInfo)(nil)).Elem()
 89653  }
 89654  
 89655  // The `VirtualMachineProfileDetails` data object type provides details of the policy
 89656  // associated with a virtual machine and it's virtual disks.
 89657  type VirtualMachineProfileDetails struct {
 89658  	DynamicData
 89659  
 89660  	// Storage profile associated with Virtual Machine's home directory.
 89661  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 89662  	// An optional list that allows specifying details of the policy associated
 89663  	// with virutual disks.
 89664  	DiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"diskProfileDetails,omitempty" json:"diskProfileDetails,omitempty"`
 89665  }
 89666  
 89667  func init() {
 89668  	t["VirtualMachineProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetails)(nil)).Elem()
 89669  }
 89670  
 89671  // Details of the policies associated with Virtual Disks.
 89672  type VirtualMachineProfileDetailsDiskProfileDetails struct {
 89673  	DynamicData
 89674  
 89675  	// Virtual disk ID.
 89676  	DiskId int32 `xml:"diskId" json:"diskId"`
 89677  	// Storage profile associated with the Virtual Disk.
 89678  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 89679  }
 89680  
 89681  func init() {
 89682  	t["VirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem()
 89683  }
 89684  
 89685  // The extensible data object type encapsulates additional data specific
 89686  // to Virtual Machine and its devices.
 89687  //
 89688  // This data is provided by vSphere Extensions which are integral part
 89689  // of vSphere.
 89690  //
 89691  // The data is not persisted in Virtual Machine configuration file but is
 89692  // stored and managed by extensions.
 89693  //
 89694  // Storage Profile Based Management (SPBM) will be one of the consumers of
 89695  // this data structure. SPBM will provide detailed information about
 89696  // Virtual Machine storage requirements.
 89697  type VirtualMachineProfileRawData struct {
 89698  	DynamicData
 89699  
 89700  	// vSphere Extension Identifier
 89701  	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
 89702  	// Extension-specific additional data to be associated
 89703  	// with Virtual machine and its devices.
 89704  	ObjectData string `xml:"objectData,omitempty" json:"objectData,omitempty"`
 89705  }
 89706  
 89707  func init() {
 89708  	t["VirtualMachineProfileRawData"] = reflect.TypeOf((*VirtualMachineProfileRawData)(nil)).Elem()
 89709  }
 89710  
 89711  // The ProfileSpec data object is used to specify the Storage Policy to be
 89712  // associated with a Virtual Machine Home or a Virtual Disk.
 89713  type VirtualMachineProfileSpec struct {
 89714  	DynamicData
 89715  }
 89716  
 89717  func init() {
 89718  	t["VirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem()
 89719  }
 89720  
 89721  // Data object which represents relations between a
 89722  // property and its target value and the required values
 89723  // of any other properties in the vm configuration so
 89724  // that the target value can be set.
 89725  type VirtualMachinePropertyRelation struct {
 89726  	DynamicData
 89727  
 89728  	// The target property and its value
 89729  	Key DynamicProperty `xml:"key" json:"key"`
 89730  	// The related properties and their values
 89731  	Relations []DynamicProperty `xml:"relations,omitempty" json:"relations,omitempty"`
 89732  }
 89733  
 89734  func init() {
 89735  	t["VirtualMachinePropertyRelation"] = reflect.TypeOf((*VirtualMachinePropertyRelation)(nil)).Elem()
 89736  }
 89737  
 89738  // This data object type describes the question that is currently
 89739  // blocking a virtual machine.
 89740  type VirtualMachineQuestionInfo struct {
 89741  	DynamicData
 89742  
 89743  	// Identifier with an opaque value that specifies the pending question.
 89744  	Id string `xml:"id" json:"id"`
 89745  	// Text that describes the pending question.
 89746  	Text string `xml:"text" json:"text"`
 89747  	// List of key-value pairs that specify possible answers.
 89748  	Choice ChoiceOption `xml:"choice" json:"choice"`
 89749  	// The message data for the individual messages that comprise the question.
 89750  	//
 89751  	// Only available on servers that support localization.
 89752  	Message []VirtualMachineMessage `xml:"message,omitempty" json:"message,omitempty"`
 89753  }
 89754  
 89755  func init() {
 89756  	t["VirtualMachineQuestionInfo"] = reflect.TypeOf((*VirtualMachineQuestionInfo)(nil)).Elem()
 89757  }
 89758  
 89759  // A set of statistics that are typically updated with near real-time regularity.
 89760  //
 89761  // This data object type does not support notification, for scalability reasons.
 89762  // Therefore, changes in QuickStats do not generate property collector updates. To
 89763  // monitor statistics values, use the statistics and alarms modules instead.
 89764  type VirtualMachineQuickStats struct {
 89765  	DynamicData
 89766  
 89767  	// Basic CPU performance statistics, in MHz.
 89768  	//
 89769  	// Valid while the virtual machine is running.
 89770  	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
 89771  	// Basic CPU performance statistics, in MHz.
 89772  	//
 89773  	// Valid while the virtual machine is running.
 89774  	OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
 89775  	// Percentage of time that the virtual machine was ready, but could not
 89776  	// get scheduled to run on the physical CPU.
 89777  	//
 89778  	// Valid while the virtual machine is running.
 89779  	OverallCpuReadiness int32 `xml:"overallCpuReadiness,omitempty" json:"overallCpuReadiness,omitempty"`
 89780  	// Guest memory utilization statistics, in MB.
 89781  	//
 89782  	// This
 89783  	// is also known as active guest memory. The number
 89784  	// can be between 0 and the configured memory size of
 89785  	// the virtual machine. Valid while the virtual machine is
 89786  	// running.
 89787  	GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
 89788  	// Host memory utilization statistics, in MB.
 89789  	//
 89790  	// This
 89791  	// is also known as consumed host memory. This is between 0 and
 89792  	// the configured resource limit. Valid while the virtual machine is
 89793  	// running. This includes the overhead memory of the VM.
 89794  	HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
 89795  	// Guest operating system heartbeat metric.
 89796  	//
 89797  	// See `VirtualMachine.guestHeartbeatStatus` for a description.
 89798  	GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus" json:"guestHeartbeatStatus"`
 89799  	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
 89800  	// calculated by DRS.
 89801  	//
 89802  	// Valid only for a VM managed by DRS.
 89803  	DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
 89804  	// This is the amount of memory, in MB, that this VM is entitled to, as
 89805  	// calculated by DRS.
 89806  	//
 89807  	// Valid only for a VM managed by DRS.
 89808  	DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
 89809  	// The static CPU resource entitlement for a virtual machine.
 89810  	//
 89811  	// This value is
 89812  	// calculated based on this virtual machine's resource reservations, shares
 89813  	// and limit, and doesn't take into account current usage. This is the worst
 89814  	// case CPU allocation for this virtual machine, that is, the amount of CPU
 89815  	// resource this virtual machine would receive if all virtual machines running
 89816  	// in the cluster went to maximum consumption. Units are MHz.
 89817  	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
 89818  	// The static memory resource entitlement for a virtual machine.
 89819  	//
 89820  	// This value is
 89821  	// calculated based on this virtual machine's resource reservations, shares
 89822  	// and limit, and doesn't take into account current usage. This is the worst
 89823  	// case memory allocation for this virtual machine, that is, the amount of
 89824  	// memory this virtual machine would receive if all virtual machines running
 89825  	// in the cluster went to maximum consumption. Units are MB.
 89826  	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
 89827  	// Amount of host physical memory that is mapped for a virtual machine,
 89828  	// in MB.
 89829  	//
 89830  	// The number can be between 0 and the configured memory size of
 89831  	// the virtual machine. Valid while the virtual machine is running.
 89832  	GrantedMemory int32 `xml:"grantedMemory,omitempty" json:"grantedMemory,omitempty"`
 89833  	// The portion of memory, in MB, that is granted to this VM from non-shared
 89834  	// host memory.
 89835  	PrivateMemory int32 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
 89836  	// The portion of memory, in MB, that is granted to this VM from host memory
 89837  	// that is shared between VMs.
 89838  	SharedMemory int32 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
 89839  	// The portion of memory, in MB, that is granted to this VM from the host's swap
 89840  	// space.
 89841  	//
 89842  	// This is a sign that there is memory pressure on the host.
 89843  	SwappedMemory int32 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
 89844  	// The size of the balloon driver in the VM, in MB.
 89845  	//
 89846  	// The host will inflate the
 89847  	// balloon driver to reclaim physical memory from the VM. This is a sign that
 89848  	// there is memory pressure on the host.
 89849  	BalloonedMemory int32 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
 89850  	// The amount of consumed overhead memory, in MB, for this VM.
 89851  	ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
 89852  	// The network bandwidth used for logging between the
 89853  	// primary and secondary fault tolerance VMs.
 89854  	//
 89855  	// The unit is kilobytes per second.
 89856  	FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty" json:"ftLogBandwidth,omitempty"`
 89857  	// The amount of time in wallclock that the VCPU of the secondary fault
 89858  	// tolerance VM is behind the VCPU of the primary VM.
 89859  	//
 89860  	// The unit is millisecond.
 89861  	FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty" json:"ftSecondaryLatency,omitempty"`
 89862  	// The latency status of the fault tolerance VM.
 89863  	//
 89864  	// ftLatencyStatus is determined by the value of ftSecondaryLatency.
 89865  	// ftLatencyStatus is:
 89866  	// green, if ftSecondaryLatency is less than or equal to 2 seconds;
 89867  	// yellow, if ftSecondaryLatency is greater than 2 seconds,
 89868  	// and less than or equal to 6 seconds;
 89869  	// red, if ftSecondaryLatency is greater than 6 seconds;
 89870  	// gray, if ftSecondaryLatency is unknown.
 89871  	FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty" json:"ftLatencyStatus,omitempty"`
 89872  	// The amount of compressed memory currently consumed by VM, in Kb.
 89873  	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty"`
 89874  	// The system uptime of the VM in seconds.
 89875  	UptimeSeconds int32 `xml:"uptimeSeconds,omitempty" json:"uptimeSeconds,omitempty"`
 89876  	// The amount of memory swapped to fast disk device such as
 89877  	// SSD, in KB.
 89878  	SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty" json:"ssdSwappedMemory,omitempty"`
 89879  	// The amount of memory that was recently touched by the VM, in MB.
 89880  	ActiveMemory int32 `xml:"activeMemory,omitempty" json:"activeMemory,omitempty" vim:"7.0.3.0"`
 89881  	// Stats for each physical memory tier.
 89882  	//
 89883  	// A physical memory tier consists of one or
 89884  	// more logical memory tiers of the same `HostMemoryTierType_enum`. For
 89885  	// example, the logical tiers can be tier0 (DRAM), tier1 (DRAM), and tier2 (PMEM),
 89886  	// while the physical tiers are just DRAM and PMEM.
 89887  	MemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"memoryTierStats,omitempty" json:"memoryTierStats,omitempty" vim:"7.0.3.0"`
 89888  }
 89889  
 89890  func init() {
 89891  	t["VirtualMachineQuickStats"] = reflect.TypeOf((*VirtualMachineQuickStats)(nil)).Elem()
 89892  }
 89893  
 89894  type VirtualMachineQuickStatsMemoryTierStats struct {
 89895  	DynamicData
 89896  
 89897  	// The memory tier type.
 89898  	//
 89899  	// See `HostMemoryTierType_enum` for supported
 89900  	// values.
 89901  	MemoryTierType string `xml:"memoryTierType" json:"memoryTierType"`
 89902  	// Memory access bandwidth usage for the reads of the VM on this tier in
 89903  	// MBps.
 89904  	ReadBandwidth int64 `xml:"readBandwidth" json:"readBandwidth"`
 89905  }
 89906  
 89907  func init() {
 89908  	t["VirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*VirtualMachineQuickStatsMemoryTierStats)(nil)).Elem()
 89909  	minAPIVersionForType["VirtualMachineQuickStatsMemoryTierStats"] = "7.0.3.0"
 89910  }
 89911  
 89912  // Specification for moving or copying a virtual machine to a different datastore
 89913  // or host.
 89914  type VirtualMachineRelocateSpec struct {
 89915  	DynamicData
 89916  
 89917  	// The service endpoint of vCenter where the virtual machine should be
 89918  	// located.
 89919  	//
 89920  	// If not specified, the current vCenter service is used. If the
 89921  	// virtual machine is relocated to a different vCenter service, the
 89922  	// destination host, pool, and datastore parameters have to be explicitly
 89923  	// specified by default when the task is submitted.
 89924  	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty"`
 89925  	// The folder where the virtual machine should be located.
 89926  	//
 89927  	// If not specified,
 89928  	// the root VM folder of the destination datacenter will be used.
 89929  	//
 89930  	// Refers instance of `Folder`.
 89931  	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
 89932  	// The datastore where the virtual machine should be located.
 89933  	//
 89934  	// If
 89935  	// not specified, the current datastore is used.
 89936  	//
 89937  	// Refers instance of `Datastore`.
 89938  	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
 89939  	// Manner in which to move the virtual disk to the *target datastore*.
 89940  	//
 89941  	// The set of possible values is described in
 89942  	// `VirtualMachineRelocateDiskMoveOptions_enum`.
 89943  	//
 89944  	// This property applies to all the disks which the virtual machine has,
 89945  	// but can be overridden on a per-disk basis using
 89946  	// `VirtualMachineRelocateSpecDiskLocator.diskMoveType` prior to vSphere
 89947  	// API 6.0 or using
 89948  	// `VirtualDiskConfigSpec.diskMoveType` in vSphere API
 89949  	// 6.0 and later.
 89950  	//
 89951  	// This property can only be set if
 89952  	// `HostCapability.deltaDiskBackingsSupported` is true.
 89953  	//
 89954  	// If left unset then
 89955  	// `moveAllDiskBackingsAndDisallowSharing`
 89956  	// is assumed.
 89957  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 89958  	// The resource pool to which this virtual machine should be attached.
 89959  	//   - For a relocate or clone operation to a virtual machine, if the
 89960  	//     argument is not supplied, the current resource pool of virtual
 89961  	//     machine is used.
 89962  	//   - For a clone operation from a template to a virtual machine,
 89963  	//     this argument is required.
 89964  	//   - If the virtual machine is relocated to a different vCenter service,
 89965  	//     and a resource pool is not specified, the destination host must be
 89966  	//     specified.
 89967  	//   - If a resource pool is specified, the virtual machine is powered
 89968  	//     on, and the target pool represents a cluster without DRS enabled,
 89969  	//     an InvalidArgument exception is thrown.
 89970  	//   - If the virtual machine is relocated to a different datacenter
 89971  	//     within the vCenter service, the resource pool has to be specified
 89972  	//     and cannot be unset.
 89973  	//
 89974  	// Refers instance of `ResourcePool`.
 89975  	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
 89976  	// The target host for the virtual machine.
 89977  	//
 89978  	// If not specified,
 89979  	//   - if resource pool is not specified, current host is used.
 89980  	//   - if resource pool is specified, and the target pool represents
 89981  	//     a stand-alone host, the host is used.
 89982  	//   - if resource pool is specified, the virtual machine is powered on,
 89983  	//     and the target pool represents a DRS-enabled cluster, a host
 89984  	//     selected by DRS is used.
 89985  	//   - if resource pool is specified, the virtual machine is powered on,
 89986  	//     and the target pool represents a cluster without DRS enabled,
 89987  	//     an InvalidArgument exception is thrown.
 89988  	//   - if a resource pool is specified, the target pool represents a
 89989  	//     cluster, and this is a clone or the virtual machine is powered
 89990  	//     off, a random compatible host is chosen.
 89991  	//   - A destination host must be specified if the virtual machine is
 89992  	//     relocated to a different vCenter service, and a resource pool is
 89993  	//     not specified.
 89994  	//
 89995  	// Refers instance of `HostSystem`.
 89996  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 89997  	// An optional list that allows specifying the datastore location
 89998  	// for each virtual disk.
 89999  	Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 90000  	// Deprecated as of vSphere API 5.0. Use
 90001  	// `VirtualMachineRelocateSpecDiskLocator.diskBackingInfo` instead for
 90002  	// disk format conversions. This setting will be ignored for
 90003  	// disks with the above property set.
 90004  	//
 90005  	// Transformation to perform on the disks.
 90006  	//
 90007  	// The backend is free to ignore
 90008  	// this hint if it is not valid for the current operation. This can be
 90009  	// used by clients, for example, to create sparse disks for templates.
 90010  	//
 90011  	// See also `VirtualMachineRelocateTransformation_enum`.
 90012  	Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty" json:"transform,omitempty"`
 90013  	// An optional list of virtual device specs that allow specifying the new
 90014  	// device locations for the relocate operation.
 90015  	//
 90016  	// The supported device changes are:
 90017  	//   - For `VirtualEthernetCard`, it has to be used
 90018  	//     in `VirtualDeviceConfigSpec.device` to specify the
 90019  	//     target network backing.
 90020  	//   - For `VirtualDisk`, it can be used to specify
 90021  	//     vFlash cache configuration, or the storage profile for destination
 90022  	//     disks. The storage profiles are used to either upgrade the virtual
 90023  	//     disk's storage to a persistent memory, or keep the virtual disk
 90024  	//     in persistent memory when moving the virtual machine's overall
 90025  	//     storage.
 90026  	//   - All other specification are ignored.
 90027  	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
 90028  	// Storage profile requirement for Virtual Machine's home directory.
 90029  	//
 90030  	// Profiles are solution specific.
 90031  	// Storage Profile Based Management(SPBM) is a vSphere server extension.
 90032  	// The API users who want to provision VMs using Storage Profiles, need to
 90033  	// interact with SPBM.
 90034  	// This is an optional parameter and if user doesn't specify profile,
 90035  	// the default behavior will apply.
 90036  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 90037  	// Virtual Machine cryptographic options.
 90038  	//
 90039  	// Encryption requirement for the virtual machine's metadata
 90040  	// files (non-disk files).
 90041  	CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec,omitempty"`
 90042  }
 90043  
 90044  func init() {
 90045  	t["VirtualMachineRelocateSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpec)(nil)).Elem()
 90046  }
 90047  
 90048  // The DiskLocator data object type specifies a virtual disk device (by ID) and
 90049  // a datastore locator for the disk's storage.
 90050  type VirtualMachineRelocateSpecDiskLocator struct {
 90051  	DynamicData
 90052  
 90053  	// Device ID of the virtual disk.
 90054  	DiskId int32 `xml:"diskId" json:"diskId"`
 90055  	// Target datastore.
 90056  	//
 90057  	// Refers instance of `Datastore`.
 90058  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 90059  	// Manner in which to move the virtual disk to the *target datastore*.
 90060  	//
 90061  	// The set of possible values is described
 90062  	// in `VirtualMachineRelocateDiskMoveOptions_enum`.
 90063  	//
 90064  	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
 90065  	//
 90066  	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
 90067  	// is assumed.
 90068  	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
 90069  	// Backing information for the virtual disk at the destination.
 90070  	//
 90071  	// This can be used, for instance, to change the format of the
 90072  	// virtual disk. If the specified backing is invalid or not
 90073  	// supported at the destination, `InvalidDeviceBacking` is thrown. Specific property
 90074  	// changes may be ignored if they are not supported.
 90075  	//
 90076  	// Supported BackingInfo types and properties:
 90077  	//   - `VirtualDiskFlatVer2BackingInfo`
 90078  	//   - thinProvisioned
 90079  	//   - eagerlyScrub
 90080  	//   - `VirtualDiskSeSparseBackingInfo`
 90081  	//     (ESX 5.1 or later)
 90082  	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
 90083  	// Virtual Disk Profile requirement.
 90084  	//
 90085  	// Profiles are solution specific.
 90086  	// Profile Based Storage Management is a vSphere server extension.
 90087  	// The API users who want to provision VMs using Storage Profiles, need to
 90088  	// interact with it.
 90089  	// This is an optional parameter and if user doesn't specify profile,
 90090  	// the default behavior will apply.
 90091  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 90092  	// Cryptographic option of the current disk.
 90093  	Backing *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"backing,omitempty" json:"backing,omitempty"`
 90094  	// List of independent filters `VirtualMachineIndependentFilterSpec`
 90095  	// to be configured on the virtual disk after the relocate.
 90096  	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
 90097  }
 90098  
 90099  func init() {
 90100  	t["VirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocator)(nil)).Elem()
 90101  }
 90102  
 90103  // <code>`VirtualMachineRelocateSpecDiskLocatorBackingSpec`</code> is a data
 90104  // object type for crytographic information about the backing of a
 90105  // device.
 90106  //
 90107  // The member `VirtualMachineRelocateSpecDiskLocatorBackingSpec.parent` refers the parent in the chain of
 90108  // `VirtualDeviceBackingInfo` objects.
 90109  type VirtualMachineRelocateSpecDiskLocatorBackingSpec struct {
 90110  	DynamicData
 90111  
 90112  	Parent *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
 90113  	Crypto BaseCryptoSpec                                    `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 90114  }
 90115  
 90116  func init() {
 90117  	t["VirtualMachineRelocateSpecDiskLocatorBackingSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocatorBackingSpec)(nil)).Elem()
 90118  }
 90119  
 90120  // The RuntimeInfo data object type provides information about
 90121  // the execution state and history of a virtual machine.
 90122  type VirtualMachineRuntimeInfo struct {
 90123  	DynamicData
 90124  
 90125  	// Per-device runtime info.
 90126  	//
 90127  	// This array will be empty if the host
 90128  	// software does not provide runtime info for any of the device
 90129  	// types currently in use by the virtual machine.
 90130  	// In releases after vSphere API 5.0, vSphere Servers might not
 90131  	// generate property collector update notifications for this property.
 90132  	// To obtain the latest value of the property, you can use
 90133  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90134  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90135  	// an empty string for the version parameter.
 90136  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90137  	// contain values for this property when some other property on the DataObject changes.
 90138  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90139  	// version parameter, the value for this property may not be current.
 90140  	Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty" json:"device,omitempty"`
 90141  	// The host that is responsible for running a virtual machine.
 90142  	//
 90143  	// This property is null if the virtual machine is not running and is
 90144  	// not assigned to run on a particular host.
 90145  	//
 90146  	// Refers instance of `HostSystem`.
 90147  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 90148  	// Indicates whether or not the virtual machine is available for management.
 90149  	ConnectionState VirtualMachineConnectionState `xml:"connectionState" json:"connectionState"`
 90150  	// The current power state of the virtual machine.
 90151  	PowerState VirtualMachinePowerState `xml:"powerState" json:"powerState"`
 90152  	// Represents if the vm is currently being failed over by FDM
 90153  	VmFailoverInProgress *bool `xml:"vmFailoverInProgress" json:"vmFailoverInProgress,omitempty" vim:"7.0.2.0"`
 90154  	// The fault tolerance state of the virtual machine.
 90155  	FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty" json:"faultToleranceState,omitempty"`
 90156  	// The vSphere HA protection state for a virtual machine.
 90157  	//
 90158  	// Property
 90159  	// is unset if vSphere HA is not enabled.
 90160  	DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty" json:"dasVmProtection,omitempty"`
 90161  	// Flag to indicate whether or not the VMware Tools installer
 90162  	// is mounted as a CD-ROM.
 90163  	ToolsInstallerMounted bool `xml:"toolsInstallerMounted" json:"toolsInstallerMounted"`
 90164  	// The timestamp when the virtual machine was most recently suspended.
 90165  	//
 90166  	// This property is updated every time the virtual machine is suspended.
 90167  	SuspendTime *time.Time `xml:"suspendTime" json:"suspendTime,omitempty"`
 90168  	// The timestamp when the virtual machine was most recently powered on.
 90169  	//
 90170  	// This property is updated when the virtual machine is powered on
 90171  	// from the poweredOff state, and is cleared when the virtual machine is
 90172  	// powered off. This property is not updated when a virtual machine is resumed
 90173  	// from a suspended state.
 90174  	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
 90175  	// The total time the virtual machine has been suspended
 90176  	// since it was initially powered on.
 90177  	//
 90178  	// This time excludes the current period,
 90179  	// if the virtual machine is currently suspended. This property is updated
 90180  	// when the virtual machine resumes, and is reset to zero when the virtual machine
 90181  	// is powered off.
 90182  	SuspendInterval int64 `xml:"suspendInterval,omitempty" json:"suspendInterval,omitempty"`
 90183  	// The current question, if any, that is blocking the virtual machine's execution.
 90184  	Question *VirtualMachineQuestionInfo `xml:"question,omitempty" json:"question,omitempty"`
 90185  	// Deprecated as of vSphere API 4.1, use the `PerformanceManager`
 90186  	// memory overhead counter to get this value.
 90187  	//
 90188  	// The amount of memory resource (in bytes) that will be used by
 90189  	// the virtual machine above its guest memory requirements.
 90190  	//
 90191  	// This value is set if and only if the virtual machine is registered
 90192  	// on a host that supports memory resource allocation features.
 90193  	//
 90194  	// For powered off VMs, this is the minimum overhead required to
 90195  	// power on the VM on the registered host.
 90196  	//
 90197  	// For powered on VMs, this is the current overhead reservation, a
 90198  	// value which is almost always larger than the minimum overhead, and
 90199  	// which grows with time.
 90200  	//
 90201  	// See also `HostSystem.QueryMemoryOverheadEx`.
 90202  	MemoryOverhead int64 `xml:"memoryOverhead,omitempty" json:"memoryOverhead,omitempty"`
 90203  	// Current upper-bound on CPU usage.
 90204  	//
 90205  	// The upper-bound is based on the host
 90206  	// the virtual machine is current running on, as well as limits configured
 90207  	// on the virtual machine itself or any parent resource pool.
 90208  	// Valid while the virtual machine is running.
 90209  	// In releases after vSphere API 5.0, vSphere Servers might not
 90210  	// generate property collector update notifications for this property.
 90211  	// To obtain the latest value of the property, you can use
 90212  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90213  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90214  	// an empty string for the version parameter.
 90215  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90216  	// contain values for this property when some other property on the DataObject changes.
 90217  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90218  	// version parameter, the value for this property may not be current.
 90219  	MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty" json:"maxCpuUsage,omitempty"`
 90220  	// Current upper-bound on memory usage.
 90221  	//
 90222  	// The upper-bound is based on memory
 90223  	// configuration of the virtual machine, as well as limits configured
 90224  	// on the virtual machine itself or any parent resource pool.
 90225  	// Valid while the virtual machine is running.
 90226  	// In releases after vSphere API 5.0, vSphere Servers might not
 90227  	// generate property collector update notifications for this property.
 90228  	// To obtain the latest value of the property, you can use
 90229  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90230  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90231  	// an empty string for the version parameter.
 90232  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90233  	// contain values for this property when some other property on the DataObject changes.
 90234  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90235  	// version parameter, the value for this property may not be current.
 90236  	MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty" json:"maxMemoryUsage,omitempty"`
 90237  	// Number of active MKS connections to this virtual machine.
 90238  	NumMksConnections int32 `xml:"numMksConnections" json:"numMksConnections"`
 90239  	// Deprecated as of vSphere API 6.0.
 90240  	//
 90241  	// Record / replay state of this virtual machine.
 90242  	RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty" json:"recordReplayState,omitempty"`
 90243  	// For a powered off virtual machine, indicates whether the virtual
 90244  	// machine's last shutdown was an orderly power off or not.
 90245  	//
 90246  	// Unset if
 90247  	// the virtual machine is running or suspended.
 90248  	CleanPowerOff *bool `xml:"cleanPowerOff" json:"cleanPowerOff,omitempty"`
 90249  	// If set, indicates the reason the virtual machine needs a secondary.
 90250  	NeedSecondaryReason string `xml:"needSecondaryReason,omitempty" json:"needSecondaryReason,omitempty"`
 90251  	// This property indicates whether the guest has gone into one of the
 90252  	// s1, s2 or s3 standby modes, false indicates the guest is awake.
 90253  	OnlineStandby *bool `xml:"onlineStandby" json:"onlineStandby,omitempty"`
 90254  	// For a powered-on or suspended virtual machine in a cluster with Enhanced
 90255  	// VMotion Compatibility (EVC) enabled, this identifies the least-featured
 90256  	// EVC mode (among those for the appropriate CPU vendor) that could admit
 90257  	// the virtual machine.
 90258  	//
 90259  	// See `EVCMode`. Until vSphere 6.5, this
 90260  	// property will be unset if the virtual machine is powered off or is not in
 90261  	// an EVC cluster.
 90262  	//
 90263  	// This property may be used as a general indicator of the CPU feature
 90264  	// baseline currently in use by the virtual machine. However, the virtual
 90265  	// machine may be suppressing some of the features present in the CPU
 90266  	// feature baseline of the indicated mode, either explicitly (in the
 90267  	// virtual machine's configured
 90268  	// `cpuFeatureMask`) or implicitly
 90269  	// (in the default masks for the
 90270  	// `GuestOsDescriptor` appropriate for the
 90271  	// virtual machine's configured guest OS).
 90272  	MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty" json:"minRequiredEVCModeKey,omitempty"`
 90273  	// Whether any disk of the virtual machine requires consolidation.
 90274  	//
 90275  	// This can happen for example when a snapshot is deleted but its
 90276  	// associated disk is not committed back to the base disk.
 90277  	// Use `VirtualMachine.ConsolidateVMDisks_Task` to consolidate if
 90278  	// needed.
 90279  	ConsolidationNeeded *bool `xml:"consolidationNeeded" json:"consolidationNeeded,omitempty"`
 90280  	// These requirements must have equivalent host capabilities
 90281  	// `HostConfigInfo.featureCapability` in order to power on.
 90282  	OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty" json:"offlineFeatureRequirement,omitempty"`
 90283  	// These requirements must have equivalent host capabilities
 90284  	// `HostConfigInfo.featureCapability` in order to power on,
 90285  	// resume, or migrate to the host.
 90286  	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
 90287  	// The masks applied to an individual virtual machine as a result of its
 90288  	// configuration.
 90289  	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
 90290  	// Deprecated since vSphere 7.0 because vFlash Read Cache
 90291  	// end of availability.
 90292  	//
 90293  	// Specifies the total allocated vFlash resource for the vFlash caches associated with VM's
 90294  	// VMDKs when VM is powered on, in bytes.
 90295  	VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty" json:"vFlashCacheAllocation,omitempty"`
 90296  	// Whether the virtual machine is paused, or not.
 90297  	Paused *bool `xml:"paused" json:"paused,omitempty"`
 90298  	// Whether a snapshot operation is in progress in the background, or not.
 90299  	SnapshotInBackground *bool `xml:"snapshotInBackground" json:"snapshotInBackground,omitempty"`
 90300  	// This flag indicates whether a parent virtual machine is in a fork ready
 90301  	// state.
 90302  	//
 90303  	// A persistent instant clone child can be created only when this flag
 90304  	// is true. While a non-persistent instant clone child can be created
 90305  	// independent of this flag, it can only be powered on if this flag is true.
 90306  	QuiescedForkParent *bool `xml:"quiescedForkParent" json:"quiescedForkParent,omitempty"`
 90307  	// Whether the virtual machine is frozen for instant clone, or not.
 90308  	InstantCloneFrozen *bool `xml:"instantCloneFrozen" json:"instantCloneFrozen,omitempty"`
 90309  	// Encryption state of the virtual machine.
 90310  	//
 90311  	// Valid values are enumerated by the
 90312  	// `CryptoState` type.
 90313  	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty"`
 90314  	// Whether the virtual machine is suspended to memory, or not.
 90315  	SuspendedToMemory *bool `xml:"suspendedToMemory" json:"suspendedToMemory,omitempty" vim:"7.0.2.0"`
 90316  	// Operation notification timeout in seconds.
 90317  	//
 90318  	// Specifies the maximum time duration the application may take to
 90319  	// prepare for the operation after it has been notified.
 90320  	// This property is set only for powered on VMs.
 90321  	OpNotificationTimeout int64 `xml:"opNotificationTimeout,omitempty" json:"opNotificationTimeout,omitempty" vim:"8.0.0.1"`
 90322  	// Indicates whether there is active IOMMU domain in the current VM.
 90323  	IommuActive *bool `xml:"iommuActive" json:"iommuActive,omitempty" vim:"8.0.1.0"`
 90324  }
 90325  
 90326  func init() {
 90327  	t["VirtualMachineRuntimeInfo"] = reflect.TypeOf((*VirtualMachineRuntimeInfo)(nil)).Elem()
 90328  }
 90329  
 90330  // The `VirtualMachineRuntimeInfoDasProtectionState` object describes the
 90331  // vSphere HA protection state of a virtual machine (VM).
 90332  type VirtualMachineRuntimeInfoDasProtectionState struct {
 90333  	DynamicData
 90334  
 90335  	// Whether vSphere HA is protecting a virtual machine (VM).
 90336  	//
 90337  	// If a
 90338  	// VM is protected, vSphere HA will enforce any availability
 90339  	// features that have been enabled for this VM. For
 90340  	// example, if the VM is running on a host
 90341  	// that fails and the VM is configured to be restarted on a failure,
 90342  	// then vSphere HA will attempt to restart the VM on another host.
 90343  	// Similarly, if you enable VM/Application Health Monitoring
 90344  	// for this VM, vSphere HA will monitor the heartbeats of the
 90345  	// VM and reset the VM when needed, as dictated by the configured
 90346  	// policy settings.
 90347  	DasProtected bool `xml:"dasProtected" json:"dasProtected"`
 90348  }
 90349  
 90350  func init() {
 90351  	t["VirtualMachineRuntimeInfoDasProtectionState"] = reflect.TypeOf((*VirtualMachineRuntimeInfoDasProtectionState)(nil)).Elem()
 90352  }
 90353  
 90354  // The ScsiDiskDeviceInfo class contains detailed information about a specific
 90355  // scsi disk hardware device.
 90356  //
 90357  // These devices are for the
 90358  // vim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo.
 90359  type VirtualMachineScsiDiskDeviceInfo struct {
 90360  	VirtualMachineDiskDeviceInfo
 90361  
 90362  	// Detailed information about the disk.
 90363  	Disk *HostScsiDisk `xml:"disk,omitempty" json:"disk,omitempty"`
 90364  	// Transport identifier hint used to identify the device.
 90365  	//
 90366  	// To definitively
 90367  	// correlate this device with a host physical disk, use the disk property.
 90368  	// This identifier is intended as a hint to end users to identify the
 90369  	// disk device.
 90370  	TransportHint string `xml:"transportHint,omitempty" json:"transportHint,omitempty"`
 90371  	// LUN number hint used to identify the SCSI device.
 90372  	//
 90373  	// To definitively
 90374  	// correlate this device with a host physical disk, use the disk property.
 90375  	// This identifier is intended as a hint to end users to identify the
 90376  	// disk device.
 90377  	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
 90378  }
 90379  
 90380  func init() {
 90381  	t["VirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineScsiDiskDeviceInfo)(nil)).Elem()
 90382  }
 90383  
 90384  // Description of a generic SCSI device, including information about
 90385  // the device ID.
 90386  type VirtualMachineScsiPassthroughInfo struct {
 90387  	VirtualMachineTargetInfo
 90388  
 90389  	// The class of the generic SCSI device.
 90390  	ScsiClass string `xml:"scsiClass" json:"scsiClass"`
 90391  	// The vendor name.
 90392  	Vendor string `xml:"vendor" json:"vendor"`
 90393  	// Unit number of the generic device on the physical host.
 90394  	PhysicalUnitNumber int32 `xml:"physicalUnitNumber" json:"physicalUnitNumber"`
 90395  }
 90396  
 90397  func init() {
 90398  	t["VirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*VirtualMachineScsiPassthroughInfo)(nil)).Elem()
 90399  }
 90400  
 90401  // SerialInfo class contains information about a physical serial
 90402  // drive on the host.
 90403  type VirtualMachineSerialInfo struct {
 90404  	VirtualMachineTargetInfo
 90405  }
 90406  
 90407  func init() {
 90408  	t["VirtualMachineSerialInfo"] = reflect.TypeOf((*VirtualMachineSerialInfo)(nil)).Elem()
 90409  }
 90410  
 90411  // This data object describes the virtual software guard extension (vSGX)
 90412  // configuration of this virtual machine.
 90413  type VirtualMachineSgxInfo struct {
 90414  	DynamicData
 90415  
 90416  	// Size of vEPC, in megabytes.
 90417  	EpcSize int64 `xml:"epcSize" json:"epcSize"`
 90418  	// FLC mode for the virtual machine.
 90419  	//
 90420  	// The set of possible values are
 90421  	// described in `VirtualMachineSgxInfoFlcModes_enum`. If no value is specified,
 90422  	// then "unlocked" will be used.
 90423  	FlcMode string `xml:"flcMode,omitempty" json:"flcMode,omitempty"`
 90424  	// Public key hash of the provider launch enclave.
 90425  	//
 90426  	// This is the SHA256
 90427  	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
 90428  	// enclave. This hash must only be provided when the launch enclave mode is
 90429  	// "locked", for the other cases the hash is ignored.
 90430  	LePubKeyHash string `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
 90431  	// Indicates whether or not a virtual machine requires remote
 90432  	// attestation.
 90433  	RequireAttestation *bool `xml:"requireAttestation" json:"requireAttestation,omitempty" vim:"8.0.0.1"`
 90434  }
 90435  
 90436  func init() {
 90437  	t["VirtualMachineSgxInfo"] = reflect.TypeOf((*VirtualMachineSgxInfo)(nil)).Elem()
 90438  }
 90439  
 90440  // Description of Intel Software Guard Extensions information.
 90441  type VirtualMachineSgxTargetInfo struct {
 90442  	VirtualMachineTargetInfo
 90443  
 90444  	// Maximum size, in bytes, of EPC available on the compute resource.
 90445  	MaxEpcSize int64 `xml:"maxEpcSize" json:"maxEpcSize"`
 90446  	// FLC modes available in the compute resource.
 90447  	//
 90448  	// The set of possible values
 90449  	// are described in `VirtualMachineSgxInfoFlcModes_enum`.
 90450  	FlcModes []string `xml:"flcModes,omitempty" json:"flcModes,omitempty"`
 90451  	// Public key hashes of the provider launch enclaves available in the
 90452  	// compute resource.
 90453  	LePubKeyHashes []string `xml:"lePubKeyHashes,omitempty" json:"lePubKeyHashes,omitempty"`
 90454  	// Whether the host/cluster supports requiring SGX remote attestation.
 90455  	RequireAttestationSupported *bool `xml:"requireAttestationSupported" json:"requireAttestationSupported,omitempty" vim:"8.0.0.1"`
 90456  }
 90457  
 90458  func init() {
 90459  	t["VirtualMachineSgxTargetInfo"] = reflect.TypeOf((*VirtualMachineSgxTargetInfo)(nil)).Elem()
 90460  }
 90461  
 90462  // The SnapshotInfo data object type provides all the information about the
 90463  // hierarchy of snapshots in a virtual machine.
 90464  type VirtualMachineSnapshotInfo struct {
 90465  	DynamicData
 90466  
 90467  	// Current snapshot of the virtual machine
 90468  	//
 90469  	// This property is set by calling
 90470  	// `Snapshot.revert` or
 90471  	// `VirtualMachine.createSnapshot`.
 90472  	// This property will be empty when the working snapshot is at the root
 90473  	// of the snapshot tree.
 90474  	//
 90475  	// Refers instance of `VirtualMachineSnapshot`.
 90476  	CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty" json:"currentSnapshot,omitempty"`
 90477  	// Data for the entire set of snapshots for one virtual machine.
 90478  	RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList" json:"rootSnapshotList"`
 90479  }
 90480  
 90481  func init() {
 90482  	t["VirtualMachineSnapshotInfo"] = reflect.TypeOf((*VirtualMachineSnapshotInfo)(nil)).Elem()
 90483  }
 90484  
 90485  // SnapshotTree encapsulates all the read-only data produced by the snapshot.
 90486  type VirtualMachineSnapshotTree struct {
 90487  	DynamicData
 90488  
 90489  	// The managed object for this snapshot.
 90490  	//
 90491  	// Refers instance of `VirtualMachineSnapshot`.
 90492  	Snapshot ManagedObjectReference `xml:"snapshot" json:"snapshot"`
 90493  	// The virtual machine for which the snapshot was taken.
 90494  	//
 90495  	// Refers instance of `VirtualMachine`.
 90496  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 90497  	// Name of the snapshot.
 90498  	Name string `xml:"name" json:"name"`
 90499  	// Description of the snapshot.
 90500  	Description string `xml:"description" json:"description"`
 90501  	// The unique identifier that distinguishes this snapshot from
 90502  	// other snapshots of the virtual machine.
 90503  	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
 90504  	// The date and time the snapshot was taken.
 90505  	CreateTime time.Time `xml:"createTime" json:"createTime"`
 90506  	// The power state of the virtual machine when this snapshot was taken.
 90507  	State VirtualMachinePowerState `xml:"state" json:"state"`
 90508  	// Flag to indicate whether or not the snapshot was created with
 90509  	// the "quiesce" option, ensuring a consistent state of the file system.
 90510  	Quiesced bool `xml:"quiesced" json:"quiesced"`
 90511  	// The relative path from the snapshotDirectory pointing to the backup
 90512  	// manifest.
 90513  	//
 90514  	// Available for certain quiesced snapshots only.
 90515  	BackupManifest string `xml:"backupManifest,omitempty" json:"backupManifest,omitempty"`
 90516  	// The snapshot data for all snapshots for which this snapshot is the parent.
 90517  	ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty" json:"childSnapshotList,omitempty"`
 90518  	// Deprecated as of vSphere API 6.0.
 90519  	//
 90520  	// Flag to indicate whether this snapshot is associated with a recording
 90521  	// session on the virtual machine that can be replayed.
 90522  	ReplaySupported *bool `xml:"replaySupported" json:"replaySupported,omitempty"`
 90523  }
 90524  
 90525  func init() {
 90526  	t["VirtualMachineSnapshotTree"] = reflect.TypeOf((*VirtualMachineSnapshotTree)(nil)).Elem()
 90527  }
 90528  
 90529  // SoundInfo class contains information about a physical sound
 90530  // card on the host.
 90531  type VirtualMachineSoundInfo struct {
 90532  	VirtualMachineTargetInfo
 90533  }
 90534  
 90535  func init() {
 90536  	t["VirtualMachineSoundInfo"] = reflect.TypeOf((*VirtualMachineSoundInfo)(nil)).Elem()
 90537  }
 90538  
 90539  type VirtualMachineSriovDevicePoolInfo struct {
 90540  	DynamicData
 90541  
 90542  	// To be used for extending to other device types
 90543  	Key string `xml:"key" json:"key"`
 90544  }
 90545  
 90546  func init() {
 90547  	t["VirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem()
 90548  }
 90549  
 90550  // Description of a SRIOV device that can be attached to a virtual machine.
 90551  type VirtualMachineSriovInfo struct {
 90552  	VirtualMachinePciPassthroughInfo
 90553  
 90554  	// Indicates whether corresponding PCI device is a virtual function
 90555  	// instantiated by a SR-IOV capable device.
 90556  	VirtualFunction bool `xml:"virtualFunction" json:"virtualFunction"`
 90557  	// The name of the physical nic that is represented by a SR-IOV
 90558  	// capable physical function.
 90559  	Pnic string `xml:"pnic,omitempty" json:"pnic,omitempty"`
 90560  	// SRIOV DevicePool information
 90561  	DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr" json:"devicePool,omitempty"`
 90562  }
 90563  
 90564  func init() {
 90565  	t["VirtualMachineSriovInfo"] = reflect.TypeOf((*VirtualMachineSriovInfo)(nil)).Elem()
 90566  }
 90567  
 90568  // This class is networking specific SR-IOV device pool info
 90569  type VirtualMachineSriovNetworkDevicePoolInfo struct {
 90570  	VirtualMachineSriovDevicePoolInfo
 90571  
 90572  	// vSwitch key
 90573  	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
 90574  	// DVSwitch Uuid
 90575  	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
 90576  }
 90577  
 90578  func init() {
 90579  	t["VirtualMachineSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovNetworkDevicePoolInfo)(nil)).Elem()
 90580  }
 90581  
 90582  // Information about the amount of storage used by a virtual machine across
 90583  // datastores that it is located on.
 90584  type VirtualMachineStorageInfo struct {
 90585  	DynamicData
 90586  
 90587  	// Storage space used by this virtual machine on all datastores that it
 90588  	// is located on.
 90589  	//
 90590  	// Total storage space committed to this virtual machine across all datastores is
 90591  	// simply an aggregate of the property
 90592  	// `VirtualMachineUsageOnDatastore.committed`.
 90593  	//
 90594  	// See also `VirtualMachineStorageSummary.committed`.
 90595  	PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty" json:"perDatastoreUsage,omitempty"`
 90596  	// Time when values in this structure were last updated.
 90597  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 90598  }
 90599  
 90600  func init() {
 90601  	t["VirtualMachineStorageInfo"] = reflect.TypeOf((*VirtualMachineStorageInfo)(nil)).Elem()
 90602  }
 90603  
 90604  // A subset of the storage information of this virtual machine.
 90605  //
 90606  // See `VirtualMachineStorageInfo` for a detailed storage break-up.
 90607  type VirtualMachineStorageSummary struct {
 90608  	DynamicData
 90609  
 90610  	// Total storage space, in bytes, committed to this virtual machine across
 90611  	// all datastores.
 90612  	//
 90613  	// Essentially an aggregate of the property
 90614  	// `VirtualMachineUsageOnDatastore.committed` across all
 90615  	// datastores that this virtual machine is located on.
 90616  	Committed int64 `xml:"committed" json:"committed"`
 90617  	// Additional storage space, in bytes, potentially used by this virtual machine
 90618  	// on all datastores.
 90619  	//
 90620  	// Essentially an aggregate of the property
 90621  	// `VirtualMachineUsageOnDatastore.uncommitted` across all
 90622  	// datastores that this virtual machine is located on.
 90623  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 90624  	// Total storage space, in bytes, occupied by the virtual machine across
 90625  	// all datastores, that is not shared with any other virtual machine.
 90626  	Unshared int64 `xml:"unshared" json:"unshared"`
 90627  	// Time when values in this structure were last updated.
 90628  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 90629  }
 90630  
 90631  func init() {
 90632  	t["VirtualMachineStorageSummary"] = reflect.TypeOf((*VirtualMachineStorageSummary)(nil)).Elem()
 90633  }
 90634  
 90635  // The summary data object type encapsulates a typical set of virtual machine
 90636  // information that is useful for list views and summary pages.
 90637  //
 90638  // VirtualCenter can retrieve this information very efficiently,
 90639  // even for large sets of virtual machines.
 90640  type VirtualMachineSummary struct {
 90641  	DynamicData
 90642  
 90643  	// Reference to the virtual machine managed object.
 90644  	//
 90645  	// Refers instance of `VirtualMachine`.
 90646  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 90647  	// Runtime and state information of a running virtual machine.
 90648  	//
 90649  	// Most of this information is also available when a virtual machine is powered off.
 90650  	// In that case, it contains information from the last run, if available.
 90651  	Runtime VirtualMachineRuntimeInfo `xml:"runtime" json:"runtime"`
 90652  	// Guest operating system and VMware Tools information.
 90653  	//
 90654  	// See `VirtualMachine.guest` for more information.
 90655  	Guest *VirtualMachineGuestSummary `xml:"guest,omitempty" json:"guest,omitempty"`
 90656  	// Basic configuration information about the virtual machine.
 90657  	//
 90658  	// This information
 90659  	// is not available when the virtual machine is unavailable, for instance, when
 90660  	// it is being created or deleted.
 90661  	Config VirtualMachineConfigSummary `xml:"config" json:"config"`
 90662  	// Storage information of the virtual machine.
 90663  	//
 90664  	// It can be explicitly refreshed
 90665  	// with the `VirtualMachine.RefreshStorageInfo` operation.
 90666  	// In releases after vSphere API 5.0, vSphere Servers might not
 90667  	// generate property collector update notifications for this property.
 90668  	// To obtain the latest value of the property, you can use
 90669  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90670  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90671  	// an empty string for the version parameter.
 90672  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90673  	// contain values for this property when some other property on the DataObject changes.
 90674  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90675  	// version parameter, the value for this property may not be current.
 90676  	Storage *VirtualMachineStorageSummary `xml:"storage,omitempty" json:"storage,omitempty"`
 90677  	// A set of statistics that are typically updated with near real-time regularity.
 90678  	//
 90679  	// This data object type does not support notification, for scalability reasons.
 90680  	// Therefore, changes in QuickStats do not generate property collector updates. To
 90681  	// monitor statistics values, use the statistics and alarms modules instead.
 90682  	QuickStats VirtualMachineQuickStats `xml:"quickStats" json:"quickStats"`
 90683  	// Overall alarm status on this node.
 90684  	//
 90685  	// In releases after vSphere API 5.0, vSphere Servers might not
 90686  	// generate property collector update notifications for this property.
 90687  	// To obtain the latest value of the property, you can use
 90688  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 90689  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 90690  	// an empty string for the version parameter.
 90691  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 90692  	// contain values for this property when some other property on the DataObject changes.
 90693  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 90694  	// version parameter, the value for this property may not be current.
 90695  	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
 90696  	// Custom field values.
 90697  	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
 90698  }
 90699  
 90700  func init() {
 90701  	t["VirtualMachineSummary"] = reflect.TypeOf((*VirtualMachineSummary)(nil)).Elem()
 90702  }
 90703  
 90704  // The TargetInfo specified a value that can be used in the device backings to
 90705  // connect the virtual machine to a physical (or logical) host device.
 90706  type VirtualMachineTargetInfo struct {
 90707  	DynamicData
 90708  
 90709  	// The identification of the endpoint on the host.
 90710  	//
 90711  	// The format of this depends
 90712  	// on the kind of virtual device this endpoints is used for. For example,
 90713  	// for a VirtualEthernetCard this would be a networkname, and for a VirtualCDROM
 90714  	// it would be a device name.
 90715  	Name string `xml:"name" json:"name"`
 90716  	// List of configurations that this device is available for.
 90717  	//
 90718  	// This is only filled
 90719  	// out if more than one configuration is requested.
 90720  	ConfigurationTag []string `xml:"configurationTag,omitempty" json:"configurationTag,omitempty"`
 90721  }
 90722  
 90723  func init() {
 90724  	t["VirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem()
 90725  }
 90726  
 90727  // This data object contains the information needed to establish a
 90728  // connection to a running virtual machine.
 90729  type VirtualMachineTicket struct {
 90730  	DynamicData
 90731  
 90732  	// The ticket name.
 90733  	//
 90734  	// This is used as the username and password for the MKS
 90735  	// connection.
 90736  	Ticket string `xml:"ticket" json:"ticket"`
 90737  	// The name of the configuration file for the virtual machine.
 90738  	CfgFile string `xml:"cfgFile" json:"cfgFile"`
 90739  	// The host with which to establish a connection.
 90740  	//
 90741  	// If the host is not specified,
 90742  	// it is assumed that the requesting entity knows the appropriate host with which
 90743  	// to connect.
 90744  	Host string `xml:"host,omitempty" json:"host,omitempty"`
 90745  	// The port number to use.
 90746  	//
 90747  	// If the port is not specified,
 90748  	// it is assumed that the requesting entity knows the appropriate port to
 90749  	// use when making a new connection.
 90750  	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
 90751  	// The expected SHA1 thumbprint of the SSL cert of the host to which we
 90752  	// are connecting.
 90753  	//
 90754  	// This field can be enabled or disabled on the host.
 90755  	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
 90756  	// List of expected thumbprints of the certificate of the host to
 90757  	// which we are connecting.
 90758  	//
 90759  	// The list can be configured on the host
 90760  	// to include only certain hash types. The default configuration
 90761  	// includes all hash types that are considered secure. See vmware.com
 90762  	// for the current security standards.
 90763  	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
 90764  	// Websocket URL.
 90765  	//
 90766  	// Some tickets are "websocket" tickets and are best expressed
 90767  	// as a URL.
 90768  	Url string `xml:"url,omitempty" json:"url,omitempty"`
 90769  }
 90770  
 90771  func init() {
 90772  	t["VirtualMachineTicket"] = reflect.TypeOf((*VirtualMachineTicket)(nil)).Elem()
 90773  }
 90774  
 90775  // Storage space used by this virtual machine on a particular datastore.
 90776  type VirtualMachineUsageOnDatastore struct {
 90777  	DynamicData
 90778  
 90779  	// Reference to datastore for which information is being provided.
 90780  	//
 90781  	// Refers instance of `Datastore`.
 90782  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 90783  	// Storage space, in bytes, on this datastore that is actually being used by
 90784  	// the virtual machine.
 90785  	//
 90786  	// It includes space actually occupied by disks, logs, snapshots,
 90787  	// configuration files etc. Files of the virtual machine which are present
 90788  	// on a different datastore (e.g. a virtual disk on another datastore) are not
 90789  	// included here. `VirtualMachineFileLayoutEx` provides a detailed
 90790  	// break-up of the committed space.
 90791  	Committed int64 `xml:"committed" json:"committed"`
 90792  	// Additional storage space, in bytes, potentially used by the virtual machine
 90793  	// on this datastore.
 90794  	//
 90795  	// Additional space may be needed for example when lazily allocated disks grow,
 90796  	// or storage for swap is allocated when powering on the virtual machine.
 90797  	//
 90798  	// If the virtual machine is running off delta disks (for example because
 90799  	// a snapshot was taken), then only the potential growth of the currently
 90800  	// used delta-disks is considered.
 90801  	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
 90802  	// Storage space, in bytes, occupied by the virtual machine on this datastore
 90803  	// that is not shared with any other virtual machine.
 90804  	Unshared int64 `xml:"unshared" json:"unshared"`
 90805  }
 90806  
 90807  func init() {
 90808  	t["VirtualMachineUsageOnDatastore"] = reflect.TypeOf((*VirtualMachineUsageOnDatastore)(nil)).Elem()
 90809  }
 90810  
 90811  // This data object contains information about a physical USB device
 90812  // on the host.
 90813  type VirtualMachineUsbInfo struct {
 90814  	VirtualMachineTargetInfo
 90815  
 90816  	// A user visible name of the USB device.
 90817  	Description string `xml:"description" json:"description"`
 90818  	// The vendor ID of the USB device.
 90819  	Vendor int32 `xml:"vendor" json:"vendor"`
 90820  	// The product ID of the USB device.
 90821  	Product int32 `xml:"product" json:"product"`
 90822  	// An autoconnect pattern which describes the device's physical
 90823  	// path.
 90824  	//
 90825  	// This is the path to the specific port on the host where the
 90826  	// USB device is attached.
 90827  	PhysicalPath string `xml:"physicalPath" json:"physicalPath"`
 90828  	// The device class families.
 90829  	//
 90830  	// For possible values see
 90831  	// `VirtualMachineUsbInfoFamily_enum`
 90832  	Family []string `xml:"family,omitempty" json:"family,omitempty"`
 90833  	// The possible device speeds detected by server.
 90834  	//
 90835  	// For possible values see
 90836  	// `VirtualMachineUsbInfoSpeed_enum`
 90837  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
 90838  	// Summary information about the virtual machine that is currently
 90839  	// using this device, if any.
 90840  	Summary *VirtualMachineSummary `xml:"summary,omitempty" json:"summary,omitempty"`
 90841  }
 90842  
 90843  func init() {
 90844  	t["VirtualMachineUsbInfo"] = reflect.TypeOf((*VirtualMachineUsbInfo)(nil)).Elem()
 90845  }
 90846  
 90847  // VFlashModuleInfo class contains information about a vFlash module
 90848  // on the host.
 90849  type VirtualMachineVFlashModuleInfo struct {
 90850  	VirtualMachineTargetInfo
 90851  
 90852  	// Information about the vFlash module
 90853  	VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule" json:"vFlashModule"`
 90854  }
 90855  
 90856  func init() {
 90857  	t["VirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*VirtualMachineVFlashModuleInfo)(nil)).Elem()
 90858  }
 90859  
 90860  // The `VirtualMachineVMCIDevice` data object represents
 90861  // a virtual communication device that supports the VMCI
 90862  // (Virtual Machine Communication Interface).
 90863  //
 90864  // Each virtual machine has a VMCI device that handles
 90865  // interprocess socket-based communication.
 90866  // VMCI device information is available in the virtual machine
 90867  // hardware device list
 90868  // (`VirtualMachine*.*VirtualMachine.config*.*VirtualMachineConfigInfo.hardware*.*VirtualHardware.device`\[\]).
 90869  //
 90870  // An application running on a virtual machine uses the VMCI Sockets API
 90871  // for communication with other virtual machines on the same host
 90872  // (communication between virtual machines is not supported on vSphere
 90873  // 5.1 and later platforms as described for
 90874  // VirtualVMCIDevice.`VirtualMachineVMCIDevice.allowUnrestrictedCommunication`),
 90875  // or for communication with the host.
 90876  // For information about using the vSphere VMCI Sockets API,
 90877  // see the _VMCI Sockets Programming Guide_.
 90878  type VirtualMachineVMCIDevice struct {
 90879  	VirtualDevice
 90880  
 90881  	// Unique identifier for VMCI socket access to this virtual machine.
 90882  	//
 90883  	// Use this value to identify this virtual machine in calls to the
 90884  	// VMCI Sockets API. Applications running on other virtual machines on this
 90885  	// host will use this value to connect to this virtual machine.
 90886  	// You can cast this value to a 32-bit unsigned integer.
 90887  	//
 90888  	// The vSphere Server sets this value when a virtual machine
 90889  	// powers on. The Server may change this value after power
 90890  	// operations such as vMotion or restoring a virtual machine
 90891  	// from a snapshot. If you have saved a VMCI device identifier,
 90892  	// check to see if the value is still valid after power
 90893  	// operations.
 90894  	Id int64 `xml:"id,omitempty" json:"id,omitempty"`
 90895  	// Deprecated as of vSphere API 5.1. On vSphere 5.1 and later
 90896  	// platforms, the VMCI device does not support communication with
 90897  	// other virtual machines. Therefore, this property has no effect
 90898  	// on these platforms.
 90899  	//
 90900  	// Determines the extent of VMCI communication with this virtual
 90901  	// machine.
 90902  	//
 90903  	// Set this property to true to allow VMCI communication
 90904  	// with all virtual machines on the host and with trusted services.
 90905  	// Set this property to false to allow VMCI communication only
 90906  	// with trusted services such as the hypervisor on the host.
 90907  	//
 90908  	// If unset, communication is restricted to trusted services only.
 90909  	AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication,omitempty"`
 90910  	// Determines if filtering of VMCI communication is enabled for this virtual
 90911  	// machine.
 90912  	//
 90913  	// Set this property to enable or disable filter rules as specified
 90914  	// in `VirtualMachineVMCIDevice.filterInfo`.
 90915  	FilterEnable *bool `xml:"filterEnable" json:"filterEnable,omitempty"`
 90916  	// Specify a `VirtualMachineVMCIDeviceFilterInfo` data object that controls the extent of
 90917  	// VMCI communication with this virtual machine.
 90918  	FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty" json:"filterInfo,omitempty"`
 90919  }
 90920  
 90921  func init() {
 90922  	t["VirtualMachineVMCIDevice"] = reflect.TypeOf((*VirtualMachineVMCIDevice)(nil)).Elem()
 90923  }
 90924  
 90925  // The `VirtualMachineVMCIDeviceFilterInfo` data object contains an array of filters.
 90926  //
 90927  // To
 90928  // clear all existing filters, leave filters unset or specify an empty
 90929  // array.
 90930  type VirtualMachineVMCIDeviceFilterInfo struct {
 90931  	DynamicData
 90932  
 90933  	Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty" json:"filters,omitempty"`
 90934  }
 90935  
 90936  func init() {
 90937  	t["VirtualMachineVMCIDeviceFilterInfo"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterInfo)(nil)).Elem()
 90938  }
 90939  
 90940  // The `VirtualMachineVMCIDeviceFilterSpec` data object describes a filter based on protocol,
 90941  // direction and port or port-range.
 90942  type VirtualMachineVMCIDeviceFilterSpec struct {
 90943  	DynamicData
 90944  
 90945  	// Long value representing filter rank.
 90946  	//
 90947  	// This is the rank of this filter. Filters are guaranteed to be
 90948  	// processed in ascending rank order, that is, if rank1 &lt; rank2, then
 90949  	// rank1 is processed before rank2. The ranks within an array of
 90950  	// filters should be unique.
 90951  	Rank int64 `xml:"rank" json:"rank"`
 90952  	// String value from `VirtualMachineVMCIDeviceAction_enum` enum object.
 90953  	Action string `xml:"action" json:"action"`
 90954  	// String value from `VirtualMachineVMCIDeviceProtocol_enum` enum object
 90955  	Protocol string `xml:"protocol" json:"protocol"`
 90956  	// String value from `VirtualMachineVMCIDeviceDirection_enum` enum object.
 90957  	Direction string `xml:"direction" json:"direction"`
 90958  	// Long value representing the lower destination port boundary.
 90959  	//
 90960  	// If unset, the lower destination port boundary is default to the
 90961  	// lowest port number supported by the given protocol.
 90962  	//
 90963  	// To specify a single port, both lowerDstPortBoundary and
 90964  	// upperDstPortBoundary shall be set to the same value.
 90965  	LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty" json:"lowerDstPortBoundary,omitempty"`
 90966  	// Long value representing the upper destination port range.
 90967  	//
 90968  	// If unset, the upper destination port boundary is default to the
 90969  	// highest port number supported by the given protocol.
 90970  	//
 90971  	// To specify a single port, both lowerDstPortBoundary and
 90972  	// upperDstPortBoundary shall be set to the same value.
 90973  	UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty" json:"upperDstPortBoundary,omitempty"`
 90974  }
 90975  
 90976  func init() {
 90977  	t["VirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterSpec)(nil)).Elem()
 90978  }
 90979  
 90980  // The `VirtualMachineVMCIDeviceOption` data object contains the options
 90981  // for the virtual VMCI device (`VirtualMachineVMCIDevice`).
 90982  type VirtualMachineVMCIDeviceOption struct {
 90983  	VirtualDeviceOption
 90984  
 90985  	// Indicates support for VMCI communication and specifies the default
 90986  	// operation.
 90987  	//
 90988  	// If `BoolOption.defaultValue` is set to true,
 90989  	// the virtual machine can participate in VMCI communication with all other
 90990  	// virtual machines on the host. Otherwise, VMCI communication will be
 90991  	// restricted to trusted services such as the hypervisor on the host.
 90992  	// On vSphere 5.1 and later platforms, the VMCI device does not support
 90993  	// communication with other virtual machines. Therefore, this property has
 90994  	// no effect on these platforms.
 90995  	AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication"`
 90996  	// Filter specification options.
 90997  	FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty" json:"filterSpecOption,omitempty"`
 90998  	// Indicates support for VMCI firewall filters and specifies the default
 90999  	// operation.
 91000  	//
 91001  	// If `BoolOption.supported` is set to true,
 91002  	// then firewall filtering can be used for this virtual machine to allow
 91003  	// or deny traffic over VMCI.
 91004  	FilterSupported *BoolOption `xml:"filterSupported,omitempty" json:"filterSupported,omitempty"`
 91005  }
 91006  
 91007  func init() {
 91008  	t["VirtualMachineVMCIDeviceOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOption)(nil)).Elem()
 91009  }
 91010  
 91011  // Filter specification options.
 91012  //
 91013  // Indicates options for each filter
 91014  // specification, as defined by
 91015  // `VirtualMachineVMCIDeviceFilterSpec`.
 91016  type VirtualMachineVMCIDeviceOptionFilterSpecOption struct {
 91017  	DynamicData
 91018  
 91019  	// Available actions.
 91020  	Action ChoiceOption `xml:"action" json:"action"`
 91021  	// Available protocols.
 91022  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 91023  	// Available directions.
 91024  	Direction ChoiceOption `xml:"direction" json:"direction"`
 91025  	// Minimum, maximum and default values for lower destination port
 91026  	// boundary.
 91027  	LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary" json:"lowerDstPortBoundary"`
 91028  	// Minimum, maximum and default values for upper destination port
 91029  	// boundary.
 91030  	UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary" json:"upperDstPortBoundary"`
 91031  }
 91032  
 91033  func init() {
 91034  	t["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOptionFilterSpecOption)(nil)).Elem()
 91035  }
 91036  
 91037  // Deprecated as of vSphere API 6.0. On vSphere 6.0 and later
 91038  // platforms, the VMIROM device does not provide any functionality.
 91039  //
 91040  // The VirtualVMIROM data object type represents the ROM on the
 91041  // virtual machine's PCI bus that provides support for VMI.
 91042  type VirtualMachineVMIROM struct {
 91043  	VirtualDevice
 91044  }
 91045  
 91046  func init() {
 91047  	t["VirtualMachineVMIROM"] = reflect.TypeOf((*VirtualMachineVMIROM)(nil)).Elem()
 91048  }
 91049  
 91050  // Description of VMotion Stun Time.
 91051  type VirtualMachineVMotionStunTimeInfo struct {
 91052  	VirtualMachineTargetInfo
 91053  
 91054  	// Migration bandwidth in Mbps
 91055  	MigrationBW int64 `xml:"migrationBW" json:"migrationBW"`
 91056  	// Stun Time in seconds
 91057  	StunTime int64 `xml:"stunTime" json:"stunTime"`
 91058  }
 91059  
 91060  func init() {
 91061  	t["VirtualMachineVMotionStunTimeInfo"] = reflect.TypeOf((*VirtualMachineVMotionStunTimeInfo)(nil)).Elem()
 91062  	minAPIVersionForType["VirtualMachineVMotionStunTimeInfo"] = "8.0.2.0"
 91063  }
 91064  
 91065  // Vcpu configuration.
 91066  type VirtualMachineVcpuConfig struct {
 91067  	DynamicData
 91068  
 91069  	// Latency sensitivity specification for this vcpu.
 91070  	//
 91071  	// The latency sensitivity can be configured per-vcpu only when the VM
 91072  	// `latencySensitivity` is
 91073  	// configured to `high`
 91074  	// in the same ConfigSpec.
 91075  	// Setting `latencySensitivity`,
 91076  	// but not setting the vcpu's LatencySensitivity would apply the VM's
 91077  	// latency sensitivity level to all the vcpus of the VM.
 91078  	// The latency sensitivity of the vcpu should not exceed the
 91079  	// latency sensivity level of the VM.
 91080  	// The only allowed levels for vcpu Latency sensitivity
 91081  	// are `high` or
 91082  	// `normal`
 91083  	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
 91084  }
 91085  
 91086  func init() {
 91087  	t["VirtualMachineVcpuConfig"] = reflect.TypeOf((*VirtualMachineVcpuConfig)(nil)).Elem()
 91088  }
 91089  
 91090  // Description of a PCI vendor device group device.
 91091  type VirtualMachineVendorDeviceGroupInfo struct {
 91092  	VirtualMachineTargetInfo
 91093  
 91094  	// Name of Vendor Device Group.
 91095  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 91096  	// Description of Vendor Device Group.
 91097  	DeviceGroupDescription string `xml:"deviceGroupDescription,omitempty" json:"deviceGroupDescription,omitempty"`
 91098  	// Array describing component devices of this Vendor Device Group.
 91099  	//
 91100  	// There is one entry per componentDevice in the deviceGroupSpec.
 91101  	ComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"componentDeviceInfo,omitempty" json:"componentDeviceInfo,omitempty"`
 91102  }
 91103  
 91104  func init() {
 91105  	t["VirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfo)(nil)).Elem()
 91106  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfo"] = "8.0.0.1"
 91107  }
 91108  
 91109  // Class describing a component device within this vendor device group.
 91110  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
 91111  	DynamicData
 91112  
 91113  	// Type of this component.
 91114  	//
 91115  	// See `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum` for supported types.
 91116  	Type string `xml:"type" json:"type"`
 91117  	// Name of component device vendor.
 91118  	VendorName string `xml:"vendorName" json:"vendorName"`
 91119  	// Name of component device.
 91120  	DeviceName string `xml:"deviceName" json:"deviceName"`
 91121  	// True if this device may be configured by user or UI.
 91122  	IsConfigurable bool `xml:"isConfigurable" json:"isConfigurable"`
 91123  	// VirtualDevice template for this device.
 91124  	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
 91125  }
 91126  
 91127  func init() {
 91128  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem()
 91129  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = "8.0.0.1"
 91130  }
 91131  
 91132  // Description of PCI vGPU device and its capabilities.
 91133  type VirtualMachineVgpuDeviceInfo struct {
 91134  	VirtualMachineTargetInfo
 91135  
 91136  	// The vGPU device name.
 91137  	DeviceName string `xml:"deviceName" json:"deviceName"`
 91138  	// A well-known unique identifier for the device.
 91139  	//
 91140  	// It concatenates the
 91141  	// 16-bit PCI vendor id in lower bits followed by 16-bit PCI device id.
 91142  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 91143  	// The maximum framebuffer size in gibibytes.
 91144  	MaxFbSizeInGib int64 `xml:"maxFbSizeInGib" json:"maxFbSizeInGib"`
 91145  	// Indicate whether device is time-sliced capable.
 91146  	TimeSlicedCapable bool `xml:"timeSlicedCapable" json:"timeSlicedCapable"`
 91147  	// Indicate whether device is Multiple Instance GPU capable.
 91148  	MigCapable bool `xml:"migCapable" json:"migCapable"`
 91149  	// Indicate whether device is compute profile capable.
 91150  	ComputeProfileCapable bool `xml:"computeProfileCapable" json:"computeProfileCapable"`
 91151  	// Indicate whether device is quadro profile capable.
 91152  	QuadroProfileCapable bool `xml:"quadroProfileCapable" json:"quadroProfileCapable"`
 91153  }
 91154  
 91155  func init() {
 91156  	t["VirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*VirtualMachineVgpuDeviceInfo)(nil)).Elem()
 91157  	minAPIVersionForType["VirtualMachineVgpuDeviceInfo"] = "7.0.3.0"
 91158  }
 91159  
 91160  // Description of PCI vGPU profile and its attributes.
 91161  type VirtualMachineVgpuProfileInfo struct {
 91162  	VirtualMachineTargetInfo
 91163  
 91164  	// The vGPU profile name.
 91165  	ProfileName string `xml:"profileName" json:"profileName"`
 91166  	// A well-known unique identifier for the device that supports this
 91167  	// profile.
 91168  	//
 91169  	// It concatenates the 16-bit PCI vendor id in lower bits
 91170  	// followed by 16-bit PCI device id.
 91171  	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
 91172  	// The profile framebuffer size in gibibytes.
 91173  	FbSizeInGib int64 `xml:"fbSizeInGib" json:"fbSizeInGib"`
 91174  	// Indicate how this profile is shared within device.
 91175  	ProfileSharing string `xml:"profileSharing" json:"profileSharing"`
 91176  	// Indicate class for this profile.
 91177  	ProfileClass string `xml:"profileClass" json:"profileClass"`
 91178  	// VMotion stun time information for this profile.
 91179  	StunTimeEstimates []VirtualMachineVMotionStunTimeInfo `xml:"stunTimeEstimates,omitempty" json:"stunTimeEstimates,omitempty" vim:"8.0.2.0"`
 91180  }
 91181  
 91182  func init() {
 91183  	t["VirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfo)(nil)).Elem()
 91184  	minAPIVersionForType["VirtualMachineVgpuProfileInfo"] = "7.0.3.0"
 91185  }
 91186  
 91187  // The VirtualVideoCard data object type represents a video card in
 91188  // a virtual machine.
 91189  type VirtualMachineVideoCard struct {
 91190  	VirtualDevice
 91191  
 91192  	// The size of the framebuffer for a virtual machine.
 91193  	VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 91194  	// Indicates the number of supported monitors.
 91195  	//
 91196  	// The number of displays X the maximum resolution of each display is
 91197  	// bounded by the video RAM size of the virtual video card.
 91198  	// This property can only be updated when the virtual machine is
 91199  	// powered off.
 91200  	NumDisplays int32 `xml:"numDisplays,omitempty" json:"numDisplays,omitempty"`
 91201  	// Flag to indicate whether the display settings of the host on which the
 91202  	// virtual machine is running should be used to automatically determine
 91203  	// the display settings of the virtual machine's video card.
 91204  	//
 91205  	// This setting takes effect at virtual machine power-on time. If this
 91206  	// value is set to TRUE, numDisplays will be ignored.
 91207  	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty"`
 91208  	// Flag to indicate whether the virtual video card supports 3D functions.
 91209  	//
 91210  	// This property can only be updated when the virtual machine is powered
 91211  	// off.
 91212  	Enable3DSupport *bool `xml:"enable3DSupport" json:"enable3DSupport,omitempty"`
 91213  	// Indicate how the virtual video device renders 3D graphics.
 91214  	//
 91215  	// The virtual video device can use hardware acceleration and software
 91216  	// rendering. By default, VMware products determine whether or not to
 91217  	// use hardware acceleration based on the availability of physical graphics
 91218  	// devices. Certain workloads can benefit from explicitly specifying if
 91219  	// hardware acceleration is required. For example, 3D intensive workloads
 91220  	// may indicate to run on systems with graphics hardware.
 91221  	//
 91222  	// There are three settings.
 91223  	//
 91224  	// (automatic) - The virtual device chooses how to render 3D graphics (default).
 91225  	// (software) - The virtual device will use software rendering and
 91226  	// will not attempt to use hardware acceleration.
 91227  	// (hardware) - The virtual device will use hardware acceleration and
 91228  	// will not activate without it.
 91229  	Use3dRenderer string `xml:"use3dRenderer,omitempty" json:"use3dRenderer,omitempty"`
 91230  	// The size of graphics memory.
 91231  	//
 91232  	// If 3d support is enabled this setting gives the amount of guest memory
 91233  	// used for graphics resources.
 91234  	// This property can only be updated when the virtual machine is
 91235  	// powered off.
 91236  	GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty"`
 91237  }
 91238  
 91239  func init() {
 91240  	t["VirtualMachineVideoCard"] = reflect.TypeOf((*VirtualMachineVideoCard)(nil)).Elem()
 91241  }
 91242  
 91243  // The VirtualDeviceGroups data object
 91244  // type contains information about the backing that maps the
 91245  // virtual device onto a physical device for a Vendor Device Group device.
 91246  //
 91247  // Vendor Device Groups allow third-parties to define collections of
 91248  // devices that must be allocated to a virtual machine as a unit.
 91249  // Typically, this is because the set of devices are related in
 91250  // a some way, e.g. a physical link connects the devices.
 91251  type VirtualMachineVirtualDeviceGroups struct {
 91252  	DynamicData
 91253  
 91254  	// Information about device groups used by this VM.
 91255  	//
 91256  	// When adding a group, all devices that form the group
 91257  	// must be added in the same request.
 91258  	// When removing group, also all devices participating
 91259  	// in the group must be removed.
 91260  	// Modifying existing device group membership is not allowed.
 91261  	DeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"deviceGroup,omitempty,typeattr" json:"deviceGroup,omitempty"`
 91262  }
 91263  
 91264  func init() {
 91265  	t["VirtualMachineVirtualDeviceGroups"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroups)(nil)).Elem()
 91266  	minAPIVersionForType["VirtualMachineVirtualDeviceGroups"] = "8.0.0.1"
 91267  }
 91268  
 91269  // Base device group type.
 91270  type VirtualMachineVirtualDeviceGroupsDeviceGroup struct {
 91271  	DynamicData
 91272  
 91273  	// Group instance key.
 91274  	//
 91275  	// Unique integer referencing
 91276  	// device group. During group creation client should
 91277  	// use a temporary negative number. Once group is
 91278  	// added to the virtual machine, server generates non-negative
 91279  	// integer that stays constant during group lifetime.
 91280  	// See `VirtualDevice.key` for details.
 91281  	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
 91282  	// Provides a label and summary information for the device.
 91283  	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
 91284  }
 91285  
 91286  func init() {
 91287  	t["VirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem()
 91288  }
 91289  
 91290  // Vendor device group.
 91291  //
 91292  // These groups are defined in the
 91293  // <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 91294  // When this group is added, all devices that form the group
 91295  // must be added in the same request.
 91296  // Modification of membership in the group is not allowed,
 91297  // devices cannot be added or removed.
 91298  // When group is removed, all devices that form the group
 91299  // must be removed in the same request.
 91300  type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup struct {
 91301  	VirtualMachineVirtualDeviceGroupsDeviceGroup
 91302  
 91303  	// The name of the vendor device group from
 91304  	// <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
 91305  	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
 91306  }
 91307  
 91308  func init() {
 91309  	t["VirtualMachineVirtualDeviceGroupsVendorDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsVendorDeviceGroup)(nil)).Elem()
 91310  }
 91311  
 91312  // Device Swap: Report current status of device swap feature.
 91313  type VirtualMachineVirtualDeviceSwap struct {
 91314  	DynamicData
 91315  
 91316  	LsiToPvscsi *VirtualMachineVirtualDeviceSwapDeviceSwapInfo `xml:"lsiToPvscsi,omitempty" json:"lsiToPvscsi,omitempty"`
 91317  }
 91318  
 91319  func init() {
 91320  	t["VirtualMachineVirtualDeviceSwap"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwap)(nil)).Elem()
 91321  	minAPIVersionForType["VirtualMachineVirtualDeviceSwap"] = "8.0.0.1"
 91322  }
 91323  
 91324  // Information for the device swap operation.
 91325  type VirtualMachineVirtualDeviceSwapDeviceSwapInfo struct {
 91326  	DynamicData
 91327  
 91328  	// Is the swap operation enabled for this virtual machine.
 91329  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 91330  	// Is the swap operation applicable to this virtual machine?
 91331  	// Operation is applicable if it is enabled for the virtual
 91332  	// machine, for the host or cluster in which virtual machine
 91333  	// resides, operating system supports device swap, and
 91334  	// virtual machine has controllers that need to be replaced.
 91335  	//
 91336  	// This field is read-only and cannot be modified.
 91337  	Applicable *bool `xml:"applicable" json:"applicable,omitempty"`
 91338  	// Status of the operation.
 91339  	//
 91340  	// One of
 91341  	// `VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum`
 91342  	// This field is read-only and cannot be modified.
 91343  	Status string `xml:"status,omitempty" json:"status,omitempty"`
 91344  }
 91345  
 91346  func init() {
 91347  	t["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapInfo)(nil)).Elem()
 91348  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = "8.0.0.1"
 91349  }
 91350  
 91351  // This data object describes the virtual NUMA configuration for
 91352  // this virtual machine and configured through ConfigSpec.
 91353  type VirtualMachineVirtualNuma struct {
 91354  	DynamicData
 91355  
 91356  	// Cores per vNUMA node for this VM.
 91357  	//
 91358  	// The number of vNUMA nodes is
 91359  	// calculated by total number of cores divided by corePerNumaNode.
 91360  	// If set to be zero, it clears any manual override and autosize
 91361  	// vNUMA node.
 91362  	// If set to be non zero, VM uses the value as vNUMA node size.
 91363  	// If unset, the VM continue to follow the behavior in last poweron.
 91364  	CoresPerNumaNode *int32 `xml:"coresPerNumaNode" json:"coresPerNumaNode,omitempty"`
 91365  	// Capability to expose virtual NUMA when CPU hotadd is enabled.
 91366  	//
 91367  	// If set to true, ESXi will consider exposing virtual NUMA to
 91368  	// the VM when CPU hotadd is enabled.
 91369  	// If set to false, ESXi will enforce the VM to have single
 91370  	// virtual NUMA node when CPU hotadd is enabled.
 91371  	// If unset, the VM continue to follow the behavior in last poweron.
 91372  	ExposeVnumaOnCpuHotadd *bool `xml:"exposeVnumaOnCpuHotadd" json:"exposeVnumaOnCpuHotadd,omitempty"`
 91373  }
 91374  
 91375  func init() {
 91376  	t["VirtualMachineVirtualNuma"] = reflect.TypeOf((*VirtualMachineVirtualNuma)(nil)).Elem()
 91377  	minAPIVersionForType["VirtualMachineVirtualNuma"] = "8.0.0.1"
 91378  }
 91379  
 91380  // vNUMA: This is read-only data for ConfigInfo since this portion is
 91381  // not configurable.
 91382  type VirtualMachineVirtualNumaInfo struct {
 91383  	DynamicData
 91384  
 91385  	// Cores per NUMA node.
 91386  	//
 91387  	// When this virtual machine is powered off and "autoCoresPerNumaNode"
 91388  	// is True, coresPerNumaNode will be assigned during power-on and this
 91389  	// field should be ignored.
 91390  	// In other cases, this field represents the virtual NUMA node size
 91391  	// seen by the guest.
 91392  	CoresPerNumaNode *int32 `xml:"coresPerNumaNode" json:"coresPerNumaNode,omitempty"`
 91393  	// Whether coresPerNode is determined automatically.
 91394  	AutoCoresPerNumaNode *bool `xml:"autoCoresPerNumaNode" json:"autoCoresPerNumaNode,omitempty"`
 91395  	// Whether virtual NUMA topology is exposed when CPU hotadd is
 91396  	// enabled.
 91397  	VnumaOnCpuHotaddExposed *bool `xml:"vnumaOnCpuHotaddExposed" json:"vnumaOnCpuHotaddExposed,omitempty"`
 91398  }
 91399  
 91400  func init() {
 91401  	t["VirtualMachineVirtualNumaInfo"] = reflect.TypeOf((*VirtualMachineVirtualNumaInfo)(nil)).Elem()
 91402  	minAPIVersionForType["VirtualMachineVirtualNumaInfo"] = "8.0.0.1"
 91403  }
 91404  
 91405  // Virtual Persistent Memory configuration for the VM.
 91406  type VirtualMachineVirtualPMem struct {
 91407  	DynamicData
 91408  
 91409  	// An enum describing behavior of NVDIMM devices when a VM snapshot is taken
 91410  	// and restored.
 91411  	//
 91412  	// If unset, taking a VM snapshot will fail when the VM is
 91413  	// configured with NVDIMMs. See `VirtualMachineVirtualPMemSnapshotMode_enum` for supported values.
 91414  	// The snapshot mode applies to all NVDIMMs configured for the VM.
 91415  	// Property is currently only applicable to VMs with virtual NVDIMMs and not
 91416  	// applicable to vPMem disks.
 91417  	// Setting this property will fail if the VM has existing snapshots.
 91418  	SnapshotMode string `xml:"snapshotMode,omitempty" json:"snapshotMode,omitempty"`
 91419  }
 91420  
 91421  func init() {
 91422  	t["VirtualMachineVirtualPMem"] = reflect.TypeOf((*VirtualMachineVirtualPMem)(nil)).Elem()
 91423  	minAPIVersionForType["VirtualMachineVirtualPMem"] = "7.0.3.0"
 91424  }
 91425  
 91426  // This data object type encapsulates configuration settings
 91427  // when creating a virtual machine quiesced snapshot.
 91428  type VirtualMachineWindowsQuiesceSpec struct {
 91429  	VirtualMachineGuestQuiesceSpec
 91430  
 91431  	// The property to indicate what type of VSS backup operation is going
 91432  	// to be performed on the virtual machine.
 91433  	//
 91434  	// See VSS\_BACKUP\_TYPE on MSDN:
 91435  	// https://msdn.microsoft.com/en-us/library/aa384679(v=vs.85).aspx
 91436  	VssBackupType int32 `xml:"vssBackupType,omitempty" json:"vssBackupType,omitempty"`
 91437  	// The property to indicate if a bootable system state during VSS backup
 91438  	// to be performed on the virtual machine.
 91439  	VssBootableSystemState *bool `xml:"vssBootableSystemState" json:"vssBootableSystemState,omitempty"`
 91440  	// The property to indicate if partial file support is enabled during VSS
 91441  	// backup to be performed on the virtual machine.
 91442  	VssPartialFileSupport *bool `xml:"vssPartialFileSupport" json:"vssPartialFileSupport,omitempty"`
 91443  	// The property to indicate what context of VSS backup operation to be
 91444  	// performed on the virtual machine.
 91445  	//
 91446  	// For the list of supported values,
 91447  	// see `VirtualMachineWindowsQuiesceSpecVssBackupContext_enum`
 91448  	VssBackupContext string `xml:"vssBackupContext,omitempty" json:"vssBackupContext,omitempty"`
 91449  }
 91450  
 91451  func init() {
 91452  	t["VirtualMachineWindowsQuiesceSpec"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpec)(nil)).Elem()
 91453  }
 91454  
 91455  // Data structure used by wipeDisk to return the amount of disk space that
 91456  // can be saved on an Flex-SE disk if a subsequent shrinkDisk API is invoked
 91457  // on that disk.
 91458  type VirtualMachineWipeResult struct {
 91459  	DynamicData
 91460  
 91461  	// The disk id for the disk that was wiped.
 91462  	DiskId int32 `xml:"diskId" json:"diskId"`
 91463  	// The amount of shrinkable disk space in kB.
 91464  	ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace" json:"shrinkableDiskSpace"`
 91465  }
 91466  
 91467  func init() {
 91468  	t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem()
 91469  }
 91470  
 91471  // The Virtual NVDIMM device.
 91472  type VirtualNVDIMM struct {
 91473  	VirtualDevice
 91474  
 91475  	// NVDIMM backing size in MiB.
 91476  	//
 91477  	// If backing is inaccessible, then
 91478  	// capacity is reported as 0.
 91479  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 91480  	// NVDIMM device's configured size in MiB.
 91481  	ConfiguredCapacityInMB int64 `xml:"configuredCapacityInMB,omitempty" json:"configuredCapacityInMB,omitempty" vim:"7.0.2.0"`
 91482  }
 91483  
 91484  func init() {
 91485  	t["VirtualNVDIMM"] = reflect.TypeOf((*VirtualNVDIMM)(nil)).Elem()
 91486  }
 91487  
 91488  // The <code>`VirtualNVDIMMBackingInfo`</code> data object type
 91489  // defines information about a resource that backs a device
 91490  // in a virtual machine.
 91491  type VirtualNVDIMMBackingInfo struct {
 91492  	VirtualDeviceFileBackingInfo
 91493  
 91494  	// Parent object in snapshot chain.
 91495  	Parent *VirtualNVDIMMBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
 91496  	// The change ID of the virtual NVDIMM for the corresponding
 91497  	// snapshot of virtual machine.
 91498  	//
 91499  	// This can be used to track
 91500  	// incremental changes.
 91501  	// See `VirtualMachine.QueryChangedDiskAreas`.
 91502  	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
 91503  }
 91504  
 91505  func init() {
 91506  	t["VirtualNVDIMMBackingInfo"] = reflect.TypeOf((*VirtualNVDIMMBackingInfo)(nil)).Elem()
 91507  }
 91508  
 91509  // The Virtual NVDIMM controller.
 91510  type VirtualNVDIMMController struct {
 91511  	VirtualController
 91512  }
 91513  
 91514  func init() {
 91515  	t["VirtualNVDIMMController"] = reflect.TypeOf((*VirtualNVDIMMController)(nil)).Elem()
 91516  }
 91517  
 91518  // VirtualNVDIMMControllerOption is the data object that contains
 91519  // the options for a virtual NVDIMM controller.
 91520  type VirtualNVDIMMControllerOption struct {
 91521  	VirtualControllerOption
 91522  
 91523  	// Minimum, maximum and default number of virtual NVDIMM controllers.
 91524  	NumNVDIMMControllers IntOption `xml:"numNVDIMMControllers" json:"numNVDIMMControllers"`
 91525  }
 91526  
 91527  func init() {
 91528  	t["VirtualNVDIMMControllerOption"] = reflect.TypeOf((*VirtualNVDIMMControllerOption)(nil)).Elem()
 91529  }
 91530  
 91531  // The VirtualNVDIMMOption contains information about
 91532  // a virtual NVDIMM capacity limits and rules for
 91533  // capacity growth operations.
 91534  type VirtualNVDIMMOption struct {
 91535  	VirtualDeviceOption
 91536  
 91537  	// Minimum and maximum capacity in MB.
 91538  	CapacityInMB LongOption `xml:"capacityInMB" json:"capacityInMB"`
 91539  	// Option to show if device capacity growth is supported for
 91540  	// powered off VMs.
 91541  	Growable bool `xml:"growable" json:"growable"`
 91542  	// Option to show if device capacity growth is supported for
 91543  	// powered on VMs.
 91544  	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
 91545  	// Option to show capacity growth granularity if growth operation
 91546  	// is supported in MB.
 91547  	GranularityInMB int64 `xml:"granularityInMB" json:"granularityInMB"`
 91548  }
 91549  
 91550  func init() {
 91551  	t["VirtualNVDIMMOption"] = reflect.TypeOf((*VirtualNVDIMMOption)(nil)).Elem()
 91552  }
 91553  
 91554  // The Virtual NVME controller.
 91555  type VirtualNVMEController struct {
 91556  	VirtualController
 91557  
 91558  	// Mode for sharing the SCSI bus.
 91559  	//
 91560  	// The modes are physicalSharing,
 91561  	// and noSharing. See the
 91562  	// `Sharing`
 91563  	// data object type for an explanation of these modes.
 91564  	SharedBus string `xml:"sharedBus,omitempty" json:"sharedBus,omitempty" vim:"8.0.2.0"`
 91565  }
 91566  
 91567  func init() {
 91568  	t["VirtualNVMEController"] = reflect.TypeOf((*VirtualNVMEController)(nil)).Elem()
 91569  }
 91570  
 91571  // VirtualNVMEControllerOption is the data object that contains
 91572  // the options for a virtual NVME controller.
 91573  type VirtualNVMEControllerOption struct {
 91574  	VirtualControllerOption
 91575  
 91576  	// Three properties (numNVMEDisks.min, numNVMEDisks.max, and
 91577  	// numNVMEDisks.defaultValue) define the minimum, maximum, and default
 91578  	// number of NVME VirtualDisk instances available at any given time in the
 91579  	// NVME controller.
 91580  	//
 91581  	// The number of NVME VirtualDisk instances is
 91582  	// also limited by the number of available namespaces in the NVME controller.
 91583  	NumNVMEDisks IntOption `xml:"numNVMEDisks" json:"numNVMEDisks"`
 91584  	// Supported shared bus modes.
 91585  	//
 91586  	// See `VirtualNVMEControllerSharing_enum` for the list of available modes.
 91587  	Sharing []string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"8.0.2.0"`
 91588  }
 91589  
 91590  func init() {
 91591  	t["VirtualNVMEControllerOption"] = reflect.TypeOf((*VirtualNVMEControllerOption)(nil)).Elem()
 91592  }
 91593  
 91594  // The NetConfig data object type contains the networking
 91595  // configuration.
 91596  type VirtualNicManagerNetConfig struct {
 91597  	DynamicData
 91598  
 91599  	// The NicType of this NetConfig.
 91600  	NicType string `xml:"nicType" json:"nicType"`
 91601  	// Whether multiple nics can be selected for this nicType.
 91602  	MultiSelectAllowed bool `xml:"multiSelectAllowed" json:"multiSelectAllowed"`
 91603  	// List of VirtualNic objects that may be used.
 91604  	//
 91605  	// This will be a subset of the list of VirtualNics in
 91606  	// `HostNetworkInfo.vnic`.
 91607  	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
 91608  	// List of VirtualNic objects that are selected for use.
 91609  	SelectedVnic []string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
 91610  }
 91611  
 91612  func init() {
 91613  	t["VirtualNicManagerNetConfig"] = reflect.TypeOf((*VirtualNicManagerNetConfig)(nil)).Elem()
 91614  }
 91615  
 91616  // The VirtualPCIController data object type defines a virtual PCI
 91617  // controller.
 91618  type VirtualPCIController struct {
 91619  	VirtualController
 91620  }
 91621  
 91622  func init() {
 91623  	t["VirtualPCIController"] = reflect.TypeOf((*VirtualPCIController)(nil)).Elem()
 91624  }
 91625  
 91626  // This data object type contains the options
 91627  // for a virtual PCI Controller.
 91628  type VirtualPCIControllerOption struct {
 91629  	VirtualControllerOption
 91630  
 91631  	// Defines the minimum, maximum, and
 91632  	// default number of VirtualSCSIController instances available
 91633  	// at any given time in the PCI controller.
 91634  	//
 91635  	// The number of
 91636  	// VirtualSCSIController instances is also limited by the number of
 91637  	// available slots in the PCI controller.
 91638  	NumSCSIControllers IntOption `xml:"numSCSIControllers" json:"numSCSIControllers"`
 91639  	// Defines the minimum, maximum, and
 91640  	// default number of VirtualEthernetCard instances available,
 91641  	// at any given time, in the PCI controller.
 91642  	//
 91643  	// The number of
 91644  	// VirtualEthernetCard instances is also limited by the number of
 91645  	// available slots in the PCI controller.
 91646  	NumEthernetCards IntOption `xml:"numEthernetCards" json:"numEthernetCards"`
 91647  	// Defines the minimum, maximum, and default
 91648  	// number of VirtualVideoCard instances available,
 91649  	// at any given time, in the PCI controller.
 91650  	//
 91651  	// The number of
 91652  	// VirtualVideoCard instances is also limited by the number of
 91653  	// available slots in the PCI controller.
 91654  	NumVideoCards IntOption `xml:"numVideoCards" json:"numVideoCards"`
 91655  	// Defines the minimum, maximum, and default
 91656  	// number of VirtualSoundCard instances available,
 91657  	// at any given time, in the PCI controller.
 91658  	//
 91659  	// The number of
 91660  	// VirtualSoundCard instances is also limited by the number of
 91661  	// available slots in the PCI controller.
 91662  	NumSoundCards IntOption `xml:"numSoundCards" json:"numSoundCards"`
 91663  	// Defines the minimum, maximum, and default
 91664  	// number of VirtualVMIROM instances available,
 91665  	// at any given time, in the PCI controller.
 91666  	//
 91667  	// This is also limited
 91668  	// by the number of available slots in the PCI controller.
 91669  	NumVmiRoms IntOption `xml:"numVmiRoms" json:"numVmiRoms"`
 91670  	// Defines the minimum, maximum, and default
 91671  	// number of VirtualVMCIDevice instances available,
 91672  	// at any given time, in the PCI controller.
 91673  	//
 91674  	// This is also limited
 91675  	// by the number of available slots in the PCI controller.
 91676  	NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty" json:"numVmciDevices,omitempty"`
 91677  	// Defines the minimum, maximum, and default
 91678  	// number of VirtualPCIPassthrough instances available,
 91679  	// at any given time, in the PCI controller.
 91680  	//
 91681  	// This is also limited
 91682  	// by the number of available PCI Express slots in the PCI controller.
 91683  	NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty" json:"numPCIPassthroughDevices,omitempty"`
 91684  	// Defines the minimum, maximum, and default
 91685  	// number of VirtualLsiLogicSASController instances available,
 91686  	// at any given time, in the PCI controller.
 91687  	//
 91688  	// This is also limited
 91689  	// by the number of available PCI Express slots in the PCI controller
 91690  	// as well as the total number of supported SCSI controllers.
 91691  	NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty" json:"numSasSCSIControllers,omitempty"`
 91692  	// Defines the minimum, maximum, and default
 91693  	// number of VirtualVmxnet3 ethernet card instances available,
 91694  	// at any given time, in the PCI controller.
 91695  	//
 91696  	// This is also limited
 91697  	// by the number of available PCI Express slots in the PCI controller
 91698  	// as well as the total number of supported ethernet cards.
 91699  	NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty" json:"numVmxnet3EthernetCards,omitempty"`
 91700  	// Defines the minimum, maximum, and default
 91701  	// number of ParaVirtualScsiController instances available,
 91702  	// at any given time, in the PCI controller.
 91703  	//
 91704  	// This is also limited
 91705  	// by the number of available PCI Express slots in the PCI controller
 91706  	// as well as the total number of supported SCSI controllers.
 91707  	NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty" json:"numParaVirtualSCSIControllers,omitempty"`
 91708  	// Defines the minimum, maximum, and default
 91709  	// number of VirtualSATAController instances available,
 91710  	// at any given time, in the PCI controller.
 91711  	//
 91712  	// This is also limited
 91713  	// by the number of available PCI Express slots in the PCI controller
 91714  	// as well as the total number of supported SATA controllers.
 91715  	NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty" json:"numSATAControllers,omitempty"`
 91716  	// Defines the minimum, maximum, and default
 91717  	// number of VirtualNVMEController instances available,
 91718  	// at any given time, in the PCI controller.
 91719  	//
 91720  	// This is also limited
 91721  	// by the number of available PCI Express slots in the PCI controller
 91722  	// as well as the total number of supported NVME controllers.
 91723  	NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty" json:"numNVMEControllers,omitempty"`
 91724  	// Defines the minimum, maximum, and default
 91725  	// number of VirtualVmxnet3Vrdma ethernet card instances available,
 91726  	// at any given time, in the PCI controller.
 91727  	//
 91728  	// This is also limited
 91729  	// by the number of available PCI Express slots in the PCI controller
 91730  	// as well as the total number of supported ethernet cards.
 91731  	NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty" json:"numVmxnet3VrdmaEthernetCards,omitempty"`
 91732  }
 91733  
 91734  func init() {
 91735  	t["VirtualPCIControllerOption"] = reflect.TypeOf((*VirtualPCIControllerOption)(nil)).Elem()
 91736  }
 91737  
 91738  // The VirtualPCIPassthrough data object type contains information about a
 91739  // PCI device on the virtual machine that is being backed by
 91740  // a generic PCI device on the host via passthrough.
 91741  type VirtualPCIPassthrough struct {
 91742  	VirtualDevice
 91743  }
 91744  
 91745  func init() {
 91746  	t["VirtualPCIPassthrough"] = reflect.TypeOf((*VirtualPCIPassthrough)(nil)).Elem()
 91747  }
 91748  
 91749  // A tuple of vendorId and deviceId indicating an allowed device
 91750  // for a Dynamic DirectPath device.
 91751  type VirtualPCIPassthroughAllowedDevice struct {
 91752  	DynamicData
 91753  
 91754  	// The vendor ID for this PCI device.
 91755  	//
 91756  	// You must use the vendor ID
 91757  	// retrieved from the vSphere host or cluster.
 91758  	VendorId int32 `xml:"vendorId" json:"vendorId"`
 91759  	// The device ID of this PCI device.
 91760  	//
 91761  	// You must use the device ID
 91762  	// retrieved from the vSphere host or cluster.
 91763  	DeviceId int32 `xml:"deviceId" json:"deviceId"`
 91764  	// The subVendor ID for this PCI device.
 91765  	//
 91766  	// If specified, you must use
 91767  	// the subVendor ID retrieved from the vSphere host or cluster.
 91768  	// Range of legal values is 0x0 to 0xFFFF.
 91769  	SubVendorId int32 `xml:"subVendorId,omitempty" json:"subVendorId,omitempty"`
 91770  	// The subDevice ID of this PCI device.
 91771  	//
 91772  	// If specified, you must use
 91773  	// the subDevice ID retrieved from the vSphere host or cluster.
 91774  	// Range of legal values is 0x0 to 0xFFFF.
 91775  	SubDeviceId int32 `xml:"subDeviceId,omitempty" json:"subDeviceId,omitempty"`
 91776  	// The revision ID of this PCI device.
 91777  	//
 91778  	// If specified, you must use
 91779  	// the revision ID retrieved from the vSphere host or cluster.
 91780  	// Range of legal values is 0x0 to 0xFF.
 91781  	RevisionId int16 `xml:"revisionId,omitempty" json:"revisionId,omitempty"`
 91782  }
 91783  
 91784  func init() {
 91785  	t["VirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*VirtualPCIPassthroughAllowedDevice)(nil)).Elem()
 91786  }
 91787  
 91788  // The VirtualPCIPassthrough.DeviceBackingInfo data object type
 91789  // contains information about the backing that maps the
 91790  // virtual device onto a physical device.
 91791  type VirtualPCIPassthroughDeviceBackingInfo struct {
 91792  	VirtualDeviceDeviceBackingInfo
 91793  
 91794  	// The name ID of this PCI, composed of "bus:slot.function".
 91795  	Id string `xml:"id" json:"id"`
 91796  	// The device ID of this PCI.
 91797  	//
 91798  	// You must use the device ID retrieved
 91799  	// from the vSphere host (`HostPciDevice`.deviceId), converted
 91800  	// as is to a string.
 91801  	DeviceId string `xml:"deviceId" json:"deviceId"`
 91802  	// The ID of the system the PCI device is attached to.
 91803  	SystemId string `xml:"systemId" json:"systemId"`
 91804  	// The vendor ID for this PCI device.
 91805  	//
 91806  	// You must use the vendor ID retrieved
 91807  	// from the vSphere host (`HostPciDevice`.vendorId).
 91808  	VendorId int16 `xml:"vendorId" json:"vendorId"`
 91809  }
 91810  
 91811  func init() {
 91812  	t["VirtualPCIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingInfo)(nil)).Elem()
 91813  }
 91814  
 91815  // This data object type describes the options for the
 91816  // `VirtualPCIPassthroughDeviceBackingInfo` data object type.
 91817  type VirtualPCIPassthroughDeviceBackingOption struct {
 91818  	VirtualDeviceDeviceBackingOption
 91819  }
 91820  
 91821  func init() {
 91822  	t["VirtualPCIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingOption)(nil)).Elem()
 91823  }
 91824  
 91825  // DVX Device specific information.
 91826  type VirtualPCIPassthroughDvxBackingInfo struct {
 91827  	VirtualDeviceBackingInfo
 91828  
 91829  	// The device class that backs this DVX device.
 91830  	//
 91831  	// During add operations, this value must be a non-empty string.
 91832  	// During edit operations, if this value is not set or is an empty
 91833  	// string, the current device class remains unchanged.
 91834  	DeviceClass string `xml:"deviceClass,omitempty" json:"deviceClass,omitempty"`
 91835  	// The configuration parameters for this device class.
 91836  	//
 91837  	// All required configuration parameters must be provided for both add
 91838  	// and edit operations. The provided configuration parameters replace
 91839  	// the previous ones. In particular, passing an empty array will unset
 91840  	// all existing configuration parameters.
 91841  	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
 91842  }
 91843  
 91844  func init() {
 91845  	t["VirtualPCIPassthroughDvxBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingInfo)(nil)).Elem()
 91846  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingInfo"] = "8.0.0.1"
 91847  }
 91848  
 91849  // Describes the options for
 91850  // `VirtualPCIPassthroughDvxBackingInfo`.
 91851  type VirtualPCIPassthroughDvxBackingOption struct {
 91852  	VirtualDeviceBackingOption
 91853  }
 91854  
 91855  func init() {
 91856  	t["VirtualPCIPassthroughDvxBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingOption)(nil)).Elem()
 91857  	minAPIVersionForType["VirtualPCIPassthroughDvxBackingOption"] = "8.0.0.1"
 91858  }
 91859  
 91860  // The VirtualPCIPassthrough.DynamicBackingInfo data object type
 91861  // contains information about the backing that maps the
 91862  // virtual device onto a physical device for a Dynamic DirectPath
 91863  // device.
 91864  type VirtualPCIPassthroughDynamicBackingInfo struct {
 91865  	VirtualDeviceDeviceBackingInfo
 91866  
 91867  	// The list of allowed devices for use with a Dynamic DirectPath
 91868  	// device.
 91869  	AllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"allowedDevice,omitempty" json:"allowedDevice,omitempty"`
 91870  	// An optional label.
 91871  	//
 91872  	// If set, the device must also have the same
 91873  	// customLabel attribute set.
 91874  	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
 91875  	// The id of the device assigned when the VM is powered on.
 91876  	//
 91877  	// This value
 91878  	// is unset when the VM is powered off.
 91879  	AssignedId string `xml:"assignedId,omitempty" json:"assignedId,omitempty"`
 91880  }
 91881  
 91882  func init() {
 91883  	t["VirtualPCIPassthroughDynamicBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingInfo)(nil)).Elem()
 91884  }
 91885  
 91886  // This data object type describes the options for the
 91887  // `VirtualPCIPassthroughDynamicBackingInfo` data object type.
 91888  type VirtualPCIPassthroughDynamicBackingOption struct {
 91889  	VirtualDeviceDeviceBackingOption
 91890  }
 91891  
 91892  func init() {
 91893  	t["VirtualPCIPassthroughDynamicBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingOption)(nil)).Elem()
 91894  }
 91895  
 91896  // The VirtualPCIPassthroughOption data object type describes the options
 91897  // for the
 91898  // `VirtualPCIPassthrough`
 91899  // data object type.
 91900  type VirtualPCIPassthroughOption struct {
 91901  	VirtualDeviceOption
 91902  }
 91903  
 91904  func init() {
 91905  	t["VirtualPCIPassthroughOption"] = reflect.TypeOf((*VirtualPCIPassthroughOption)(nil)).Elem()
 91906  }
 91907  
 91908  // The VirtualPCIPassthrough.PluginBackingInfo is a base data object type
 91909  // for encoding plugin-specific information.
 91910  //
 91911  // This base type does not define
 91912  // any properties. Specific plugin types are represented by subtypes which
 91913  // define properties for subtype-specific backing information.
 91914  type VirtualPCIPassthroughPluginBackingInfo struct {
 91915  	VirtualDeviceBackingInfo
 91916  }
 91917  
 91918  func init() {
 91919  	t["VirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem()
 91920  }
 91921  
 91922  // This data object type describes the options for the
 91923  // `VirtualPCIPassthroughPluginBackingInfo` data object type.
 91924  type VirtualPCIPassthroughPluginBackingOption struct {
 91925  	VirtualDeviceBackingOption
 91926  }
 91927  
 91928  func init() {
 91929  	t["VirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem()
 91930  }
 91931  
 91932  // The VirtualPCIPassthrough.VmiopBackingInfo data object type
 91933  // contains information about the plugin that emulates the
 91934  // virtual device via the VMIOP plugin interface.
 91935  //
 91936  // At present, this interface is only used to implement vGPU.
 91937  type VirtualPCIPassthroughVmiopBackingInfo struct {
 91938  	VirtualPCIPassthroughPluginBackingInfo
 91939  
 91940  	// The vGPU configuration type exposed by a VMIOP plugin.
 91941  	Vgpu string `xml:"vgpu,omitempty" json:"vgpu,omitempty"`
 91942  	// The expected size of the vGPU device state during migration.
 91943  	VgpuMigrateDataSizeMB int32 `xml:"vgpuMigrateDataSizeMB,omitempty" json:"vgpuMigrateDataSizeMB,omitempty" vim:"8.0.0.1"`
 91944  	// Indicates whether the vGPU device is migration capable or not.
 91945  	MigrateSupported *bool `xml:"migrateSupported" json:"migrateSupported,omitempty" vim:"7.0.2.0"`
 91946  	// Indicates whether the vGPU has enhanced migration features for
 91947  	// sub-second downtime.
 91948  	EnhancedMigrateCapability *bool `xml:"enhancedMigrateCapability" json:"enhancedMigrateCapability,omitempty" vim:"8.0.0.1"`
 91949  }
 91950  
 91951  func init() {
 91952  	t["VirtualPCIPassthroughVmiopBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingInfo)(nil)).Elem()
 91953  }
 91954  
 91955  // This data object type describes the options for the
 91956  // `VirtualPCIPassthroughVmiopBackingInfo` data object type.
 91957  type VirtualPCIPassthroughVmiopBackingOption struct {
 91958  	VirtualPCIPassthroughPluginBackingOption
 91959  
 91960  	// Parameter indicating which GPU profile the plugin should emulate.
 91961  	//
 91962  	// See also `ConfigTarget.sharedGpuPassthroughTypes`.
 91963  	Vgpu StringOption `xml:"vgpu" json:"vgpu"`
 91964  	// Maximum number of instances of this backing type allowed
 91965  	// per virtual machine.
 91966  	//
 91967  	// This is a parameter of the plugin
 91968  	// itself, which may support only a limited number of
 91969  	// instances per virtual machine.
 91970  	MaxInstances int32 `xml:"maxInstances" json:"maxInstances"`
 91971  }
 91972  
 91973  func init() {
 91974  	t["VirtualPCIPassthroughVmiopBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingOption)(nil)).Elem()
 91975  }
 91976  
 91977  // This data object type defines the properties
 91978  // of an AMD Lance PCNet32 Ethernet card attached to a virtual machine.
 91979  type VirtualPCNet32 struct {
 91980  	VirtualEthernetCard
 91981  }
 91982  
 91983  func init() {
 91984  	t["VirtualPCNet32"] = reflect.TypeOf((*VirtualPCNet32)(nil)).Elem()
 91985  }
 91986  
 91987  // The VirtualPCNet32Option data object type defines the options for the
 91988  // VirtualPCNet32 data object type.
 91989  //
 91990  // Except for the boolean
 91991  // supportsMorphing option, the options are inherited from the
 91992  // `VirtualEthernetCardOption` data
 91993  // object type.
 91994  type VirtualPCNet32Option struct {
 91995  	VirtualEthernetCardOption
 91996  
 91997  	// Indicates that this Ethernet card supports morphing into vmxnet when
 91998  	// appropriate.
 91999  	//
 92000  	// This means that, if supportsMorphing="true", the virtual
 92001  	// AMD Lance PCNet32 Ethernet card becomes a vmxnet Ethernet card
 92002  	// with its added performance capabilities when appropriate.
 92003  	SupportsMorphing bool `xml:"supportsMorphing" json:"supportsMorphing"`
 92004  }
 92005  
 92006  func init() {
 92007  	t["VirtualPCNet32Option"] = reflect.TypeOf((*VirtualPCNet32Option)(nil)).Elem()
 92008  }
 92009  
 92010  // The VirtualPS2Controller data object type represents a controller
 92011  // for keyboards and mice.
 92012  type VirtualPS2Controller struct {
 92013  	VirtualController
 92014  }
 92015  
 92016  func init() {
 92017  	t["VirtualPS2Controller"] = reflect.TypeOf((*VirtualPS2Controller)(nil)).Elem()
 92018  }
 92019  
 92020  // The VirtualPS2ControllerOption data object type contains the options
 92021  // for a virtual PS/2 controller for keyboards and mice.
 92022  //
 92023  // In addition to
 92024  // the options defined in the `VirtualControllerOption` data object type, these options include the
 92025  // number of keyboards and mice.
 92026  type VirtualPS2ControllerOption struct {
 92027  	VirtualControllerOption
 92028  
 92029  	// The minimum, maximum, and default number of keyboards you can
 92030  	// have at any given time.
 92031  	//
 92032  	// This is further constrained by the number
 92033  	// of available slots in the PS/2 controller. The minimum, maximum,
 92034  	// and default are integers defined by three properties:
 92035  	//   - `*numKeyBoards.min*`: the minimum.
 92036  	//   - `*numKeyBoards.max*`: the maximum.
 92037  	//   - `*numKeyBoards.defaultValue*`: the default number.
 92038  	NumKeyboards IntOption `xml:"numKeyboards" json:"numKeyboards"`
 92039  	// The minimum, maximum, and default number of mice you can
 92040  	// have at any given time.
 92041  	//
 92042  	// The number of mice is also limited by the number
 92043  	// of available slots in the PS/2 controller. The minimum, maximum, and
 92044  	// default are integers defined by three properties:
 92045  	//   - `*numPointingDevices.min*`: the minimum.
 92046  	//   - `*numPointingDevices.max*`: the maximum.
 92047  	//   - `*numPointingDevices.defaultValue*`: the default number.
 92048  	NumPointingDevices IntOption `xml:"numPointingDevices" json:"numPointingDevices"`
 92049  }
 92050  
 92051  func init() {
 92052  	t["VirtualPS2ControllerOption"] = reflect.TypeOf((*VirtualPS2ControllerOption)(nil)).Elem()
 92053  }
 92054  
 92055  // This data object type represents a parallel port
 92056  // in a virtual machine.
 92057  type VirtualParallelPort struct {
 92058  	VirtualDevice
 92059  }
 92060  
 92061  func init() {
 92062  	t["VirtualParallelPort"] = reflect.TypeOf((*VirtualParallelPort)(nil)).Elem()
 92063  }
 92064  
 92065  // The data object type for a device backing of a virtual parallel port.
 92066  type VirtualParallelPortDeviceBackingInfo struct {
 92067  	VirtualDeviceDeviceBackingInfo
 92068  }
 92069  
 92070  func init() {
 92071  	t["VirtualParallelPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingInfo)(nil)).Elem()
 92072  }
 92073  
 92074  // Data object type that represents the options for a device backing
 92075  // of a virtual parallel port.
 92076  type VirtualParallelPortDeviceBackingOption struct {
 92077  	VirtualDeviceDeviceBackingOption
 92078  }
 92079  
 92080  func init() {
 92081  	t["VirtualParallelPortDeviceBackingOption"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingOption)(nil)).Elem()
 92082  }
 92083  
 92084  // The data object type for a file backing of a virtual parallel port.
 92085  type VirtualParallelPortFileBackingInfo struct {
 92086  	VirtualDeviceFileBackingInfo
 92087  }
 92088  
 92089  func init() {
 92090  	t["VirtualParallelPortFileBackingInfo"] = reflect.TypeOf((*VirtualParallelPortFileBackingInfo)(nil)).Elem()
 92091  }
 92092  
 92093  // Data object type that represents the options for a file backing
 92094  // of a virtual parallel port.
 92095  type VirtualParallelPortFileBackingOption struct {
 92096  	VirtualDeviceFileBackingOption
 92097  }
 92098  
 92099  func init() {
 92100  	t["VirtualParallelPortFileBackingOption"] = reflect.TypeOf((*VirtualParallelPortFileBackingOption)(nil)).Elem()
 92101  }
 92102  
 92103  // This data object type contains the options for the
 92104  // virtual parallel port class.
 92105  type VirtualParallelPortOption struct {
 92106  	VirtualDeviceOption
 92107  }
 92108  
 92109  func init() {
 92110  	t["VirtualParallelPortOption"] = reflect.TypeOf((*VirtualParallelPortOption)(nil)).Elem()
 92111  }
 92112  
 92113  // The VirtualPointingDevice data object type contains information about
 92114  // the mouse type on a virtual machine.
 92115  type VirtualPointingDevice struct {
 92116  	VirtualDevice
 92117  }
 92118  
 92119  func init() {
 92120  	t["VirtualPointingDevice"] = reflect.TypeOf((*VirtualPointingDevice)(nil)).Elem()
 92121  }
 92122  
 92123  // The DeviceBackingOption data object type represents
 92124  // the options for a pointing device backing a
 92125  // VirtualPointingDevice data object type.
 92126  type VirtualPointingDeviceBackingOption struct {
 92127  	VirtualDeviceDeviceBackingOption
 92128  
 92129  	// This object defines the supported mouse types, including the default
 92130  	// supported mouse type, with the following properties:
 92131  	//   - `*hostPointingDevices.value*`: This array defines the
 92132  	//     supported mouse types.
 92133  	//   - `*hostPointingDevices.choiceDescription*`: This array
 92134  	//     provides the descriptions for the supported mouse types defined by
 92135  	//     hostPointingDevices.value.
 92136  	//   - `*hostPointingDevices.defaultIndex*`: This integer points
 92137  	//     to an index in the hostPointingDevices.value array. This is the
 92138  	//     mouse type supported by default.
 92139  	HostPointingDevice ChoiceOption `xml:"hostPointingDevice" json:"hostPointingDevice"`
 92140  }
 92141  
 92142  func init() {
 92143  	t["VirtualPointingDeviceBackingOption"] = reflect.TypeOf((*VirtualPointingDeviceBackingOption)(nil)).Elem()
 92144  }
 92145  
 92146  // The VirtualPointingDevice.DeviceBackingInfo provides information about
 92147  // the physical mouse backing the VirtualPointingDevice data object
 92148  // type.
 92149  type VirtualPointingDeviceDeviceBackingInfo struct {
 92150  	VirtualDeviceDeviceBackingInfo
 92151  
 92152  	// This optional property defines the mouse type (two-button,
 92153  	// three-button, and so on).
 92154  	//
 92155  	// The mouse type
 92156  	// determines how the user interacts with the host mouse.
 92157  	// The valid values are specified in the
 92158  	// `VirtualPointingDeviceHostChoice_enum` list.
 92159  	//
 92160  	// `*Note*`: The value specified by this property must be
 92161  	// one of the supported types listed in the hostPointingDevices.value
 92162  	// array in the `VirtualPointingDeviceOption` data object type. If this property is
 92163  	// not set, then the property defaults to the
 92164  	// hostPointingDevices.defaultIndex property in the same data
 92165  	// object type.
 92166  	HostPointingDevice string `xml:"hostPointingDevice" json:"hostPointingDevice"`
 92167  }
 92168  
 92169  func init() {
 92170  	t["VirtualPointingDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualPointingDeviceDeviceBackingInfo)(nil)).Elem()
 92171  }
 92172  
 92173  // The VirtualPointingDeviceOption data object type contains the options
 92174  // for the host mouse type defined in the
 92175  // `VirtualPointingDevice` data object type.
 92176  //
 92177  // These options include the valid selections for the mouse type, the supported
 92178  // mouse types, and the default mouse type.
 92179  type VirtualPointingDeviceOption struct {
 92180  	VirtualDeviceOption
 92181  }
 92182  
 92183  func init() {
 92184  	t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem()
 92185  }
 92186  
 92187  // This data object type represents a virtual clock device providing
 92188  // precision time in a virtual machine.
 92189  type VirtualPrecisionClock struct {
 92190  	VirtualDevice
 92191  }
 92192  
 92193  func init() {
 92194  	t["VirtualPrecisionClock"] = reflect.TypeOf((*VirtualPrecisionClock)(nil)).Elem()
 92195  }
 92196  
 92197  // The VirtualPrecisionClockOption data object type describes the
 92198  // options for the `VirtualPrecisionClock` data
 92199  // object type.
 92200  type VirtualPrecisionClockOption struct {
 92201  	VirtualDeviceOption
 92202  }
 92203  
 92204  func init() {
 92205  	t["VirtualPrecisionClockOption"] = reflect.TypeOf((*VirtualPrecisionClockOption)(nil)).Elem()
 92206  }
 92207  
 92208  // The `VirtualPrecisionClockSystemClockBackingInfo`
 92209  // data object contains information about using host system clock as the
 92210  // backing reference clock for this virtual device.
 92211  type VirtualPrecisionClockSystemClockBackingInfo struct {
 92212  	VirtualDeviceBackingInfo
 92213  
 92214  	// The time synchronization protocol used to discipline system clock.
 92215  	//
 92216  	// See `HostDateTimeInfoProtocol_enum` for valid values.
 92217  	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
 92218  }
 92219  
 92220  func init() {
 92221  	t["VirtualPrecisionClockSystemClockBackingInfo"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingInfo)(nil)).Elem()
 92222  }
 92223  
 92224  // This data object type describes the options for the
 92225  // `VirtualPrecisionClockSystemClockBackingInfo`
 92226  // VirtualPrecisionClockSystemClockBackingInfo} data object type.
 92227  type VirtualPrecisionClockSystemClockBackingOption struct {
 92228  	VirtualDeviceBackingOption
 92229  
 92230  	// Parameter indicating the protocol used to discipline the
 92231  	// host system clock.
 92232  	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
 92233  }
 92234  
 92235  func init() {
 92236  	t["VirtualPrecisionClockSystemClockBackingOption"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingOption)(nil)).Elem()
 92237  }
 92238  
 92239  // The VirtualSATAController data object type represents
 92240  // a SATA controller in a virtual machine.
 92241  type VirtualSATAController struct {
 92242  	VirtualController
 92243  }
 92244  
 92245  func init() {
 92246  	t["VirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem()
 92247  }
 92248  
 92249  // The VirtualSATAControllerOption data object type contains the options
 92250  // for a virtual SATA controller defined by the
 92251  // `VirtualSATAController`
 92252  // data object type.
 92253  type VirtualSATAControllerOption struct {
 92254  	VirtualControllerOption
 92255  
 92256  	// Three properties (numSATADisks.min, numSATADisks.max, and
 92257  	// numSATADisks.defaultValue) define the minimum, maximum, and default
 92258  	// number of SATA VirtualDisk instances available at any given time in the
 92259  	// SATA controller.
 92260  	//
 92261  	// The number of SATA VirtualDisk instances is
 92262  	// also limited by the number of available slots in the SATA controller.
 92263  	NumSATADisks IntOption `xml:"numSATADisks" json:"numSATADisks"`
 92264  	// Three properties (numSATACdroms.min, numSATACdroms.max, and
 92265  	// numSATACdroms.defaultValue) define the minimum, maximum, and default
 92266  	// number of SATA VirtualCdrom instances available
 92267  	// in the SATA controller.
 92268  	//
 92269  	// The number of SATA VirtualCdrom instances is
 92270  	// also limited by the number of available slots in the SATA controller.
 92271  	NumSATACdroms IntOption `xml:"numSATACdroms" json:"numSATACdroms"`
 92272  }
 92273  
 92274  func init() {
 92275  	t["VirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem()
 92276  }
 92277  
 92278  // The VirtualSCSIController data object type represents
 92279  // a SCSI controller in a virtual machine.
 92280  type VirtualSCSIController struct {
 92281  	VirtualController
 92282  
 92283  	// All SCSI controllers support hot adding and removing of devices.
 92284  	//
 92285  	// This
 92286  	// support can't be toggled in the current implementation. Therefore, this
 92287  	// option is ignored when reconfiguring a SCSI controller and is always set
 92288  	// to "true" when reading an existing configuration.
 92289  	HotAddRemove *bool `xml:"hotAddRemove" json:"hotAddRemove,omitempty"`
 92290  	// Mode for sharing the SCSI bus.
 92291  	//
 92292  	// The modes are physicalSharing,
 92293  	// virtualSharing, and noSharing. See the
 92294  	// `Sharing`
 92295  	// data object type for an explanation of these modes.
 92296  	SharedBus VirtualSCSISharing `xml:"sharedBus" json:"sharedBus"`
 92297  	// The unit number of the SCSI controller.
 92298  	//
 92299  	// The SCSI controller sits on its
 92300  	// own bus, so this field defines which slot the controller is using.
 92301  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty" json:"scsiCtlrUnitNumber,omitempty"`
 92302  }
 92303  
 92304  func init() {
 92305  	t["VirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem()
 92306  }
 92307  
 92308  // The VirtualSCSIControllerOption data object type contains the options
 92309  // for a virtual SCSI controller defined by the
 92310  // `VirtualSCSIController`
 92311  // data object type.
 92312  type VirtualSCSIControllerOption struct {
 92313  	VirtualControllerOption
 92314  
 92315  	// Three properties (numSCSIDisks.min, numSCSIDisks.max, and
 92316  	// numSCSIDisks.defaultValue) define the minimum, maximum, and default
 92317  	// number of SCSI VirtualDisk instances available at any given time in the
 92318  	// SCSI controller.
 92319  	//
 92320  	// The number of SCSI VirtualDisk instances is
 92321  	// also limited by the number of available slots in the SCSI controller.
 92322  	NumSCSIDisks IntOption `xml:"numSCSIDisks" json:"numSCSIDisks"`
 92323  	// Three properties (numSCSICdroms.min, numSCSICdroms.max, and
 92324  	// numSCSICdroms.defaultValue) define the minimum, maximum, and default
 92325  	// number of SCSI VirtualCdrom instances available
 92326  	// in the SCSI controller.
 92327  	//
 92328  	// The number of SCSI VirtualCdrom instances is
 92329  	// also limited by the number of available slots in the SCSI controller.
 92330  	NumSCSICdroms IntOption `xml:"numSCSICdroms" json:"numSCSICdroms"`
 92331  	// Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and
 92332  	// numSCSIPassthrough.defaultValue) define the minimum, maximum, and
 92333  	// default number of VirtualSCSIPassthrough instances available
 92334  	// have at any given time in the SCSI controller.
 92335  	//
 92336  	// The number of
 92337  	// VirtualSCSIPassthrough instances is also limited by the number of
 92338  	// available slots in the SCSI controller.
 92339  	NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough" json:"numSCSIPassthrough"`
 92340  	// Supported shared bus modes.
 92341  	Sharing []VirtualSCSISharing `xml:"sharing" json:"sharing"`
 92342  	// Index into sharing array specifying the default value.
 92343  	DefaultSharedIndex int32 `xml:"defaultSharedIndex" json:"defaultSharedIndex"`
 92344  	// All SCSI controllers support hot adding and removing of devices.
 92345  	//
 92346  	// This
 92347  	// support can't be toggled in the current implementation. Therefore, this
 92348  	// option is ignored when reconfiguring a SCSI controller and is always set
 92349  	// to "true" when reading an existing configuration.
 92350  	HotAddRemove BoolOption `xml:"hotAddRemove" json:"hotAddRemove"`
 92351  	// The unit number of the SCSI controller.
 92352  	//
 92353  	// The SCSI controller sits on its
 92354  	// own bus, so that this field defines which slot the controller will use.
 92355  	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber" json:"scsiCtlrUnitNumber"`
 92356  }
 92357  
 92358  func init() {
 92359  	t["VirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem()
 92360  }
 92361  
 92362  // The VirtualSCSIPassthrough data object type contains information about a
 92363  // SCSI device on the virtual machine that is being backed by
 92364  // a generic SCSI device on the host via passthrough.
 92365  type VirtualSCSIPassthrough struct {
 92366  	VirtualDevice
 92367  }
 92368  
 92369  func init() {
 92370  	t["VirtualSCSIPassthrough"] = reflect.TypeOf((*VirtualSCSIPassthrough)(nil)).Elem()
 92371  }
 92372  
 92373  // The VirtualSCSIPassthrough.DeviceBackingInfo data object type
 92374  // contains information about the backing that maps the
 92375  // virtual device onto a physical device.
 92376  type VirtualSCSIPassthroughDeviceBackingInfo struct {
 92377  	VirtualDeviceDeviceBackingInfo
 92378  }
 92379  
 92380  func init() {
 92381  	t["VirtualSCSIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingInfo)(nil)).Elem()
 92382  }
 92383  
 92384  // This data object type describes
 92385  // the options for the
 92386  // `VirtualSCSIPassthroughDeviceBackingInfo` data object type.
 92387  type VirtualSCSIPassthroughDeviceBackingOption struct {
 92388  	VirtualDeviceDeviceBackingOption
 92389  }
 92390  
 92391  func init() {
 92392  	t["VirtualSCSIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingOption)(nil)).Elem()
 92393  }
 92394  
 92395  // The VirtualSCSIPassthroughOption data object type describes the options
 92396  // for the
 92397  // `VirtualSCSIPassthrough`
 92398  // data object type.
 92399  type VirtualSCSIPassthroughOption struct {
 92400  	VirtualDeviceOption
 92401  }
 92402  
 92403  func init() {
 92404  	t["VirtualSCSIPassthroughOption"] = reflect.TypeOf((*VirtualSCSIPassthroughOption)(nil)).Elem()
 92405  }
 92406  
 92407  // This data object type defines a
 92408  // Super IO Controller for floppy drives, parallel ports,
 92409  // and serial ports.
 92410  type VirtualSIOController struct {
 92411  	VirtualController
 92412  }
 92413  
 92414  func init() {
 92415  	t["VirtualSIOController"] = reflect.TypeOf((*VirtualSIOController)(nil)).Elem()
 92416  }
 92417  
 92418  // The VirtualSIOControllerOption data object type contains the options
 92419  // for a virtual Super IO Controller.
 92420  type VirtualSIOControllerOption struct {
 92421  	VirtualControllerOption
 92422  
 92423  	// Three properties (numFloppyDrives.min, numFloppyDrives.max, and
 92424  	// numFloppyDrives.defaultValue) define the minimum, maximum, and default
 92425  	// number of floppy drives you can have at any given time in the Super IO
 92426  	// Controller.
 92427  	//
 92428  	// This is further constrained by the number of available
 92429  	// slots in the Super IO Controller.
 92430  	NumFloppyDrives IntOption `xml:"numFloppyDrives" json:"numFloppyDrives"`
 92431  	// Three properties (numSerialPorts.min, numSerialPorts.max, and
 92432  	// numSerialPorts.defaultValue) define the minimum, maximum, and default
 92433  	// number of serial ports you can
 92434  	// have at any given time in the Super IO Controller.
 92435  	//
 92436  	// This is further
 92437  	// constrained by the number of available slots in the Super IO
 92438  	// Controller.
 92439  	NumSerialPorts IntOption `xml:"numSerialPorts" json:"numSerialPorts"`
 92440  	// Three properties (numParallelPorts.min, numParallelPorts.max, and
 92441  	// numParallelPorts.defaultValue) define the minimum, maximum, and default
 92442  	// number of parallel ports you can
 92443  	// have at any given time in the Super IO controller.
 92444  	//
 92445  	// This is further
 92446  	// constrained by the number of available slots in the Super IO
 92447  	// Controller.
 92448  	NumParallelPorts IntOption `xml:"numParallelPorts" json:"numParallelPorts"`
 92449  }
 92450  
 92451  func init() {
 92452  	t["VirtualSIOControllerOption"] = reflect.TypeOf((*VirtualSIOControllerOption)(nil)).Elem()
 92453  }
 92454  
 92455  // The <code>`VirtualSerialPort`</code> data object represents a serial port
 92456  // on a virtual machine.
 92457  //
 92458  // A virtual serial port uses one of the following backing types to specify
 92459  // how the virtual machine performs serial port operations.
 92460  //   - Network backing (<code>`VirtualSerialPortURIBackingInfo`</code>)
 92461  //     supports a connection between the virtual machine and a resource
 92462  //     on the network. The virtual machine can initiate a connection with
 92463  //     the network resource, or it can listen for connections originating
 92464  //     from the network.
 92465  //   - Pipe backing (<code>`VirtualSerialPortPipeBackingInfo`</code>)
 92466  //     supports I/O through a named pipe. The pipe connects the virtual machine
 92467  //     to a host application or a virtual machine on the same host.
 92468  //   - File backing (<code>`VirtualSerialPortFileBackingInfo`</code>)
 92469  //     supports output through the virtual serial port to a file on the same host.
 92470  //   - Physical serial port backing
 92471  //     (<code>`VirtualSerialPortDeviceBackingInfo`</code>)
 92472  //     supports a connection between the virtual machine and a
 92473  //     device that is connected to a physical serial port on the host.
 92474  //   - ThinPrint backing (<code>`VirtualSerialPortThinPrintBackingInfo`</code>)
 92475  //     provides driver-free printing.
 92476  //
 92477  // When you use network backing, you can also configure a virtual serial port
 92478  // to use a virtual serial port concentrator. The virtual machine initiates
 92479  // a telnet connection with the concentrator, and the concentrator acts
 92480  // as a proxy between the virtual machine and a system on the network.
 92481  // By using a virtual serial port concentrator, you can maintain the connection
 92482  // between the virtual machine and the network resource
 92483  // when a vMotion event moves the virtual machine from one host to another.
 92484  // Without a virtual serial port concentrator, the connection would be lost.
 92485  // For information about using a serial port concentrator,
 92486  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 92487  //
 92488  // You can configure a virtual serial port when you create or reconfigure
 92489  // a virtual machine. For example, to create a virtual serial port
 92490  // with network backing, use the following sequence of operations.
 92491  // In this procedure, the virtual serial port uses a proxy and will accept
 92492  // a network connection.
 92493  //
 92494  //  1. Use the <code>`EnvironmentBrowser.QueryConfigOption`</code> method
 92495  //     to determine the backing options that are available on a host.
 92496  //     The method returns a <code>`VirtualMachineConfigOption`</code> data object.
 92497  //     The virtual machine configuration data includes a list of backing options
 92498  //     (<code>`VirtualDeviceOption.backingOption`</code>).
 92499  //     The following pseudocode shows the path to the backing options.
 92500  //
 92501  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigOption`.hardwareOptions.VirtualDeviceOption\[\].backingOption\[\]</code>
 92502  //
 92503  //     The array of virtual device options can include a virtual serial port
 92504  //     (<code>`VirtualSerialPortOption`</code>). The array of serial port
 92505  //     backing options can include URI, file, pipe, or device backing options.
 92506  //
 92507  //  2. Use the <code>`Folder.CreateVM_Task`</code> method
 92508  //     (or the <code>`ResourcePool.CreateChildVM_Task`</code> method)
 92509  //     to create the virtual machine and configure the virtual serial port backing.
 92510  //     Create a <code>`VirtualMachineConfigSpec`</code> data object and nested
 92511  //     data objects for the method's <code>config</code> parameter.
 92512  //     The following pseudocode shows the resulting path to the backing
 92513  //     information.
 92514  //
 92515  //     &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigSpec`.deviceChange\[\].device.backing</code>
 92516  //
 92517  //     Set the direction property to "server" to direct the virtual machine to accept
 92518  //     a connection. Set the serviceURI property to the URI for the host on which
 92519  //     the virtual machine runs.
 92520  //
 92521  // If you use physical device backing
 92522  // (<code>`VirtualSerialPortDeviceBackingOption`</code>),
 92523  // you should also use the <code>`EnvironmentBrowser.QueryConfigTarget`</code>
 92524  // method to determine if a serial device is available before configuring device backing.
 92525  type VirtualSerialPort struct {
 92526  	VirtualDevice
 92527  
 92528  	// Enables CPU yield behavior.
 92529  	//
 92530  	// If you set <code>yieldOnPoll</code> to <code>true</code>,
 92531  	// the virtual machine will periodically relinquish the processor if its sole task
 92532  	// is polling the virtual serial port. The amount of time it takes to regain
 92533  	// the processor will depend on the degree of other virtual machine activity on the host.
 92534  	//
 92535  	// To use this property, the CPU yield option must be supported. (See the
 92536  	// <code>`VirtualSerialPortOption.yieldOnPoll`</code> property for
 92537  	// the virtual serial port option object.)
 92538  	YieldOnPoll bool `xml:"yieldOnPoll" json:"yieldOnPoll"`
 92539  }
 92540  
 92541  func init() {
 92542  	t["VirtualSerialPort"] = reflect.TypeOf((*VirtualSerialPort)(nil)).Elem()
 92543  }
 92544  
 92545  // The <code>`VirtualSerialPortDeviceBackingInfo`</code> data object
 92546  // defines information for using a host serial port device as backing for a
 92547  // <code>`VirtualSerialPort`</code>.
 92548  //
 92549  // On a host, the first virtual machine
 92550  // to configure physical device backing for a virtual serial port will obtain
 92551  // the mapping. As long as that machine maintains the backing, any additional attempts
 92552  // to configure backing using that device will fail (a recoverable error, see
 92553  // the connection info <code>`VirtualDeviceConnectInfo.status`</code>).
 92554  type VirtualSerialPortDeviceBackingInfo struct {
 92555  	VirtualDeviceDeviceBackingInfo
 92556  }
 92557  
 92558  func init() {
 92559  	t["VirtualSerialPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingInfo)(nil)).Elem()
 92560  }
 92561  
 92562  // The <code>`VirtualSerialPortDeviceBackingOption`</code> data object type
 92563  // contains the options for backing a serial port with a host serial port device.
 92564  type VirtualSerialPortDeviceBackingOption struct {
 92565  	VirtualDeviceDeviceBackingOption
 92566  }
 92567  
 92568  func init() {
 92569  	t["VirtualSerialPortDeviceBackingOption"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingOption)(nil)).Elem()
 92570  }
 92571  
 92572  // The <code>`VirtualSerialPortFileBackingInfo`</code> data object provides
 92573  // information for backing a virtual serial port with a host file.
 92574  type VirtualSerialPortFileBackingInfo struct {
 92575  	VirtualDeviceFileBackingInfo
 92576  }
 92577  
 92578  func init() {
 92579  	t["VirtualSerialPortFileBackingInfo"] = reflect.TypeOf((*VirtualSerialPortFileBackingInfo)(nil)).Elem()
 92580  }
 92581  
 92582  // The <code>`VirtualSerialPortFileBackingOption`</code> data object type
 92583  // contains the options for backing a serial port with a host file.
 92584  type VirtualSerialPortFileBackingOption struct {
 92585  	VirtualDeviceFileBackingOption
 92586  }
 92587  
 92588  func init() {
 92589  	t["VirtualSerialPortFileBackingOption"] = reflect.TypeOf((*VirtualSerialPortFileBackingOption)(nil)).Elem()
 92590  }
 92591  
 92592  // The <code>`VirtualSerialPortOption`</code> data object contains the options
 92593  // for configuring the virtual serial port device defined by the
 92594  // <code>`VirtualSerialPort`</code> data object.
 92595  //
 92596  // These options include information about how the device is backed
 92597  // physically on the host: by a network socket, a host file, a host serial port device,
 92598  // or a pipe to another process.
 92599  type VirtualSerialPortOption struct {
 92600  	VirtualDeviceOption
 92601  
 92602  	// Indicates whether the virtual machine supports the CPU yield option during
 92603  	// virtual serial port polling.
 92604  	//
 92605  	// When this feature is supported and enabled,
 92606  	// the virtual machine will periodically relinquish the processor if its
 92607  	// sole task is polling the virtual serial port.
 92608  	//
 92609  	// If <code>yieldOnPoll.supported</code> is <code>false</code>, the virtual
 92610  	// machine ignores the virtual serial port object setting for
 92611  	// <code>`VirtualSerialPort.yieldOnPoll`</code>.
 92612  	YieldOnPoll BoolOption `xml:"yieldOnPoll" json:"yieldOnPoll"`
 92613  }
 92614  
 92615  func init() {
 92616  	t["VirtualSerialPortOption"] = reflect.TypeOf((*VirtualSerialPortOption)(nil)).Elem()
 92617  }
 92618  
 92619  // The <code>`VirtualSerialPortPipeBackingInfo`</code> data object defines information
 92620  // for backing a <code>`VirtualSerialPort`</code> with a named pipe.
 92621  //
 92622  // You can use a pipe to connect a virtual serial port to a host
 92623  // application or to another virtual machine on the host computer.
 92624  // This is useful for capturing debugging information sent through
 92625  // the virtual serial port.
 92626  type VirtualSerialPortPipeBackingInfo struct {
 92627  	VirtualDevicePipeBackingInfo
 92628  
 92629  	// Indicates the role the virtual machine assumes as an endpoint
 92630  	// for the pipe.
 92631  	//
 92632  	// The valid values are "client" or "server".
 92633  	Endpoint string `xml:"endpoint" json:"endpoint"`
 92634  	// Enables optimized data transfer over the pipe.
 92635  	//
 92636  	// When you use this feature,
 92637  	// the ESX server buffers data to prevent data overrun.
 92638  	// This allows the virtual machine to read
 92639  	// all of the data transferred over the pipe with no data loss.
 92640  	// To use optimized data transfer, set <code>noRxLoss</code> to <code>true</code>.
 92641  	// To disable this feature, set the property to <code>false.
 92642  	//
 92643  	// This property is optional. If this property is not set, the ESX server
 92644  	// uses the default value specified in the pipe backing options
 92645  	// (noRxLoss.defaultValue - see
 92646  	// <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 92647  	// in the pipe backing option object).
 92648  	//
 92649  	// To use this property, optimized data transfer must be supported on the host.
 92650  	// (See <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
 92651  	// in the pipe backing option object.)
 92652  	// If the ESX server does not support the option, it ignores the
 92653  	// <code>noRxLoss</code> setting in the pipe backing information object.
 92654  	//
 92655  	// `*Note*`: You can use this feature even if the other end of the pipe
 92656  	// is not an application, but this is more likely to fail.
 92657  	NoRxLoss *bool `xml:"noRxLoss" json:"noRxLoss,omitempty"`
 92658  }
 92659  
 92660  func init() {
 92661  	t["VirtualSerialPortPipeBackingInfo"] = reflect.TypeOf((*VirtualSerialPortPipeBackingInfo)(nil)).Elem()
 92662  }
 92663  
 92664  // The <code>`VirtualSerialPortPipeBackingOption`</code> data object contains
 92665  // the options for backing a serial port device with a pipe to another process.
 92666  type VirtualSerialPortPipeBackingOption struct {
 92667  	VirtualDevicePipeBackingOption
 92668  
 92669  	// Indicates the choices available and the default setting
 92670  	// for the pipe endpoint.
 92671  	//
 92672  	// As an endpoint, the virtual machine can act
 92673  	// as a client or a server.
 92674  	Endpoint ChoiceOption `xml:"endpoint" json:"endpoint"`
 92675  	// Indicates whether the server supports optimized data transfer
 92676  	// over the pipe and also specifies default behavior.
 92677  	//
 92678  	// When this feature is supported and enabled, the server buffers data
 92679  	// to prevent data overrun. This allows the virtual machine to read all
 92680  	// of the data transferred over the pipe with no data loss.
 92681  	//
 92682  	// If optimized data transfer is supported (<code>noRxLoss.supported</code>
 92683  	// is <code>true</code>):
 92684  	//   - You can enable (or disable) the feature explicitly by setting the
 92685  	//     <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 92686  	//     property on the pipe backing information object.
 92687  	//   - If you do not set the
 92688  	//     <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
 92689  	//     property on the
 92690  	//     the pipe backing information object, the server enables
 92691  	//     optimized data transfer if the <code>noRxLoss.defaultValue</code>
 92692  	//     property on the pipe backing options object is <code>true</code>.
 92693  	//
 92694  	// If <code>noRxLoss.supported</code> is <code>false</code>, the server
 92695  	// ignores the optimization settings.
 92696  	//
 92697  	// `*Note*`: You can use this feature even if the other end of the pipe
 92698  	// is not an application, but it is more likely to fail.
 92699  	NoRxLoss BoolOption `xml:"noRxLoss" json:"noRxLoss"`
 92700  }
 92701  
 92702  func init() {
 92703  	t["VirtualSerialPortPipeBackingOption"] = reflect.TypeOf((*VirtualSerialPortPipeBackingOption)(nil)).Elem()
 92704  }
 92705  
 92706  // The <code>`VirtualSerialPortThinPrintBackingInfo`</code> data object defines
 92707  // information required for backing a <code>`VirtualSerialPort`</code> with a
 92708  // ThinPrint device.
 92709  type VirtualSerialPortThinPrintBackingInfo struct {
 92710  	VirtualDeviceBackingInfo
 92711  }
 92712  
 92713  func init() {
 92714  	t["VirtualSerialPortThinPrintBackingInfo"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingInfo)(nil)).Elem()
 92715  }
 92716  
 92717  // The <code>`VirtualSerialPortThinPrintBackingOption`</code> data
 92718  // object type contains the options for backing a serial port with a ThinPrint device.
 92719  type VirtualSerialPortThinPrintBackingOption struct {
 92720  	VirtualDeviceBackingOption
 92721  }
 92722  
 92723  func init() {
 92724  	t["VirtualSerialPortThinPrintBackingOption"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingOption)(nil)).Elem()
 92725  }
 92726  
 92727  // The <code>`VirtualSerialPortURIBackingInfo`</code> data object
 92728  // specifies network backing for a <code>`VirtualSerialPort`</code>.
 92729  //
 92730  // You can use URI backing to create a network serial port on the virtual machine,
 92731  // supporting connections between the virtual machine and remote systems.
 92732  //
 92733  // When a virtual machine establishes a connection with a remote system on the network,
 92734  // the virtual machine can act as a server or a client. When the virtual machine
 92735  // acts as a server, it accepts a connection. When the virtual machine acts as a client,
 92736  // it initiates the connection.
 92737  //
 92738  // You can configure the virtual serial port for communication through a
 92739  // virtual serial port concentrator that acts as a proxy between the virtual
 92740  // machine and the network. When you specify a
 92741  // <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>,
 92742  // the virtual machine initiates the connection with the concentrator
 92743  // and forwards the <code>`VirtualDeviceURIBackingInfo.direction`</code>
 92744  // and <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 92745  // to the concentrator.
 92746  // For information about using a virtual serial port concentrator,
 92747  // see _Using a Proxy with vSphere Virtual Serial Ports_.
 92748  //
 92749  // ESX hosts support different protocols depending on your virtual serial port configuration.
 92750  //
 92751  //   - If the virtual machine is handling the network connection
 92752  //     directly (no <code>`VirtualDeviceURIBackingInfo.proxyURI`</code> specified),
 92753  //     you can use telnet, TCP, and SSL protocols.
 92754  //     The <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>
 92755  //     must use one of the following URI schemes:
 92756  //
 92757  //   - <code>&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 92758  //     <code>tcp://&lt;host&gt;:&lt;port&gt;</code>.
 92759  //
 92760  //   - <code>tcp://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 92761  //     (IPv4 or IPv6).
 92762  //
 92763  //   - <code>tcp4://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 92764  //     (IPv4 only).
 92765  //
 92766  //   - <code>tcp6://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection
 92767  //     (IPv6 only).
 92768  //
 92769  //   - <code>ssl://&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of
 92770  //     <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code>.
 92771  //
 92772  //   - <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code> - encrypted SSL over TCP.
 92773  //
 92774  //   - <code>tcp4+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv4.
 92775  //
 92776  //   - <code>tcp6+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv6.
 92777  //
 92778  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code> - telnet over TCP.
 92779  //     The virtual machine and remote system can negotiate and use SSL if the remote
 92780  //     system supports the telnet authentication option; if not, the connection
 92781  //     uses unencrypted text (plaintext).
 92782  //
 92783  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 92784  //     In this case, SSL negotiation begins immediately and you cannot use
 92785  //     the telnet authentication option.
 92786  //
 92787  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 92788  //     connection with a remote system using SSL over telnet or telnets.
 92789  //     The connection will fail if the peer does not support the protocols.
 92790  //     You cannot use certificate verification when you specify
 92791  //     <code>tcp</code>, <code>tcp4</code>, or <code>tcp6</code> schemas. For information
 92792  //     about parameter specification, see <a href="#authparam">Authentication Parameters</a>
 92793  //     below.
 92794  //
 92795  //   - If you are using a <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>
 92796  //     to connect to a virtual serial port concentrator, the URI scheme for
 92797  //     the communication between the remote system on the network and the concentrator
 92798  //     depends on the concentrator implementation. The connection between
 92799  //     the concentrator and the virtual serial port must use telnet or secure telnet
 92800  //     (telnets). The proxy URI must use one of the following URI schemes. You cannot
 92801  //     specify a username and password in the proxy URI.
 92802  //
 92803  //   - <code>telnet://&lt;host&gt;:&lt;port&gt;</code>- telnet over TCP.
 92804  //     The virtual machine and remote system can negotiate and use SSL if the remote
 92805  //     system supports the telnet authentication option; if not, the connection
 92806  //     uses unencrypted text (plaintext).
 92807  //
 92808  //   - <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP.
 92809  //     In this case, SSL negotiation starts immediately and you cannot use
 92810  //     the telnet authentication option.
 92811  //
 92812  //     As of vSphere 5.1 you can specify authentication parameters to support an encrypted
 92813  //     connection with a concentrator using SSL over telnet or telnets.
 92814  //     The connection will fail if the concentrator does not support the protocols.
 92815  //     For information about parameter specification,
 92816  //     see <a href="#authparam">Authentication Parameters</a> below.
 92817  //
 92818  // <a name="authparam"></a>
 92819  // **Authentication Parameters**
 92820  //
 92821  // For an encrypted connection, the URI includes a set of authentication
 92822  // parameters. The parameters are specified as key words or key/value pairs.
 92823  // The following syntax description uses <code>telnet</code>; you can also
 92824  // specify authentication parameters for secure telnet (<code>telnets</code>).
 92825  //
 92826  // <code>telnet://&lt;host&gt;:&lt;port&gt;&num;key\[=value\]\[&amp;key\[=value\] ...\]</code>
 92827  //
 92828  // The first parameter must have a number sign (&num;) prefix. Additional parameters
 92829  // must have an ampersand (&amp;) prefix. The following list shows the valid parameters.
 92830  //   - <code>certificate=value</code> - Specifies a certificate in PEM format
 92831  //     against which the peer certificate is compared.
 92832  //     When you specify a certificate, certificate verification is automatically enabled.
 92833  //     See the description of the <code>verify</code> parameter below.
 92834  //   - <code>thumbprint=value</code> - Specifies a certificate thumbprint against
 92835  //     which the peer certificate thumbprint is compared. When you specify a thumbprint,
 92836  //     certificate verification is automatically enabled. See the description of the
 92837  //     <code>verify</code> parameter below.
 92838  //   - <code>peerName=value</code> - Specifies the peer name that will be used
 92839  //     to validate the peer certificate. When you specify a peer name,
 92840  //     certificate verification is automatically enabled. See the description of the
 92841  //     <code>verify</code> parameter below.
 92842  //   - <code>verify</code> - Forces certificate verification. The virtual machine
 92843  //     will verify that the peer certificate subject matches the specified
 92844  //     <code>peerName</code> and that it was signed by a certificate authority
 92845  //     known to the ESXi host. Verification is automatically enabled if you specify a
 92846  //     <code>certificate</code>, <code>thumbprint</code>, or <code>peerName</code>.
 92847  //   - <code>cipherList=value</code> - Specifies a list of SSL ciphers.
 92848  //     See <a href="http://www.openssl.org/docs/apps/ciphers.html">OpenSSL ciphers</a>.
 92849  //     The ciphers are specified as a list separated by colons, spaces, or commas.
 92850  //
 92851  // For information about URI format, see
 92852  // <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>.
 92853  type VirtualSerialPortURIBackingInfo struct {
 92854  	VirtualDeviceURIBackingInfo
 92855  }
 92856  
 92857  func init() {
 92858  	t["VirtualSerialPortURIBackingInfo"] = reflect.TypeOf((*VirtualSerialPortURIBackingInfo)(nil)).Elem()
 92859  }
 92860  
 92861  // The <code>`VirtualSerialPortURIBackingOption`</code> data object type
 92862  // contains the options for using a network socket as backing for a virtual serial port.
 92863  type VirtualSerialPortURIBackingOption struct {
 92864  	VirtualDeviceURIBackingOption
 92865  }
 92866  
 92867  func init() {
 92868  	t["VirtualSerialPortURIBackingOption"] = reflect.TypeOf((*VirtualSerialPortURIBackingOption)(nil)).Elem()
 92869  }
 92870  
 92871  // The VirtualSoundBlaster16 data object type represents a Sound
 92872  // Blaster 16 sound card in a virtual machine.
 92873  type VirtualSoundBlaster16 struct {
 92874  	VirtualSoundCard
 92875  }
 92876  
 92877  func init() {
 92878  	t["VirtualSoundBlaster16"] = reflect.TypeOf((*VirtualSoundBlaster16)(nil)).Elem()
 92879  }
 92880  
 92881  // The VirtualSoundBlaster16Option data object type contains the options for a
 92882  // virtual SoundBlaster 16 sound card.
 92883  type VirtualSoundBlaster16Option struct {
 92884  	VirtualSoundCardOption
 92885  }
 92886  
 92887  func init() {
 92888  	t["VirtualSoundBlaster16Option"] = reflect.TypeOf((*VirtualSoundBlaster16Option)(nil)).Elem()
 92889  }
 92890  
 92891  // This data object type represents a sound card in
 92892  // a virtual machine.
 92893  type VirtualSoundCard struct {
 92894  	VirtualDevice
 92895  }
 92896  
 92897  func init() {
 92898  	t["VirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem()
 92899  }
 92900  
 92901  // The sound card device backing data class.
 92902  type VirtualSoundCardDeviceBackingInfo struct {
 92903  	VirtualDeviceDeviceBackingInfo
 92904  }
 92905  
 92906  func init() {
 92907  	t["VirtualSoundCardDeviceBackingInfo"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingInfo)(nil)).Elem()
 92908  }
 92909  
 92910  // The VirtualSoundCardBackingOption class contains the options
 92911  // for the virtual sound card backing class.
 92912  type VirtualSoundCardDeviceBackingOption struct {
 92913  	VirtualDeviceDeviceBackingOption
 92914  }
 92915  
 92916  func init() {
 92917  	t["VirtualSoundCardDeviceBackingOption"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingOption)(nil)).Elem()
 92918  }
 92919  
 92920  // The VirtualSoundCardOption data class contains the options for the
 92921  // virtual sound card class.
 92922  type VirtualSoundCardOption struct {
 92923  	VirtualDeviceOption
 92924  }
 92925  
 92926  func init() {
 92927  	t["VirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem()
 92928  }
 92929  
 92930  // The `VirtualSriovEthernetCard` data object defines the properties
 92931  // of a SR-IOV enabled Ethernet card attached to a virtual machine.
 92932  type VirtualSriovEthernetCard struct {
 92933  	VirtualEthernetCard
 92934  
 92935  	// Indicates whether MTU can be changed from guest OS.
 92936  	AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange" json:"allowGuestOSMtuChange,omitempty"`
 92937  	// Information about SR-IOV passthrough backing of this VirtualSriovEthernetCard.
 92938  	//
 92939  	// During an edit operation, if this value is unset, no changes to the
 92940  	// SR-IOV backing will be made. During an add operation, if this is unset,
 92941  	// an automatic physical function assignment scheme as described above will be used.
 92942  	// This field is ignored and must be unset if this VirtualSriovEthernetCard
 92943  	// is a DVX device, in which case the dvxBackingInfo field is set. In other
 92944  	// words, sriovBacking and dvxBackingInfo cannot both be set at any time.
 92945  	SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty" json:"sriovBacking,omitempty"`
 92946  	// Information about DVX backing of this VirtualSriovEthernetCard.
 92947  	//
 92948  	// This field is set if and only if this VirtualSriovEthernetCard is a DVX
 92949  	// device.
 92950  	DvxBackingInfo *VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBackingInfo,omitempty" json:"dvxBackingInfo,omitempty" vim:"8.0.0.1"`
 92951  }
 92952  
 92953  func init() {
 92954  	t["VirtualSriovEthernetCard"] = reflect.TypeOf((*VirtualSriovEthernetCard)(nil)).Elem()
 92955  }
 92956  
 92957  // The VirtualSriovEthernetCardOption data object contains the options for the
 92958  // VirtualSriovEthernetCard data object type.
 92959  type VirtualSriovEthernetCardOption struct {
 92960  	VirtualEthernetCardOption
 92961  }
 92962  
 92963  func init() {
 92964  	t["VirtualSriovEthernetCardOption"] = reflect.TypeOf((*VirtualSriovEthernetCardOption)(nil)).Elem()
 92965  }
 92966  
 92967  // The `VirtualSriovEthernetCardSriovBackingInfo`
 92968  // data object contains information about the SR-IOV physical function and
 92969  // virtual function backing for a passthrough NIC.
 92970  type VirtualSriovEthernetCardSriovBackingInfo struct {
 92971  	VirtualDeviceBackingInfo
 92972  
 92973  	// Physical function backing for this device.
 92974  	//
 92975  	// A specific physical function can be assigned to the device by specifying
 92976  	// its id but the VirtualSriovNetworkCard can also be configured for automatic physical
 92977  	// function assignment by providing a special value "Automatic-0000:00:00.0"
 92978  	// as `VirtualPCIPassthroughDeviceBackingInfo.id`. This is supported if there is
 92979  	// an associated SR-IOV network device pool for the network specified in
 92980  	// `VirtualDevice.backing` - in that case a physical function from
 92981  	// the pool, if available, will be assigned to this device during power on.
 92982  	// During reconfigure, if an SR-IOV backing is provided, the physical function backing
 92983  	// may not be left unset.
 92984  	// A value of "Automatic-" followed by a valid physical function id
 92985  	// in `VirtualPCIPassthroughDeviceBackingInfo.id` indicates that assignment
 92986  	// is automatic and the physical function in question is the one that has currently
 92987  	// been assigned.
 92988  	PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty" json:"physicalFunctionBacking,omitempty"`
 92989  	// Virtual function backing for this device.
 92990  	//
 92991  	// During reconfigure, if this is unset, any currently assigned virtual function
 92992  	// will be overwritten and a new one will be selected. If
 92993  	// `VirtualPCIPassthroughDeviceBackingInfo.id` contains a valid id for
 92994  	// a virtual function of the currently assigned physical function, this acts as
 92995  	// a hint and, if possible, the specified virtual function will be the one
 92996  	// allocated for the device.
 92997  	// When a virtual function is yet to be assigned to the device (e.g. if the VM
 92998  	// has not been powered on yet), the virtual function backing will be unset.
 92999  	VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty" json:"virtualFunctionBacking,omitempty"`
 93000  	VirtualFunctionIndex   int32                                   `xml:"virtualFunctionIndex,omitempty" json:"virtualFunctionIndex,omitempty"`
 93001  }
 93002  
 93003  func init() {
 93004  	t["VirtualSriovEthernetCardSriovBackingInfo"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingInfo)(nil)).Elem()
 93005  }
 93006  
 93007  // This data object contains the option for SriovBackingInfo data
 93008  // of the virtual network SR-IOV card object type.
 93009  type VirtualSriovEthernetCardSriovBackingOption struct {
 93010  	VirtualDeviceBackingOption
 93011  }
 93012  
 93013  func init() {
 93014  	t["VirtualSriovEthernetCardSriovBackingOption"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingOption)(nil)).Elem()
 93015  }
 93016  
 93017  // The `VirtualSwitchProfile` data object represents a subprofile
 93018  // for a virtual switch.
 93019  //
 93020  // If a profile plug-in defines policies or subprofiles, use the
 93021  // `ApplyProfile.policy` or `ApplyProfile.property`
 93022  // list to access the additional configuration data.
 93023  type VirtualSwitchProfile struct {
 93024  	ApplyProfile
 93025  
 93026  	// Linkable identifier.
 93027  	Key string `xml:"key" json:"key"`
 93028  	// Name of the standard virtual switch(VSS).
 93029  	Name string `xml:"name" json:"name"`
 93030  	// Links that are connected to the virtual switch.
 93031  	Link LinkProfile `xml:"link" json:"link"`
 93032  	// Number of ports on the virtual switch.
 93033  	NumPorts NumPortsProfile `xml:"numPorts" json:"numPorts"`
 93034  	// Network policy/policies for the virtual switch.
 93035  	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
 93036  }
 93037  
 93038  func init() {
 93039  	t["VirtualSwitchProfile"] = reflect.TypeOf((*VirtualSwitchProfile)(nil)).Elem()
 93040  }
 93041  
 93042  // The `VirtualSwitchSelectionProfile` data object represents
 93043  // the virtual switch that is connected to a port group.
 93044  //
 93045  // The `ApplyProfile.policy` property contains
 93046  // the configuration data values for the virtual switch.
 93047  type VirtualSwitchSelectionProfile struct {
 93048  	ApplyProfile
 93049  }
 93050  
 93051  func init() {
 93052  	t["VirtualSwitchSelectionProfile"] = reflect.TypeOf((*VirtualSwitchSelectionProfile)(nil)).Elem()
 93053  }
 93054  
 93055  // This data object type represents a TPM 2.0 module
 93056  // in a virtual machine.
 93057  type VirtualTPM struct {
 93058  	VirtualDevice
 93059  
 93060  	// Endorsement Key Certificate Signing Request in DER format.
 93061  	//
 93062  	// There may be more than one - one for RSA 2048, one for ECC NIST P256,
 93063  	// and any number of other signing requests for other algorithms.
 93064  	EndorsementKeyCertificateSigningRequest [][]byte `xml:"endorsementKeyCertificateSigningRequest,omitempty" json:"endorsementKeyCertificateSigningRequest,omitempty"`
 93065  	// Endorsement Key Certificate in DER format.
 93066  	//
 93067  	// There may be more than one. Indices in this array do not match
 93068  	// indices in `VirtualTPM.endorsementKeyCertificateSigningRequest` array,
 93069  	// entries must be matched by comparing fields in DER data between
 93070  	// certificate signing requests and certificates.
 93071  	EndorsementKeyCertificate [][]byte `xml:"endorsementKeyCertificate,omitempty" json:"endorsementKeyCertificate,omitempty"`
 93072  }
 93073  
 93074  func init() {
 93075  	t["VirtualTPM"] = reflect.TypeOf((*VirtualTPM)(nil)).Elem()
 93076  }
 93077  
 93078  // This data object type contains the options for the
 93079  // virtual TPM class.
 93080  type VirtualTPMOption struct {
 93081  	VirtualDeviceOption
 93082  
 93083  	// List of supported firmware selections, using
 93084  	// `GuestOsDescriptorFirmwareType_enum` enumeration.
 93085  	//
 93086  	// There is at least one value in this array.
 93087  	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
 93088  }
 93089  
 93090  func init() {
 93091  	t["VirtualTPMOption"] = reflect.TypeOf((*VirtualTPMOption)(nil)).Elem()
 93092  }
 93093  
 93094  // The `VirtualUSB` data object describes the USB device configuration
 93095  // for a virtual machine.
 93096  //
 93097  // You can attach a USB device to an ESX host.
 93098  // The device is available to only one virtual machine at a time. When you remove
 93099  // the device from the virtual machine, it becomes available to other virtual machines
 93100  // located on the host. You can add up to 20 USB devices to a virtual machine.
 93101  // Virtual USB support requires virtual machine hardware version 7 or later.
 93102  //
 93103  // The `VirtualUSB` object represents either a configuration to be applied to
 93104  // the virtual machine or the current device configuration on the virtual machine.
 93105  //
 93106  //   - To configure a USB connection for the virtual machine, add a `VirtualUSB`
 93107  //     object to the `VirtualDeviceConfigSpec`.
 93108  //     Use USB backing (`VirtualUSBUSBBackingInfo`) to establish
 93109  //     a connection with a virtual machine that will remain on the host to which
 93110  //     the USB device is attached.
 93111  //     The vSphere Server does not support vMotion for standard USB backing.
 93112  //     To configure vMotion support for a virtual machine with a USB connection,
 93113  //     use remote host backing for the USB connection
 93114  //     (`VirtualUSBRemoteHostBackingInfo`).
 93115  //
 93116  //     To configure a USB device for a virtual machine, the virtual machine
 93117  //     must have a USB controller. To add a controller, include a
 93118  //     `VirtualUSBController` object in the virtual device
 93119  //     specification for your virtual machine configuration. You can add only one
 93120  //     USB controller to a virtual machine.
 93121  //
 93122  //   - To determine USB device configuration status for the virtual machine,
 93123  //     check the virtual hardware device list
 93124  //     (`VirtualHardware*.*VirtualHardware.device`).
 93125  //     The presence of the `VirtualUSB` object in the hardware device list
 93126  //     indicates that the virtual machine is configured to use a USB device.
 93127  //     The `VirtualUSB.connected` property indicates
 93128  //     whether the virtual machine is connected to the device.
 93129  //
 93130  // To determine the USB options available on the host, use the
 93131  // `EnvironmentBrowser.QueryConfigOption` method to retrieve the virtual
 93132  // machine configuration. The presence of the `VirtualUSBOption`
 93133  // object in the retrieved configuration
 93134  // (`VirtualMachineConfigOption*.*VirtualMachineConfigOption.hardwareOptions*.*VirtualHardwareOption.virtualDeviceOption`)
 93135  // indicates that the host supports USB connections.
 93136  //
 93137  // The following operations will disconnect a USB device, losing data if data transfer
 93138  // is in progress over the USB connection.
 93139  //   - Hot add of memory, CPU, or PCI devices. A hot add operation disconnects only
 93140  //     USB devices for virtual machines that use a local connection to the device
 93141  //     (`VirtualUSBUSBBackingInfo`).
 93142  //   - Suspend and resume on a virtual machine.
 93143  //   - vMotion of a virtual machine with a USB connection,
 93144  //     if you are not using remote host USB backing.
 93145  //
 93146  // The following services do not support USB connections.
 93147  //   - Fault Tolerance virtual machines cannot use USB devices.
 93148  //   - DPM (Distributed Power Management) will put a host into standby,
 93149  //     regardless of any connections to USB devices on the host.
 93150  //   - DRS (Distributed Resource Scheduling) may power-off hosts that have
 93151  //     USB connections to virtual machines.
 93152  type VirtualUSB struct {
 93153  	VirtualDevice
 93154  
 93155  	// Flag indicating whether the device is currently connected.
 93156  	//
 93157  	// The virtual machine is not connected to the device if the autoconnect pattern
 93158  	// specified in the USB device backing
 93159  	// (`VirtualDeviceDeviceBackingInfo*.*VirtualDeviceDeviceBackingInfo.deviceName`)
 93160  	// can not be satisfied, either
 93161  	// because there is no such device, or the matching device is not
 93162  	// available. Valid only while the virtual machine is running.
 93163  	Connected bool `xml:"connected" json:"connected"`
 93164  	// Vendor ID of the USB device.
 93165  	Vendor int32 `xml:"vendor,omitempty" json:"vendor,omitempty"`
 93166  	// Product ID of the USB device.
 93167  	Product int32 `xml:"product,omitempty" json:"product,omitempty"`
 93168  	// Device class families.
 93169  	//
 93170  	// For possible values see
 93171  	// `VirtualMachineUsbInfoFamily_enum`.
 93172  	Family []string `xml:"family,omitempty" json:"family,omitempty"`
 93173  	// Device speeds detected by server.
 93174  	//
 93175  	// For possible values see
 93176  	// `VirtualMachineUsbInfoSpeed_enum`.
 93177  	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
 93178  }
 93179  
 93180  func init() {
 93181  	t["VirtualUSB"] = reflect.TypeOf((*VirtualUSB)(nil)).Elem()
 93182  }
 93183  
 93184  // The `VirtualUSBController` data object describes a virtual USB controller
 93185  // and contains a list of the devices connected to the controller.
 93186  //
 93187  // A virtual machine must have a virtual USB controller before you can add
 93188  // a USB device to the virtual machine configuration. To add a controller,
 93189  // include a `VirtualUSBController` object in the
 93190  // `VirtualDeviceConfigSpec` for your virtual machine configuration.
 93191  // You can add only one controller to a virtual machine.
 93192  // A virtual USB controller supports up to 20 USB device connections on the
 93193  // virtual machine.
 93194  //
 93195  // The ESX Server host must have the USB controller hardware and modules
 93196  // that support USB 2.0 and USB1.1.
 93197  // You can use a maximum of 15 USB controllers on a host. If your system
 93198  // includes an additional number of controllers with connected devices,
 93199  // the additional devices will not be available to virtual machines on the host.
 93200  //
 93201  // You must remove all USB devices from a virtual machine before you can
 93202  // remove the USB controller.
 93203  type VirtualUSBController struct {
 93204  	VirtualController
 93205  
 93206  	// Flag to indicate whether or not the ability to hot plug devices
 93207  	// is enabled on this controller.
 93208  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 93209  	// Flag to indicate whether or not enhanced host controller
 93210  	// interface (USB 2.0) is enabled on this controller.
 93211  	EhciEnabled *bool `xml:"ehciEnabled" json:"ehciEnabled,omitempty"`
 93212  }
 93213  
 93214  func init() {
 93215  	t["VirtualUSBController"] = reflect.TypeOf((*VirtualUSBController)(nil)).Elem()
 93216  }
 93217  
 93218  // The VirtualUSBControllerOption data object type contains the options
 93219  // for a virtual USB Host Controller Interface.
 93220  type VirtualUSBControllerOption struct {
 93221  	VirtualControllerOption
 93222  
 93223  	// Flag to indicate whether or not the ability to autoconnect devices
 93224  	// is enabled for this virtual USB controller.
 93225  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 93226  	// Flag to indicate whether or not enhanced host controller
 93227  	// interface (USB 2.0) is available on this virtual USB controller.
 93228  	EhciSupported BoolOption `xml:"ehciSupported" json:"ehciSupported"`
 93229  	// Range of USB device speeds supported by this USB controller type.
 93230  	//
 93231  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 93232  	SupportedSpeeds []string `xml:"supportedSpeeds,omitempty" json:"supportedSpeeds,omitempty"`
 93233  }
 93234  
 93235  func init() {
 93236  	t["VirtualUSBControllerOption"] = reflect.TypeOf((*VirtualUSBControllerOption)(nil)).Elem()
 93237  }
 93238  
 93239  // The <code>`VirtualUSBControllerPciBusSlotInfo`</code> data object type
 93240  // defines information about the pci bus slots of usb controller device
 93241  // in a virtual machine.
 93242  type VirtualUSBControllerPciBusSlotInfo struct {
 93243  	VirtualDevicePciBusSlotInfo
 93244  
 93245  	// The pci slot number of eHCI controller.
 93246  	//
 93247  	// This property should be used only when the ehciEnabled property
 93248  	// is set to true.
 93249  	EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty" json:"ehciPciSlotNumber,omitempty"`
 93250  }
 93251  
 93252  func init() {
 93253  	t["VirtualUSBControllerPciBusSlotInfo"] = reflect.TypeOf((*VirtualUSBControllerPciBusSlotInfo)(nil)).Elem()
 93254  }
 93255  
 93256  // The `VirtualUSBOption` data object type contains options for
 93257  // USB device configuration on a virtual machine.
 93258  //
 93259  // The vSphere API supports
 93260  // the following options:
 93261  //   - Local host USB connection
 93262  //     (`VirtualUSBUSBBackingOption`)
 93263  //   - Remote host USB connection
 93264  //     (`VirtualUSBRemoteHostBackingOption`)
 93265  //
 93266  // For information about USB device configuration, see `VirtualUSB`.
 93267  type VirtualUSBOption struct {
 93268  	VirtualDeviceOption
 93269  }
 93270  
 93271  func init() {
 93272  	t["VirtualUSBOption"] = reflect.TypeOf((*VirtualUSBOption)(nil)).Elem()
 93273  }
 93274  
 93275  // The virtual remote client USB device backing class.
 93276  type VirtualUSBRemoteClientBackingInfo struct {
 93277  	VirtualDeviceRemoteDeviceBackingInfo
 93278  
 93279  	// Hostname of the remote client where the physical USB device resides.
 93280  	Hostname string `xml:"hostname" json:"hostname"`
 93281  }
 93282  
 93283  func init() {
 93284  	t["VirtualUSBRemoteClientBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingInfo)(nil)).Elem()
 93285  }
 93286  
 93287  // This data object type contains the options for
 93288  // the virtual remote USB client backing data object type.
 93289  type VirtualUSBRemoteClientBackingOption struct {
 93290  	VirtualDeviceRemoteDeviceBackingOption
 93291  }
 93292  
 93293  func init() {
 93294  	t["VirtualUSBRemoteClientBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingOption)(nil)).Elem()
 93295  }
 93296  
 93297  // The `VirtualUSBRemoteHostBackingInfo` data object
 93298  // identifies a host and a USB device that is attached to the host.
 93299  //
 93300  // Use this object to configure support for persistent access to the USB device
 93301  // when vMotion operations migrate a virtual machine to a different host.
 93302  // The vCenter Server will not migrate the virtual machine to a host
 93303  // that does not support the USB remote host backing capability.
 93304  //
 93305  // Specify remote host backing as part of the USB device configuration
 93306  // when you create or reconfigure a virtual machine
 93307  // (`VirtualMachineConfigSpec*.*VirtualMachineConfigSpec.deviceChange*.*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`).
 93308  //
 93309  // To identify the USB device, you specify an autoconnect pattern
 93310  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 93311  // The virtual machine can connect to the USB device if the ESX server
 93312  // can find a USB device described by the autoconnect pattern.
 93313  // The autoconnect pattern consists of name:value pairs. You can
 93314  // use any combination of the following fields.
 93315  //   - path - USB connection path on the host
 93316  //   - pid - idProduct field in the USB device descriptor
 93317  //   - vid - idVendor field in the USB device descriptor
 93318  //   - hostId - unique ID for the host
 93319  //   - speed - device speed (low, full, or high)
 93320  //
 93321  // For example, the following pattern identifies a USB device:
 93322  //
 93323  // &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>
 93324  //
 93325  // This pattern identifies the USB device connected to port 1/3/0 on the
 93326  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 93327  //
 93328  // Special characters for autoconnect pattern values:
 93329  //   - The name and value are separated by a colon (:).
 93330  //   - Name:value pairs are separated by spaces.
 93331  //   - The escape character is a backslash (\\). Use a single backslash to embed
 93332  //     a space in a value. Use a double blackslash to embed a single backslash
 93333  //     in the value.
 93334  type VirtualUSBRemoteHostBackingInfo struct {
 93335  	VirtualDeviceDeviceBackingInfo
 93336  
 93337  	// Name of the ESX host to which the physical USB device is attached
 93338  	// (`HostSystem*.*ManagedEntity.name`).
 93339  	//
 93340  	// When you configure remote host backing, hostname must identify
 93341  	// the local host on which the virtual machine is running.
 93342  	Hostname string `xml:"hostname" json:"hostname"`
 93343  }
 93344  
 93345  func init() {
 93346  	t["VirtualUSBRemoteHostBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingInfo)(nil)).Elem()
 93347  }
 93348  
 93349  // The `VirtualUSBRemoteHostBackingOption` data object
 93350  // contains options for remote host USB configuration.
 93351  //
 93352  // This backing option
 93353  // indicates support for persistent USB connections when vMotion operations
 93354  // migrate virtual machines to different hosts.
 93355  type VirtualUSBRemoteHostBackingOption struct {
 93356  	VirtualDeviceDeviceBackingOption
 93357  }
 93358  
 93359  func init() {
 93360  	t["VirtualUSBRemoteHostBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingOption)(nil)).Elem()
 93361  }
 93362  
 93363  // The `VirtualUSBUSBBackingInfo` data object
 93364  // identifies a USB device on the host where the virtual machine
 93365  // is located.
 93366  //
 93367  // This type of backing supports only a local connection
 93368  // where the virtual machine will remain on the host to which the
 93369  // USB device is attached.
 93370  //
 93371  // To identify the USB device, you specify an autoconnect pattern
 93372  // for the `VirtualDeviceDeviceBackingInfo.deviceName`.
 93373  // The virtual machine can connect to the USB device if the ESX server
 93374  // can find a USB device described by the autoconnect pattern.
 93375  // The autoconnect pattern consists of name:value pairs. You can
 93376  // use any combination of the following fields.
 93377  //   - path - USB connection path on the host
 93378  //   - pid - idProduct field in the USB device descriptor
 93379  //   - vid - idVendor field in the USB device descriptor
 93380  //   - hostId - unique ID for the host
 93381  //   - speed - device speed (low, full, or high)
 93382  //
 93383  // For example, the following pattern identifies a USB device:
 93384  //
 93385  // &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>
 93386  //
 93387  // This pattern identifies the USB device connected to port 1/3/0 on the
 93388  // host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.
 93389  //
 93390  // Special characters for autoconnect pattern values:
 93391  //   - The name and value are separated by a colon (:).
 93392  //   - Name:value pairs are separated by spaces.
 93393  //   - The escape character is a backslash (\\). Use a single backslash to embed
 93394  //     a space in a value. Use a double blackslash to embed a single backslash
 93395  //     in the value.
 93396  type VirtualUSBUSBBackingInfo struct {
 93397  	VirtualDeviceDeviceBackingInfo
 93398  }
 93399  
 93400  func init() {
 93401  	t["VirtualUSBUSBBackingInfo"] = reflect.TypeOf((*VirtualUSBUSBBackingInfo)(nil)).Elem()
 93402  }
 93403  
 93404  // The `VirtualUSBUSBBackingOption` data object
 93405  // contains the options for virtual backing for a USB device.
 93406  //
 93407  // This backing option indicates support for a local connection where
 93408  // the virtual machine will remain on the host to which the USB device
 93409  // is attached.
 93410  type VirtualUSBUSBBackingOption struct {
 93411  	VirtualDeviceDeviceBackingOption
 93412  }
 93413  
 93414  func init() {
 93415  	t["VirtualUSBUSBBackingOption"] = reflect.TypeOf((*VirtualUSBUSBBackingOption)(nil)).Elem()
 93416  }
 93417  
 93418  // The `VirtualUSBXHCIController` data object describes a virtual
 93419  // USB Extensible Host Controller Interface (USB 3.0).
 93420  //
 93421  // For more informatino see `VirtualUSBController`.
 93422  type VirtualUSBXHCIController struct {
 93423  	VirtualController
 93424  
 93425  	// Flag to indicate whether or not the ability to hot plug devices
 93426  	// is enabled on this controller.
 93427  	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
 93428  }
 93429  
 93430  func init() {
 93431  	t["VirtualUSBXHCIController"] = reflect.TypeOf((*VirtualUSBXHCIController)(nil)).Elem()
 93432  }
 93433  
 93434  // The VirtualUSBXHCIControllerOption data object type contains the options
 93435  // for a virtual USB Extensible Host Controller Interface (USB 3.0).
 93436  type VirtualUSBXHCIControllerOption struct {
 93437  	VirtualControllerOption
 93438  
 93439  	// Flag to indicate whether or not the ability to autoconnect devices
 93440  	// is enabled for this virtual USB controller.
 93441  	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
 93442  	// Range of USB device speeds supported by this USB controller type.
 93443  	//
 93444  	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
 93445  	SupportedSpeeds []string `xml:"supportedSpeeds" json:"supportedSpeeds"`
 93446  }
 93447  
 93448  func init() {
 93449  	t["VirtualUSBXHCIControllerOption"] = reflect.TypeOf((*VirtualUSBXHCIControllerOption)(nil)).Elem()
 93450  }
 93451  
 93452  // This data object type contains the options for the
 93453  // `VirtualVMIROM` data object type.
 93454  type VirtualVMIROMOption struct {
 93455  	VirtualDeviceOption
 93456  }
 93457  
 93458  func init() {
 93459  	t["VirtualVMIROMOption"] = reflect.TypeOf((*VirtualVMIROMOption)(nil)).Elem()
 93460  }
 93461  
 93462  // This data object type contains the options for the
 93463  // `VirtualVideoCard` data object type.
 93464  type VirtualVideoCardOption struct {
 93465  	VirtualDeviceOption
 93466  
 93467  	// Minimum, maximum and default size of the video frame buffer.
 93468  	VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
 93469  	// Minimum, maximum and default value for the number of displays.
 93470  	NumDisplays *IntOption `xml:"numDisplays,omitempty" json:"numDisplays,omitempty"`
 93471  	// Flag to indicate whether the display settings of the host should
 93472  	// be used to automatically determine the display settings of the
 93473  	// virtual machine's video card.
 93474  	UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty" json:"useAutoDetect,omitempty"`
 93475  	// Flag to indicate whether the virtual video card supports 3D functions.
 93476  	Support3D *BoolOption `xml:"support3D,omitempty" json:"support3D,omitempty"`
 93477  	// Flag to indicate whether the virtual video card can specify how to render 3D graphics.
 93478  	Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty" json:"use3dRendererSupported,omitempty"`
 93479  	// The minimum, maximum, and default values for graphics memory size.
 93480  	GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty"`
 93481  	// Flag to indicate whether the virtual video card can specify the size
 93482  	// of graphics memory.
 93483  	GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty" json:"graphicsMemorySizeSupported,omitempty"`
 93484  }
 93485  
 93486  func init() {
 93487  	t["VirtualVideoCardOption"] = reflect.TypeOf((*VirtualVideoCardOption)(nil)).Elem()
 93488  }
 93489  
 93490  // The VirtualVmxnet data object type represents an instance
 93491  // of the Vmxnet virtual Ethernet adapter attached to a virtual machine.
 93492  type VirtualVmxnet struct {
 93493  	VirtualEthernetCard
 93494  }
 93495  
 93496  func init() {
 93497  	t["VirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem()
 93498  }
 93499  
 93500  // The VirtualVmxnet2 data object type represents an instance
 93501  // of the Vmxnet2 virtual Ethernet adapter attached to a virtual machine.
 93502  type VirtualVmxnet2 struct {
 93503  	VirtualVmxnet
 93504  }
 93505  
 93506  func init() {
 93507  	t["VirtualVmxnet2"] = reflect.TypeOf((*VirtualVmxnet2)(nil)).Elem()
 93508  }
 93509  
 93510  // The VirtualVmxnet2Option data object type contains the options for the
 93511  // `VirtualVmxnet2` data object type.
 93512  type VirtualVmxnet2Option struct {
 93513  	VirtualVmxnetOption
 93514  }
 93515  
 93516  func init() {
 93517  	t["VirtualVmxnet2Option"] = reflect.TypeOf((*VirtualVmxnet2Option)(nil)).Elem()
 93518  }
 93519  
 93520  // The VirtualVmxnet3 data object type represents an instance
 93521  // of the Vmxnet3 virtual Ethernet adapter attached to a virtual machine.
 93522  type VirtualVmxnet3 struct {
 93523  	VirtualVmxnet
 93524  
 93525  	// Indicates whether UPTv2(Uniform Pass-through version 2) compatibility is
 93526  	// enabled on this network adapter.
 93527  	//
 93528  	// UPTv2 is only available on Vmxnet3
 93529  	// adapter. Clients can set this property enabled or disabled if ethernet
 93530  	// virtual device is Vmxnet3. It requires the VM hardware version is
 93531  	// compatible with ESXi version which has enabled smartnic feature.
 93532  	Uptv2Enabled *bool `xml:"uptv2Enabled" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 93533  }
 93534  
 93535  func init() {
 93536  	t["VirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem()
 93537  }
 93538  
 93539  // The VirtualVmxnet3Option data object type contains the options for the
 93540  // `VirtualVmxnet3` data object type.
 93541  type VirtualVmxnet3Option struct {
 93542  	VirtualVmxnetOption
 93543  
 93544  	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is
 93545  	// settable on this device.
 93546  	Uptv2Enabled *BoolOption `xml:"uptv2Enabled,omitempty" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
 93547  }
 93548  
 93549  func init() {
 93550  	t["VirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem()
 93551  }
 93552  
 93553  // The VirtualVmxnet3Vrdma data object type represents an instance of the
 93554  // VRDMA virtual Remote Direct Memory Access adapter attached to a virtual
 93555  // machine.
 93556  type VirtualVmxnet3Vrdma struct {
 93557  	VirtualVmxnet3
 93558  
 93559  	// VRDMA Device protocol.
 93560  	//
 93561  	// See
 93562  	// `VirtualVmxnet3VrdmaOptionDeviceProtocols_enum` for more information.
 93563  	DeviceProtocol string `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty"`
 93564  }
 93565  
 93566  func init() {
 93567  	t["VirtualVmxnet3Vrdma"] = reflect.TypeOf((*VirtualVmxnet3Vrdma)(nil)).Elem()
 93568  }
 93569  
 93570  // The VirtualVmxnet3VrdmaOption data object type contains the options for the
 93571  // `VirtualVmxnet3Vrdma` data object type.
 93572  type VirtualVmxnet3VrdmaOption struct {
 93573  	VirtualVmxnet3Option
 93574  
 93575  	// The supported device protocols.
 93576  	DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty"`
 93577  }
 93578  
 93579  func init() {
 93580  	t["VirtualVmxnet3VrdmaOption"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOption)(nil)).Elem()
 93581  }
 93582  
 93583  // The VirtualVmxnetOption data object type contains the options for the
 93584  // `VirtualVmxnet` data object type.
 93585  type VirtualVmxnetOption struct {
 93586  	VirtualEthernetCardOption
 93587  }
 93588  
 93589  func init() {
 93590  	t["VirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem()
 93591  }
 93592  
 93593  // This data object type represents a watchdog timer in a virtual machine.
 93594  type VirtualWDT struct {
 93595  	VirtualDevice
 93596  
 93597  	// Flag to indicate if the virtual watchdog timer device should be
 93598  	// initialized as the Enabled/Stopped or Enabled/Running sub-state.
 93599  	//
 93600  	// If not set, the device will default to being initialized as the
 93601  	// Enabled/Stopped sub-state.
 93602  	RunOnBoot bool `xml:"runOnBoot" json:"runOnBoot"`
 93603  	// Flag to indicate if the virtual watchdog timer device is currently
 93604  	// in the Enabled/Running state.
 93605  	//
 93606  	// The guest can cause state changes,
 93607  	// which will result in this flag being either set or cleared.
 93608  	Running bool `xml:"running" json:"running"`
 93609  }
 93610  
 93611  func init() {
 93612  	t["VirtualWDT"] = reflect.TypeOf((*VirtualWDT)(nil)).Elem()
 93613  }
 93614  
 93615  // This data object type contains the options for the
 93616  // virtual watchdog timer class.
 93617  type VirtualWDTOption struct {
 93618  	VirtualDeviceOption
 93619  
 93620  	// Flag to indicate whether or not the "run on boot" option
 93621  	// is settable on this device.
 93622  	RunOnBoot BoolOption `xml:"runOnBoot" json:"runOnBoot"`
 93623  }
 93624  
 93625  func init() {
 93626  	t["VirtualWDTOption"] = reflect.TypeOf((*VirtualWDTOption)(nil)).Elem()
 93627  }
 93628  
 93629  // The `VlanProfile` data object represents
 93630  // the VLAN identifier subprofile.
 93631  //
 93632  // The `ApplyProfile.policy`
 93633  // property contains the configuration data values for the VLAN identifier.
 93634  type VlanProfile struct {
 93635  	ApplyProfile
 93636  }
 93637  
 93638  func init() {
 93639  	t["VlanProfile"] = reflect.TypeOf((*VlanProfile)(nil)).Elem()
 93640  }
 93641  
 93642  // This event records a user successfully acquiring an MKS ticket
 93643  type VmAcquiredMksTicketEvent struct {
 93644  	VmEvent
 93645  }
 93646  
 93647  func init() {
 93648  	t["VmAcquiredMksTicketEvent"] = reflect.TypeOf((*VmAcquiredMksTicketEvent)(nil)).Elem()
 93649  }
 93650  
 93651  // This event records a user successfully acquiring a ticket
 93652  type VmAcquiredTicketEvent struct {
 93653  	VmEvent
 93654  
 93655  	// The type of the ticket @see VirtualMachine.TicketType
 93656  	TicketType string `xml:"ticketType" json:"ticketType"`
 93657  }
 93658  
 93659  func init() {
 93660  	t["VmAcquiredTicketEvent"] = reflect.TypeOf((*VmAcquiredTicketEvent)(nil)).Elem()
 93661  }
 93662  
 93663  // Fault thrown when moving a standalone host between datacenters, and
 93664  // one or more of the virtual machines registered on the host are already
 93665  // registered to hosts in the target datacenter.
 93666  type VmAlreadyExistsInDatacenter struct {
 93667  	InvalidFolder
 93668  
 93669  	// The target host.
 93670  	//
 93671  	// Refers instance of `HostSystem`.
 93672  	Host ManagedObjectReference `xml:"host" json:"host"`
 93673  	// Name of the target host.
 93674  	Hostname string `xml:"hostname" json:"hostname"`
 93675  	// Virtual machines in the target datacenter which have the same
 93676  	// registration information as those belonging to the target host.
 93677  	//
 93678  	// Refers instances of `VirtualMachine`.
 93679  	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
 93680  }
 93681  
 93682  func init() {
 93683  	t["VmAlreadyExistsInDatacenter"] = reflect.TypeOf((*VmAlreadyExistsInDatacenter)(nil)).Elem()
 93684  }
 93685  
 93686  type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter
 93687  
 93688  func init() {
 93689  	t["VmAlreadyExistsInDatacenterFault"] = reflect.TypeOf((*VmAlreadyExistsInDatacenterFault)(nil)).Elem()
 93690  }
 93691  
 93692  // This event records that a virtual machine was automatically renamed
 93693  // because of a name conflict.
 93694  type VmAutoRenameEvent struct {
 93695  	VmEvent
 93696  
 93697  	// The name of the virtual machine before renaming.
 93698  	OldName string `xml:"oldName" json:"oldName"`
 93699  	// The name of the virtual machine after renaming.
 93700  	NewName string `xml:"newName" json:"newName"`
 93701  }
 93702  
 93703  func init() {
 93704  	t["VmAutoRenameEvent"] = reflect.TypeOf((*VmAutoRenameEvent)(nil)).Elem()
 93705  }
 93706  
 93707  // This event records a virtual machine being cloned.
 93708  type VmBeingClonedEvent struct {
 93709  	VmCloneEvent
 93710  
 93711  	// The destination folder to which the virtual machine is being cloned.
 93712  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 93713  	// The name of the destination virtual machine.
 93714  	DestName string `xml:"destName" json:"destName"`
 93715  	// The destination host to which the virtual machine is being cloned.
 93716  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93717  }
 93718  
 93719  func init() {
 93720  	t["VmBeingClonedEvent"] = reflect.TypeOf((*VmBeingClonedEvent)(nil)).Elem()
 93721  }
 93722  
 93723  // This event records a virtual machine being cloned.
 93724  type VmBeingClonedNoFolderEvent struct {
 93725  	VmCloneEvent
 93726  
 93727  	// The name of the destination virtual machine.
 93728  	DestName string `xml:"destName" json:"destName"`
 93729  	// The destination host to which the virtual machine is being cloned.
 93730  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93731  }
 93732  
 93733  func init() {
 93734  	t["VmBeingClonedNoFolderEvent"] = reflect.TypeOf((*VmBeingClonedNoFolderEvent)(nil)).Elem()
 93735  }
 93736  
 93737  // This event records a virtual machine being created.
 93738  type VmBeingCreatedEvent struct {
 93739  	VmEvent
 93740  
 93741  	// The configuration specification that was used to create this virtual machine.
 93742  	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
 93743  }
 93744  
 93745  func init() {
 93746  	t["VmBeingCreatedEvent"] = reflect.TypeOf((*VmBeingCreatedEvent)(nil)).Elem()
 93747  }
 93748  
 93749  // This event records a virtual machine being deployed from a template.
 93750  type VmBeingDeployedEvent struct {
 93751  	VmEvent
 93752  
 93753  	// The template object from which the virtual machine is being deployed.
 93754  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 93755  }
 93756  
 93757  func init() {
 93758  	t["VmBeingDeployedEvent"] = reflect.TypeOf((*VmBeingDeployedEvent)(nil)).Elem()
 93759  }
 93760  
 93761  // This event records that a virtual machine is being hot-migrated.
 93762  type VmBeingHotMigratedEvent struct {
 93763  	VmEvent
 93764  
 93765  	// The destination host to which the virtual machine is to be migrated.
 93766  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93767  	// The destination datacenter to which the virtual machine is being migrated
 93768  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 93769  	// The destination primary datastore to which the virtual machine is being migrated
 93770  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 93771  }
 93772  
 93773  func init() {
 93774  	t["VmBeingHotMigratedEvent"] = reflect.TypeOf((*VmBeingHotMigratedEvent)(nil)).Elem()
 93775  }
 93776  
 93777  // This event records that a virtual machine is being migrated.
 93778  type VmBeingMigratedEvent struct {
 93779  	VmEvent
 93780  
 93781  	// The destination host.
 93782  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93783  	// The destination datacenter
 93784  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 93785  	// The destination primary datastore
 93786  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 93787  }
 93788  
 93789  func init() {
 93790  	t["VmBeingMigratedEvent"] = reflect.TypeOf((*VmBeingMigratedEvent)(nil)).Elem()
 93791  }
 93792  
 93793  // This event records that a virtual machine is being relocated.
 93794  type VmBeingRelocatedEvent struct {
 93795  	VmRelocateSpecEvent
 93796  
 93797  	// The destination host to which the virtual machine is being relocated.
 93798  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93799  	// The destination datacenter to which the virtual machine is being relocated
 93800  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 93801  	// The destination primary datastore to which the virtual machine is being relocated
 93802  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 93803  }
 93804  
 93805  func init() {
 93806  	t["VmBeingRelocatedEvent"] = reflect.TypeOf((*VmBeingRelocatedEvent)(nil)).Elem()
 93807  }
 93808  
 93809  // The is the base event for all clone operations.
 93810  type VmCloneEvent struct {
 93811  	VmEvent
 93812  }
 93813  
 93814  func init() {
 93815  	t["VmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem()
 93816  }
 93817  
 93818  // This event records a failure to clone a virtual machine.
 93819  type VmCloneFailedEvent struct {
 93820  	VmCloneEvent
 93821  
 93822  	// The destination folder to which the virtual machine is being cloned.
 93823  	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
 93824  	// The name of the destination virtual machine.
 93825  	DestName string `xml:"destName" json:"destName"`
 93826  	// The destination host to which the virtual machine was being cloned.
 93827  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 93828  	// The reason why this clone operation failed.
 93829  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 93830  }
 93831  
 93832  func init() {
 93833  	t["VmCloneFailedEvent"] = reflect.TypeOf((*VmCloneFailedEvent)(nil)).Elem()
 93834  }
 93835  
 93836  // This event records the completion of a virtual machine cloning operation.
 93837  type VmClonedEvent struct {
 93838  	VmCloneEvent
 93839  
 93840  	// The source virtual machine for the clone operation.
 93841  	SourceVm VmEventArgument `xml:"sourceVm" json:"sourceVm"`
 93842  }
 93843  
 93844  func init() {
 93845  	t["VmClonedEvent"] = reflect.TypeOf((*VmClonedEvent)(nil)).Elem()
 93846  }
 93847  
 93848  // Base for configuration / environment issues that can be thrown when powering on or
 93849  // changing the configuration of a virtual machine.
 93850  //
 93851  // Subclasses of this fault is also
 93852  // used as recent why a migration can fail.
 93853  type VmConfigFault struct {
 93854  	VimFault
 93855  }
 93856  
 93857  func init() {
 93858  	t["VmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem()
 93859  }
 93860  
 93861  type VmConfigFaultFault BaseVmConfigFault
 93862  
 93863  func init() {
 93864  	t["VmConfigFaultFault"] = reflect.TypeOf((*VmConfigFaultFault)(nil)).Elem()
 93865  }
 93866  
 93867  // The encryption information of a virtual machine configuration.
 93868  type VmConfigFileEncryptionInfo struct {
 93869  	DynamicData
 93870  
 93871  	// The key identifier for an encrypted virtual machine
 93872  	// configuration file.
 93873  	//
 93874  	// If the virtual machine configuration file is encrypted, then
 93875  	// the keyId is set and indicates the identifier that can be
 93876  	// used to lookup the key material. Unset if the virtual machine
 93877  	// configuration file is not encrypted.
 93878  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 93879  }
 93880  
 93881  func init() {
 93882  	t["VmConfigFileEncryptionInfo"] = reflect.TypeOf((*VmConfigFileEncryptionInfo)(nil)).Elem()
 93883  }
 93884  
 93885  // This data object type describes a virtual machine configuration file.
 93886  type VmConfigFileInfo struct {
 93887  	FileInfo
 93888  
 93889  	ConfigVersion int32 `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
 93890  	// The encryption information of the virtual machine
 93891  	// configuration file.
 93892  	//
 93893  	// If encryption was selected in VmConfigFileQueryFlags then this
 93894  	// field is always set. Inspect the VmConfigEncryptionInfo to
 93895  	// determine if the virtual machine configuration file is encrypted.
 93896  	Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty"`
 93897  }
 93898  
 93899  func init() {
 93900  	t["VmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem()
 93901  }
 93902  
 93903  // This data object type describes query specification for the virtual machine
 93904  // configuration file.
 93905  type VmConfigFileQuery struct {
 93906  	FileQuery
 93907  
 93908  	// The filter specification for the virtual machine configuration file query.
 93909  	Filter *VmConfigFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 93910  	// The details specification for the virtual machine configuration file query.
 93911  	Details *VmConfigFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 93912  }
 93913  
 93914  func init() {
 93915  	t["VmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem()
 93916  }
 93917  
 93918  // The filter for the virtual machine configuration file.
 93919  type VmConfigFileQueryFilter struct {
 93920  	DynamicData
 93921  
 93922  	// If this property is set, only the virtual machine configuration files that
 93923  	// match one of the specified configuration versions are selected.
 93924  	//
 93925  	// If no
 93926  	// versions are specified, this search criteria is ignored.
 93927  	MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty" json:"matchConfigVersion,omitempty"`
 93928  	// This optional property can be used to filter virtual
 93929  	// machine configuration files based on whether they are
 93930  	// encrypted or not.
 93931  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty"`
 93932  }
 93933  
 93934  func init() {
 93935  	t["VmConfigFileQueryFilter"] = reflect.TypeOf((*VmConfigFileQueryFilter)(nil)).Elem()
 93936  }
 93937  
 93938  type VmConfigFileQueryFlags struct {
 93939  	DynamicData
 93940  
 93941  	// The flag to indicate whether or not the configuration file version number is
 93942  	// returned.
 93943  	ConfigVersion bool `xml:"configVersion" json:"configVersion"`
 93944  	// The flag to indicate whether the encryption information of the
 93945  	// virtual machine configuration is returned.
 93946  	Encryption *bool `xml:"encryption" json:"encryption,omitempty"`
 93947  }
 93948  
 93949  func init() {
 93950  	t["VmConfigFileQueryFlags"] = reflect.TypeOf((*VmConfigFileQueryFlags)(nil)).Elem()
 93951  }
 93952  
 93953  // Thrown when a virtual machine's existing or requested configuration is
 93954  // incompatible for fault tolerance.
 93955  type VmConfigIncompatibleForFaultTolerance struct {
 93956  	VmConfigFault
 93957  
 93958  	// Fault indicating the specific configuration issue.
 93959  	//
 93960  	// This is typically
 93961  	// a subclass of VirtualHardwareCompatibilityIssue.
 93962  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 93963  }
 93964  
 93965  func init() {
 93966  	t["VmConfigIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmConfigIncompatibleForFaultTolerance)(nil)).Elem()
 93967  }
 93968  
 93969  type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance
 93970  
 93971  func init() {
 93972  	t["VmConfigIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmConfigIncompatibleForFaultToleranceFault)(nil)).Elem()
 93973  }
 93974  
 93975  // Deprecated as of vSphere API 6.0.
 93976  //
 93977  // Thrown when a virtual machine's existing or requested configuration is
 93978  // incompatible for record and replay.
 93979  type VmConfigIncompatibleForRecordReplay struct {
 93980  	VmConfigFault
 93981  
 93982  	// Fault indicating the specific configuration issue.
 93983  	//
 93984  	// This is typically
 93985  	// a subclass of VirtualHardwareCompatibilityIssue.
 93986  	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
 93987  }
 93988  
 93989  func init() {
 93990  	t["VmConfigIncompatibleForRecordReplay"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplay)(nil)).Elem()
 93991  }
 93992  
 93993  type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay
 93994  
 93995  func init() {
 93996  	t["VmConfigIncompatibleForRecordReplayFault"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplayFault)(nil)).Elem()
 93997  }
 93998  
 93999  // VM Configuration.
 94000  type VmConfigInfo struct {
 94001  	DynamicData
 94002  
 94003  	// Information about the package content.
 94004  	Product []VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
 94005  	// List of properties
 94006  	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
 94007  	// IP assignment policy and DHCP support configuration.
 94008  	IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment" json:"ipAssignment"`
 94009  	// End User Liceses Agreements.
 94010  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 94011  	// List of uninterpreted OVF meta-data sections.
 94012  	OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 94013  	// List the transports to use for properties.
 94014  	//
 94015  	// Supported values are: iso and
 94016  	// com.vmware.guestInfo.
 94017  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 94018  	// Specifies whether the VM needs an initial boot before the deployment is complete.
 94019  	//
 94020  	// Not relevant for vApps. This means that the value is always false when reading the
 94021  	// configuration and is ignored when setting the configuration.
 94022  	//
 94023  	// If a vApp requires an install boot (because one of its VMs does), this is visible
 94024  	// on the `VirtualAppSummary.installBootRequired` field of the vApp.
 94025  	InstallBootRequired bool `xml:"installBootRequired" json:"installBootRequired"`
 94026  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 94027  	// boot (used only if installBootRequired is true).
 94028  	//
 94029  	// A value of 0 means wait forever.
 94030  	//
 94031  	// Not relevant for vApps. This means that the value is always false when reading the
 94032  	// configuration and is ignored when setting the configuration.
 94033  	InstallBootStopDelay int32 `xml:"installBootStopDelay" json:"installBootStopDelay"`
 94034  }
 94035  
 94036  func init() {
 94037  	t["VmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem()
 94038  }
 94039  
 94040  // This event records if the configuration file can not be found.
 94041  type VmConfigMissingEvent struct {
 94042  	VmEvent
 94043  }
 94044  
 94045  func init() {
 94046  	t["VmConfigMissingEvent"] = reflect.TypeOf((*VmConfigMissingEvent)(nil)).Elem()
 94047  }
 94048  
 94049  // vApp related configuration of a VM.
 94050  type VmConfigSpec struct {
 94051  	DynamicData
 94052  
 94053  	// Information about the product.
 94054  	//
 94055  	// Reconfigure privilege: VApp.ApplicationConfig
 94056  	Product []VAppProductSpec `xml:"product,omitempty" json:"product,omitempty"`
 94057  	// List of properties.
 94058  	//
 94059  	// Adding and editing properties requires various privileges depending on which fields
 94060  	// are affected. See `VAppPropertyInfo` for details.
 94061  	//
 94062  	// Deleting properties requires the privilege VApp.ApplicationConfig.
 94063  	Property []VAppPropertySpec `xml:"property,omitempty" json:"property,omitempty"`
 94064  	// IP assignment policy and DHCP support configuration.
 94065  	//
 94066  	// Reconfigure privilege: See `VAppIPAssignmentInfo`
 94067  	IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty" json:"ipAssignment,omitempty"`
 94068  	// End User Liceses Agreements.
 94069  	//
 94070  	// If this list is set, it replaces all exiting licenses. An empty list will not
 94071  	// make any changes to installed licenses. A list with a single element {""} will
 94072  	// remove all licenses and leave an empty list.
 94073  	//
 94074  	// Reconfigure privilege: VApp.ApplicationConfig
 94075  	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
 94076  	// List of uninterpreted OVF meta-data sections.
 94077  	//
 94078  	// Reconfigure privilege: VApp.ApplicationConfig
 94079  	OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
 94080  	// List the transports to use for properties.
 94081  	//
 94082  	// Supported values are: iso and
 94083  	// com.vmware.guestInfo.
 94084  	//
 94085  	// If this list is set, it replaces all exiting entries. An empty list will not make
 94086  	// any changes. A list with a single element {""} will clear the list of transports.
 94087  	//
 94088  	// Reconfigure privilege: VApp.ApplicationConfig
 94089  	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
 94090  	// If this is on a VirtualMachine object, it specifies whether the VM needs an
 94091  	// initial boot before the deployment is complete.
 94092  	//
 94093  	// If this is on a vApp object,
 94094  	// it indicates than one or more VMs needs an initial reboot. This flag is
 94095  	// automatically reset once the reboot has happened.
 94096  	//
 94097  	// Reconfigure privilege: VApp.ApplicationConfig
 94098  	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
 94099  	// Specifies the delay in seconds to wait for the VM to power off after the initial
 94100  	// boot (used only if installBootRequired is true).
 94101  	//
 94102  	// A value of 0 means wait forever.
 94103  	//
 94104  	// Reconfigure privilege: VApp.ApplicationConfig
 94105  	InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty" json:"installBootStopDelay,omitempty"`
 94106  }
 94107  
 94108  func init() {
 94109  	t["VmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem()
 94110  }
 94111  
 94112  // This event records that a virtual machine is connected.
 94113  type VmConnectedEvent struct {
 94114  	VmEvent
 94115  }
 94116  
 94117  func init() {
 94118  	t["VmConnectedEvent"] = reflect.TypeOf((*VmConnectedEvent)(nil)).Elem()
 94119  }
 94120  
 94121  // This event records that a virtual machine was successfully created.
 94122  type VmCreatedEvent struct {
 94123  	VmEvent
 94124  }
 94125  
 94126  func init() {
 94127  	t["VmCreatedEvent"] = reflect.TypeOf((*VmCreatedEvent)(nil)).Elem()
 94128  }
 94129  
 94130  // This event records when a virtual machine is reset by
 94131  // HA VM Health Monitoring on hosts that do not support the
 94132  // create screenshot api or if the createscreenshot api fails.
 94133  type VmDasBeingResetEvent struct {
 94134  	VmEvent
 94135  
 94136  	// The reason why this vm is being reset
 94137  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 94138  }
 94139  
 94140  func init() {
 94141  	t["VmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem()
 94142  }
 94143  
 94144  // This event records when a virtual machine is reset by
 94145  // HA VM Health Monitoring on hosts that support the create screenshot api
 94146  type VmDasBeingResetWithScreenshotEvent struct {
 94147  	VmDasBeingResetEvent
 94148  
 94149  	// The datastore path of the screenshot taken before resetting.
 94150  	ScreenshotFilePath string `xml:"screenshotFilePath" json:"screenshotFilePath"`
 94151  }
 94152  
 94153  func init() {
 94154  	t["VmDasBeingResetWithScreenshotEvent"] = reflect.TypeOf((*VmDasBeingResetWithScreenshotEvent)(nil)).Elem()
 94155  }
 94156  
 94157  // This event records when HA VM Health Monitoring fails to reset
 94158  // a virtual machine after failure
 94159  type VmDasResetFailedEvent struct {
 94160  	VmEvent
 94161  }
 94162  
 94163  func init() {
 94164  	t["VmDasResetFailedEvent"] = reflect.TypeOf((*VmDasResetFailedEvent)(nil)).Elem()
 94165  }
 94166  
 94167  // The event records that an error occurred when updating the HA agents
 94168  // with the current state of the virtual machine.
 94169  //
 94170  // If this occurs during a
 94171  // powerOn operation, the virtual machine will not be failed over in the
 94172  // event of a host failure. If it occurs during a powerOff, the virtual
 94173  // machine will be automatically powered on if the host it was last running
 94174  // on crashes.
 94175  type VmDasUpdateErrorEvent struct {
 94176  	VmEvent
 94177  }
 94178  
 94179  func init() {
 94180  	t["VmDasUpdateErrorEvent"] = reflect.TypeOf((*VmDasUpdateErrorEvent)(nil)).Elem()
 94181  }
 94182  
 94183  // This event records that HA agents have been updated with the current
 94184  // state of the virtual machine.
 94185  type VmDasUpdateOkEvent struct {
 94186  	VmEvent
 94187  }
 94188  
 94189  func init() {
 94190  	t["VmDasUpdateOkEvent"] = reflect.TypeOf((*VmDasUpdateOkEvent)(nil)).Elem()
 94191  }
 94192  
 94193  // This event records when the VirtualCenter server date rolled back.
 94194  type VmDateRolledBackEvent struct {
 94195  	VmEvent
 94196  }
 94197  
 94198  func init() {
 94199  	t["VmDateRolledBackEvent"] = reflect.TypeOf((*VmDateRolledBackEvent)(nil)).Elem()
 94200  }
 94201  
 94202  // This event records a failure to deploy from a template.
 94203  type VmDeployFailedEvent struct {
 94204  	VmEvent
 94205  
 94206  	// The destination datastore to which the template was being deployed.
 94207  	DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr" json:"destDatastore"`
 94208  	// The reason for the failure.
 94209  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94210  }
 94211  
 94212  func init() {
 94213  	t["VmDeployFailedEvent"] = reflect.TypeOf((*VmDeployFailedEvent)(nil)).Elem()
 94214  }
 94215  
 94216  // This event records the completion of a virtual machine deployment operation.
 94217  type VmDeployedEvent struct {
 94218  	VmEvent
 94219  
 94220  	// The template object from which the virtual machine has been deployed.
 94221  	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
 94222  }
 94223  
 94224  func init() {
 94225  	t["VmDeployedEvent"] = reflect.TypeOf((*VmDeployedEvent)(nil)).Elem()
 94226  }
 94227  
 94228  // This event records that a virtual machine disconnected.
 94229  type VmDisconnectedEvent struct {
 94230  	VmEvent
 94231  }
 94232  
 94233  func init() {
 94234  	t["VmDisconnectedEvent"] = reflect.TypeOf((*VmDisconnectedEvent)(nil)).Elem()
 94235  }
 94236  
 94237  // This event records a virtual machine discovery.
 94238  type VmDiscoveredEvent struct {
 94239  	VmEvent
 94240  }
 94241  
 94242  func init() {
 94243  	t["VmDiscoveredEvent"] = reflect.TypeOf((*VmDiscoveredEvent)(nil)).Elem()
 94244  }
 94245  
 94246  // This event records a failure to create a virtual disk in a virtual machine.
 94247  type VmDiskFailedEvent struct {
 94248  	VmEvent
 94249  
 94250  	// The name of the virtual disk.
 94251  	Disk string `xml:"disk" json:"disk"`
 94252  	// The reason for the failure.
 94253  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94254  }
 94255  
 94256  func init() {
 94257  	t["VmDiskFailedEvent"] = reflect.TypeOf((*VmDiskFailedEvent)(nil)).Elem()
 94258  }
 94259  
 94260  // The encryption information of a virtual disk.
 94261  type VmDiskFileEncryptionInfo struct {
 94262  	DynamicData
 94263  
 94264  	// The key identifier for an encrypted virtual disk.
 94265  	//
 94266  	// If the virtual disk is encrypted, then the keyId is set and
 94267  	// indicates the identifier that can be used to lookup the key
 94268  	// material. Unset if the virtual disk is not encrypted.
 94269  	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
 94270  }
 94271  
 94272  func init() {
 94273  	t["VmDiskFileEncryptionInfo"] = reflect.TypeOf((*VmDiskFileEncryptionInfo)(nil)).Elem()
 94274  }
 94275  
 94276  // This data object type describes a virtual disk primary file.
 94277  type VmDiskFileInfo struct {
 94278  	FileInfo
 94279  
 94280  	// Disk type of the virtual disk.
 94281  	//
 94282  	// The specified disk type is one of the backing information types for a virtual
 94283  	// disk.
 94284  	//
 94285  	// See also `VirtualDisk`.
 94286  	DiskType string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 94287  	// The capacity of a virtual disk from the point of view of a virtual machine.
 94288  	CapacityKb int64 `xml:"capacityKb,omitempty" json:"capacityKb,omitempty"`
 94289  	// The hardware version of the virtual disk file.
 94290  	HardwareVersion int32 `xml:"hardwareVersion,omitempty" json:"hardwareVersion,omitempty"`
 94291  	// Deprecated as of vSphere API 5.0, this property is no longer
 94292  	// relevant and should not be used.
 94293  	// With the current state of emulation, we don't care about the
 94294  	// adapter type a disk is connected to, as disks may be shuffled
 94295  	// around. For example, a disk may be unplugged from a buslogic
 94296  	// controller and plugged into an lsilogic controller.
 94297  	//
 94298  	// The controller type suitable for this virtual disk.
 94299  	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 94300  	// The extents of this virtual disk specified in absolute DS paths
 94301  	DiskExtents []string `xml:"diskExtents,omitempty" json:"diskExtents,omitempty"`
 94302  	// Indicates if the disk is thin-provisioned
 94303  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 94304  	// The encryption information of the virtual disk.
 94305  	//
 94306  	// If encryption was selected in VmDiskFileQueryFlags then this
 94307  	// field is always set. Inspect the VmDiskEncryptionInfo to
 94308  	// determine if the virtual disk is encrypted.
 94309  	Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty"`
 94310  }
 94311  
 94312  func init() {
 94313  	t["VmDiskFileInfo"] = reflect.TypeOf((*VmDiskFileInfo)(nil)).Elem()
 94314  }
 94315  
 94316  // This data object type describes the query specification for the virtual disk
 94317  // primary file.
 94318  type VmDiskFileQuery struct {
 94319  	FileQuery
 94320  
 94321  	// The filter specification for the virtual disk primary file query.
 94322  	Filter *VmDiskFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
 94323  	// Details specification for the virtual disk primary file query.
 94324  	Details *VmDiskFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
 94325  }
 94326  
 94327  func init() {
 94328  	t["VmDiskFileQuery"] = reflect.TypeOf((*VmDiskFileQuery)(nil)).Elem()
 94329  }
 94330  
 94331  // The filter for the virtual disk primary file.
 94332  type VmDiskFileQueryFilter struct {
 94333  	DynamicData
 94334  
 94335  	// If this optional property is set, only the virtual disk primary files that
 94336  	// match one of the specified disk types are selected.
 94337  	//
 94338  	// If no disk types are
 94339  	// specified, this search criteria is ignored.
 94340  	//
 94341  	// The specified disk type is one of the backing information types for a
 94342  	// virtual disk.
 94343  	//
 94344  	// See also `VirtualDisk`.
 94345  	DiskType []string `xml:"diskType,omitempty" json:"diskType,omitempty"`
 94346  	// If this optional property is set, only virtual disk primary files that match
 94347  	// one of the specified hardware versions are selected.
 94348  	//
 94349  	// If no versions are
 94350  	// specified, this search criteria is ignored.
 94351  	MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty" json:"matchHardwareVersion,omitempty"`
 94352  	// Deprecated as of vSphere API 5.0, this property is no longer
 94353  	// relevant and should not be used.
 94354  	// With the current state of emulation, we don't care about the
 94355  	// adapter type a disk is connected to, as disks may be shuffled
 94356  	// around. For example, a disk may be unplugged from a buslogic
 94357  	// controller and plugged into an lsilogic controller.
 94358  	//
 94359  	// If this optional property is set, only virtual disk files that have a
 94360  	// controller type that matches one of the controller types specified
 94361  	// are returned.
 94362  	//
 94363  	// If no controller types are specified, this search criteria
 94364  	// is ignored.
 94365  	//
 94366  	// The specified controller type is one of the controller types for a
 94367  	// virtual disk.
 94368  	//
 94369  	// See also `VirtualIDEController`, `VirtualSCSIController`.
 94370  	ControllerType []string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
 94371  	// This optional property can be used to filter disks based on whether
 94372  	// they are thin-provsioned or not: if set to true, only thin-provisioned
 94373  	// disks are returned, and vice-versa.
 94374  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 94375  	// This optional property can be used to filter disks based on
 94376  	// whether they are encrypted or not.
 94377  	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty"`
 94378  }
 94379  
 94380  func init() {
 94381  	t["VmDiskFileQueryFilter"] = reflect.TypeOf((*VmDiskFileQueryFilter)(nil)).Elem()
 94382  }
 94383  
 94384  // Details for the virtual disk primary file.
 94385  type VmDiskFileQueryFlags struct {
 94386  	DynamicData
 94387  
 94388  	// The flag to indicate whether the type of the physical disk backing
 94389  	// the virtual disk is returned.
 94390  	DiskType bool `xml:"diskType" json:"diskType"`
 94391  	// The flag to indicate whether the capacity of the virtual disk from
 94392  	// the point of view of a virtual machine is returned.
 94393  	CapacityKb bool `xml:"capacityKb" json:"capacityKb"`
 94394  	// The flag to indicate whether the hardware version of the virtual disk
 94395  	// file is returned.
 94396  	HardwareVersion bool `xml:"hardwareVersion" json:"hardwareVersion"`
 94397  	// Deprecated as of vSphere API 5.0, this property is no longer
 94398  	// relevant and should not be used.
 94399  	// With the current state of emulation, we don't care about the
 94400  	// adapter type a disk is connected to, as disks may be shuffled
 94401  	// around. For example, a disk may be unplugged from a buslogic
 94402  	// controller and plugged into an lsilogic controller.
 94403  	//
 94404  	// The flag to indicate whether or not the controller type of the virtual disk
 94405  	// file is returned.
 94406  	ControllerType *bool `xml:"controllerType" json:"controllerType,omitempty"`
 94407  	// The flag to indicate whether or not the disk extents of the virtual disk
 94408  	// are returned.
 94409  	DiskExtents *bool `xml:"diskExtents" json:"diskExtents,omitempty"`
 94410  	// The flag to indicate whether the thin-ness of the disk is returned.
 94411  	Thin *bool `xml:"thin" json:"thin,omitempty"`
 94412  	// The flag to indicate whether the encryption information of the
 94413  	// virtual disk is returned.
 94414  	Encryption *bool `xml:"encryption" json:"encryption,omitempty"`
 94415  }
 94416  
 94417  func init() {
 94418  	t["VmDiskFileQueryFlags"] = reflect.TypeOf((*VmDiskFileQueryFlags)(nil)).Elem()
 94419  }
 94420  
 94421  // This event records a virtual machine emigration.
 94422  type VmEmigratingEvent struct {
 94423  	VmEvent
 94424  }
 94425  
 94426  func init() {
 94427  	t["VmEmigratingEvent"] = reflect.TypeOf((*VmEmigratingEvent)(nil)).Elem()
 94428  }
 94429  
 94430  // Deprecated as of vSphere API 6.0.
 94431  //
 94432  // This event indicates the end of a recording session on a virtual machine.
 94433  type VmEndRecordingEvent struct {
 94434  	VmEvent
 94435  }
 94436  
 94437  func init() {
 94438  	t["VmEndRecordingEvent"] = reflect.TypeOf((*VmEndRecordingEvent)(nil)).Elem()
 94439  }
 94440  
 94441  // Deprecated as of vSphere API 6.0.
 94442  //
 94443  // This event indicates the end of a replay session on a virtual machine.
 94444  type VmEndReplayingEvent struct {
 94445  	VmEvent
 94446  }
 94447  
 94448  func init() {
 94449  	t["VmEndReplayingEvent"] = reflect.TypeOf((*VmEndReplayingEvent)(nil)).Elem()
 94450  }
 94451  
 94452  // These are virtual machine events.
 94453  type VmEvent struct {
 94454  	Event
 94455  
 94456  	// Indicates whether or not the virtual machine is marked as a template.
 94457  	Template bool `xml:"template" json:"template"`
 94458  }
 94459  
 94460  func init() {
 94461  	t["VmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem()
 94462  }
 94463  
 94464  // The event argument is a VirtualMachine object.
 94465  type VmEventArgument struct {
 94466  	EntityEventArgument
 94467  
 94468  	// The VirtualMachine object.
 94469  	//
 94470  	// Refers instance of `VirtualMachine`.
 94471  	Vm ManagedObjectReference `xml:"vm" json:"vm"`
 94472  }
 94473  
 94474  func init() {
 94475  	t["VmEventArgument"] = reflect.TypeOf((*VmEventArgument)(nil)).Elem()
 94476  }
 94477  
 94478  // This event records a failure to migrate a virtual machine.
 94479  type VmFailedMigrateEvent struct {
 94480  	VmEvent
 94481  
 94482  	// The destination host.
 94483  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 94484  	// The reason for the failure.
 94485  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94486  	// The destination datacenter
 94487  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 94488  	// The destination primary datastore
 94489  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 94490  }
 94491  
 94492  func init() {
 94493  	t["VmFailedMigrateEvent"] = reflect.TypeOf((*VmFailedMigrateEvent)(nil)).Elem()
 94494  }
 94495  
 94496  // This event records a specific failure to relay out a virtual machine,
 94497  // such as a failure to access the disk.
 94498  type VmFailedRelayoutEvent struct {
 94499  	VmEvent
 94500  
 94501  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94502  }
 94503  
 94504  func init() {
 94505  	t["VmFailedRelayoutEvent"] = reflect.TypeOf((*VmFailedRelayoutEvent)(nil)).Elem()
 94506  }
 94507  
 94508  // This event records a failure to relay out a virtual machine
 94509  // when the virtual machine still has disks on a VMFS2 volume.
 94510  type VmFailedRelayoutOnVmfs2DatastoreEvent struct {
 94511  	VmEvent
 94512  }
 94513  
 94514  func init() {
 94515  	t["VmFailedRelayoutOnVmfs2DatastoreEvent"] = reflect.TypeOf((*VmFailedRelayoutOnVmfs2DatastoreEvent)(nil)).Elem()
 94516  }
 94517  
 94518  // This event records vmotion failure when starting a secondary VM.
 94519  type VmFailedStartingSecondaryEvent struct {
 94520  	VmEvent
 94521  
 94522  	// The reason for the failure.
 94523  	//
 94524  	// See `VmFailedStartingSecondaryEventFailureReason_enum`
 94525  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 94526  }
 94527  
 94528  func init() {
 94529  	t["VmFailedStartingSecondaryEvent"] = reflect.TypeOf((*VmFailedStartingSecondaryEvent)(nil)).Elem()
 94530  }
 94531  
 94532  // This event records a failure to power off a virtual machine.
 94533  type VmFailedToPowerOffEvent struct {
 94534  	VmEvent
 94535  
 94536  	// The reason for the failure.
 94537  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94538  }
 94539  
 94540  func init() {
 94541  	t["VmFailedToPowerOffEvent"] = reflect.TypeOf((*VmFailedToPowerOffEvent)(nil)).Elem()
 94542  }
 94543  
 94544  // This event records a failure to power on a virtual machine.
 94545  type VmFailedToPowerOnEvent struct {
 94546  	VmEvent
 94547  
 94548  	// The reason for the failure.
 94549  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94550  }
 94551  
 94552  func init() {
 94553  	t["VmFailedToPowerOnEvent"] = reflect.TypeOf((*VmFailedToPowerOnEvent)(nil)).Elem()
 94554  }
 94555  
 94556  // This event records a failure to reboot the guest on a virtual machine.
 94557  type VmFailedToRebootGuestEvent struct {
 94558  	VmEvent
 94559  
 94560  	// The reason for the failure.
 94561  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94562  }
 94563  
 94564  func init() {
 94565  	t["VmFailedToRebootGuestEvent"] = reflect.TypeOf((*VmFailedToRebootGuestEvent)(nil)).Elem()
 94566  }
 94567  
 94568  // This event records a failure to reset a virtual machine.
 94569  type VmFailedToResetEvent struct {
 94570  	VmEvent
 94571  
 94572  	// The reason for the failure.
 94573  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94574  }
 94575  
 94576  func init() {
 94577  	t["VmFailedToResetEvent"] = reflect.TypeOf((*VmFailedToResetEvent)(nil)).Elem()
 94578  }
 94579  
 94580  // This event records a failure to shut down the guest on a virtual machine.
 94581  type VmFailedToShutdownGuestEvent struct {
 94582  	VmEvent
 94583  
 94584  	// The reason for the failure.
 94585  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94586  }
 94587  
 94588  func init() {
 94589  	t["VmFailedToShutdownGuestEvent"] = reflect.TypeOf((*VmFailedToShutdownGuestEvent)(nil)).Elem()
 94590  }
 94591  
 94592  // This event records a failure to set the guest on a virtual machine to a standby
 94593  // state.
 94594  type VmFailedToStandbyGuestEvent struct {
 94595  	VmEvent
 94596  
 94597  	// The reason for the failure.
 94598  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94599  }
 94600  
 94601  func init() {
 94602  	t["VmFailedToStandbyGuestEvent"] = reflect.TypeOf((*VmFailedToStandbyGuestEvent)(nil)).Elem()
 94603  }
 94604  
 94605  // This event records a failure to suspend a virtual machine.
 94606  type VmFailedToSuspendEvent struct {
 94607  	VmEvent
 94608  
 94609  	// The reason for the failure.
 94610  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 94611  }
 94612  
 94613  func init() {
 94614  	t["VmFailedToSuspendEvent"] = reflect.TypeOf((*VmFailedToSuspendEvent)(nil)).Elem()
 94615  }
 94616  
 94617  // This event records after a failover the new new primary failed to
 94618  // update the config of the secondary vm.
 94619  type VmFailedUpdatingSecondaryConfig struct {
 94620  	VmEvent
 94621  }
 94622  
 94623  func init() {
 94624  	t["VmFailedUpdatingSecondaryConfig"] = reflect.TypeOf((*VmFailedUpdatingSecondaryConfig)(nil)).Elem()
 94625  }
 94626  
 94627  // This event records when a virtual machine failover was unsuccessful.
 94628  type VmFailoverFailed struct {
 94629  	VmEvent
 94630  
 94631  	// The reason for the failure
 94632  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 94633  }
 94634  
 94635  func init() {
 94636  	t["VmFailoverFailed"] = reflect.TypeOf((*VmFailoverFailed)(nil)).Elem()
 94637  }
 94638  
 94639  // Configuration issues that can occur during operations
 94640  // related to fault tolerance protection for virtual machines.
 94641  type VmFaultToleranceConfigIssue struct {
 94642  	VmFaultToleranceIssue
 94643  
 94644  	// The reason for the failure.
 94645  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 94646  	// The entity name.
 94647  	//
 94648  	// Depending on the issue, it could
 94649  	// be virtual machine or host.
 94650  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 94651  	// The entity
 94652  	//
 94653  	// Refers instance of `ManagedEntity`.
 94654  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 94655  }
 94656  
 94657  func init() {
 94658  	t["VmFaultToleranceConfigIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssue)(nil)).Elem()
 94659  }
 94660  
 94661  type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue
 94662  
 94663  func init() {
 94664  	t["VmFaultToleranceConfigIssueFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueFault)(nil)).Elem()
 94665  }
 94666  
 94667  // Configuration issues that can occur during operations
 94668  // related to fault tolerance protection for virtual machines.
 94669  type VmFaultToleranceConfigIssueWrapper struct {
 94670  	VmFaultToleranceIssue
 94671  
 94672  	// The entity name.
 94673  	//
 94674  	// Depending on the issue, it could
 94675  	// be virtual machine or host.
 94676  	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
 94677  	// The entity
 94678  	//
 94679  	// Refers instance of `ManagedEntity`.
 94680  	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
 94681  	// The nested error when the reason field is other
 94682  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 94683  }
 94684  
 94685  func init() {
 94686  	t["VmFaultToleranceConfigIssueWrapper"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapper)(nil)).Elem()
 94687  }
 94688  
 94689  type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper
 94690  
 94691  func init() {
 94692  	t["VmFaultToleranceConfigIssueWrapperFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapperFault)(nil)).Elem()
 94693  }
 94694  
 94695  // Indicates the file backing for some device prevents fault tolerance
 94696  // protection
 94697  type VmFaultToleranceInvalidFileBacking struct {
 94698  	VmFaultToleranceIssue
 94699  
 94700  	// The device type of the file backing
 94701  	BackingType     string `xml:"backingType,omitempty" json:"backingType,omitempty"`
 94702  	BackingFilename string `xml:"backingFilename,omitempty" json:"backingFilename,omitempty"`
 94703  }
 94704  
 94705  func init() {
 94706  	t["VmFaultToleranceInvalidFileBacking"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBacking)(nil)).Elem()
 94707  }
 94708  
 94709  type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking
 94710  
 94711  func init() {
 94712  	t["VmFaultToleranceInvalidFileBackingFault"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingFault)(nil)).Elem()
 94713  }
 94714  
 94715  // Base object type for issues that can occur during operations
 94716  // related to fault tolerance protection for virtual machines.
 94717  type VmFaultToleranceIssue struct {
 94718  	VimFault
 94719  }
 94720  
 94721  func init() {
 94722  	t["VmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem()
 94723  }
 94724  
 94725  type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue
 94726  
 94727  func init() {
 94728  	t["VmFaultToleranceIssueFault"] = reflect.TypeOf((*VmFaultToleranceIssueFault)(nil)).Elem()
 94729  }
 94730  
 94731  // Container for a list of configuration issues that can occur during
 94732  // operations related to fault tolerance protection for virtual machines.
 94733  type VmFaultToleranceOpIssuesList struct {
 94734  	VmFaultToleranceIssue
 94735  
 94736  	// A list of faults representing errors
 94737  	Errors   []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
 94738  	Warnings []LocalizedMethodFault `xml:"warnings,omitempty" json:"warnings,omitempty"`
 94739  }
 94740  
 94741  func init() {
 94742  	t["VmFaultToleranceOpIssuesList"] = reflect.TypeOf((*VmFaultToleranceOpIssuesList)(nil)).Elem()
 94743  }
 94744  
 94745  type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList
 94746  
 94747  func init() {
 94748  	t["VmFaultToleranceOpIssuesListFault"] = reflect.TypeOf((*VmFaultToleranceOpIssuesListFault)(nil)).Elem()
 94749  }
 94750  
 94751  // This event records a fault tolerance state change.
 94752  //
 94753  // A default alarm will be triggered upon this event, which would
 94754  // change the vm state:
 94755  // the vm state is red if the newState is needSecondary;
 94756  // the vm state is yellow if the newState is disabled;
 94757  // the vm state is green if the newState is notConfigured, starting,
 94758  // enabled or running
 94759  type VmFaultToleranceStateChangedEvent struct {
 94760  	VmEvent
 94761  
 94762  	// The old fault toleeance state.
 94763  	OldState VirtualMachineFaultToleranceState `xml:"oldState" json:"oldState"`
 94764  	// The new fault tolerance state.
 94765  	NewState VirtualMachineFaultToleranceState `xml:"newState" json:"newState"`
 94766  }
 94767  
 94768  func init() {
 94769  	t["VmFaultToleranceStateChangedEvent"] = reflect.TypeOf((*VmFaultToleranceStateChangedEvent)(nil)).Elem()
 94770  }
 94771  
 94772  // This fault is returned when a host has more than the recommended number of
 94773  // Fault Tolerance vCPUs running on it.
 94774  type VmFaultToleranceTooManyFtVcpusOnHost struct {
 94775  	InsufficientResourcesFault
 94776  
 94777  	// The name of the host
 94778  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 94779  	// The recommended number of FT protected vCPUs on a host.
 94780  	MaxNumFtVcpus int32 `xml:"maxNumFtVcpus" json:"maxNumFtVcpus"`
 94781  }
 94782  
 94783  func init() {
 94784  	t["VmFaultToleranceTooManyFtVcpusOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHost)(nil)).Elem()
 94785  }
 94786  
 94787  type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost
 94788  
 94789  func init() {
 94790  	t["VmFaultToleranceTooManyFtVcpusOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHostFault)(nil)).Elem()
 94791  }
 94792  
 94793  // This fault is returned when a host has more than the recommended number of
 94794  // Fault Tolerance VMs running on it.
 94795  type VmFaultToleranceTooManyVMsOnHost struct {
 94796  	InsufficientResourcesFault
 94797  
 94798  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 94799  	// The recommended number of Fault Tolerance VMs running on the host.
 94800  	MaxNumFtVms int32 `xml:"maxNumFtVms" json:"maxNumFtVms"`
 94801  }
 94802  
 94803  func init() {
 94804  	t["VmFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 94805  }
 94806  
 94807  type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost
 94808  
 94809  func init() {
 94810  	t["VmFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 94811  }
 94812  
 94813  // This event records that all secondary virtual machines have
 94814  // been removed and fault tolerance protection turned off for
 94815  // this virtual machine.
 94816  type VmFaultToleranceTurnedOffEvent struct {
 94817  	VmEvent
 94818  }
 94819  
 94820  func init() {
 94821  	t["VmFaultToleranceTurnedOffEvent"] = reflect.TypeOf((*VmFaultToleranceTurnedOffEvent)(nil)).Elem()
 94822  }
 94823  
 94824  // This event records a secondary or primary VM is terminated.
 94825  //
 94826  // The reason could be : divergence, lost connection to secondary, partial
 94827  // hardware failure of secondary, or by user.
 94828  type VmFaultToleranceVmTerminatedEvent struct {
 94829  	VmEvent
 94830  
 94831  	// The reason for the failure.
 94832  	//
 94833  	// see `VirtualMachineNeedSecondaryReason_enum`
 94834  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 94835  }
 94836  
 94837  func init() {
 94838  	t["VmFaultToleranceVmTerminatedEvent"] = reflect.TypeOf((*VmFaultToleranceVmTerminatedEvent)(nil)).Elem()
 94839  }
 94840  
 94841  // This event notifies that a guest OS has crashed
 94842  type VmGuestOSCrashedEvent struct {
 94843  	VmEvent
 94844  }
 94845  
 94846  func init() {
 94847  	t["VmGuestOSCrashedEvent"] = reflect.TypeOf((*VmGuestOSCrashedEvent)(nil)).Elem()
 94848  }
 94849  
 94850  // This is a virtual machine guest reboot request event.
 94851  type VmGuestRebootEvent struct {
 94852  	VmEvent
 94853  }
 94854  
 94855  func init() {
 94856  	t["VmGuestRebootEvent"] = reflect.TypeOf((*VmGuestRebootEvent)(nil)).Elem()
 94857  }
 94858  
 94859  // This is a virtual machine guest shutdown request event.
 94860  type VmGuestShutdownEvent struct {
 94861  	VmEvent
 94862  }
 94863  
 94864  func init() {
 94865  	t["VmGuestShutdownEvent"] = reflect.TypeOf((*VmGuestShutdownEvent)(nil)).Elem()
 94866  }
 94867  
 94868  // This is a virtual machine guest standby request event.
 94869  type VmGuestStandbyEvent struct {
 94870  	VmEvent
 94871  }
 94872  
 94873  func init() {
 94874  	t["VmGuestStandbyEvent"] = reflect.TypeOf((*VmGuestStandbyEvent)(nil)).Elem()
 94875  }
 94876  
 94877  // This event records when host monitoring state has changed.
 94878  type VmHealthMonitoringStateChangedEvent struct {
 94879  	ClusterEvent
 94880  
 94881  	// The service state in
 94882  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 94883  	State string `xml:"state" json:"state"`
 94884  	// The previous service state in
 94885  	// `ClusterDasConfigInfoVmMonitoringState_enum`
 94886  	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty"`
 94887  }
 94888  
 94889  func init() {
 94890  	t["VmHealthMonitoringStateChangedEvent"] = reflect.TypeOf((*VmHealthMonitoringStateChangedEvent)(nil)).Elem()
 94891  }
 94892  
 94893  // The virtual machine if powered on or VMotioned, would violate a VM-Host affinity rule.
 94894  type VmHostAffinityRuleViolation struct {
 94895  	VmConfigFault
 94896  
 94897  	// The vm that can not be powered on or VMotioned without violating a rule.
 94898  	VmName string `xml:"vmName" json:"vmName"`
 94899  	// The host that the virtual machine can not be powered on without violating a rule.
 94900  	HostName string `xml:"hostName" json:"hostName"`
 94901  }
 94902  
 94903  func init() {
 94904  	t["VmHostAffinityRuleViolation"] = reflect.TypeOf((*VmHostAffinityRuleViolation)(nil)).Elem()
 94905  }
 94906  
 94907  type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation
 94908  
 94909  func init() {
 94910  	t["VmHostAffinityRuleViolationFault"] = reflect.TypeOf((*VmHostAffinityRuleViolationFault)(nil)).Elem()
 94911  }
 94912  
 94913  // This event records the assignment of a new instance UUID
 94914  // to a virtual machine.
 94915  type VmInstanceUuidAssignedEvent struct {
 94916  	VmEvent
 94917  
 94918  	// The new instance UUID.
 94919  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 94920  }
 94921  
 94922  func init() {
 94923  	t["VmInstanceUuidAssignedEvent"] = reflect.TypeOf((*VmInstanceUuidAssignedEvent)(nil)).Elem()
 94924  }
 94925  
 94926  // This event records a change in a virtual machine's instance UUID.
 94927  type VmInstanceUuidChangedEvent struct {
 94928  	VmEvent
 94929  
 94930  	// The old instance UUID.
 94931  	OldInstanceUuid string `xml:"oldInstanceUuid" json:"oldInstanceUuid"`
 94932  	// The new instance UUID.
 94933  	NewInstanceUuid string `xml:"newInstanceUuid" json:"newInstanceUuid"`
 94934  }
 94935  
 94936  func init() {
 94937  	t["VmInstanceUuidChangedEvent"] = reflect.TypeOf((*VmInstanceUuidChangedEvent)(nil)).Elem()
 94938  }
 94939  
 94940  // This event records a conflict of virtual machine instance UUIDs.
 94941  type VmInstanceUuidConflictEvent struct {
 94942  	VmEvent
 94943  
 94944  	// The virtual machine whose instance UUID conflicts with the
 94945  	// current virtual machine's instance UUID.
 94946  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 94947  	// The instance UUID in conflict.
 94948  	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
 94949  }
 94950  
 94951  func init() {
 94952  	t["VmInstanceUuidConflictEvent"] = reflect.TypeOf((*VmInstanceUuidConflictEvent)(nil)).Elem()
 94953  }
 94954  
 94955  // A VmLimitLicense fault is thrown if powering on the virtual
 94956  // machine would exceed the maximum number of running virtual
 94957  // machines allowed.
 94958  type VmLimitLicense struct {
 94959  	NotEnoughLicenses
 94960  
 94961  	// The maximum number of running virtual machines
 94962  	// limit.
 94963  	Limit int32 `xml:"limit" json:"limit"`
 94964  }
 94965  
 94966  func init() {
 94967  	t["VmLimitLicense"] = reflect.TypeOf((*VmLimitLicense)(nil)).Elem()
 94968  }
 94969  
 94970  type VmLimitLicenseFault VmLimitLicense
 94971  
 94972  func init() {
 94973  	t["VmLimitLicenseFault"] = reflect.TypeOf((*VmLimitLicenseFault)(nil)).Elem()
 94974  }
 94975  
 94976  // This data object type describes a file that is logging output for a virtual
 94977  // machine.
 94978  type VmLogFileInfo struct {
 94979  	FileInfo
 94980  }
 94981  
 94982  func init() {
 94983  	t["VmLogFileInfo"] = reflect.TypeOf((*VmLogFileInfo)(nil)).Elem()
 94984  }
 94985  
 94986  // This data object type describes the query specification for a virtual machine log
 94987  // file file.
 94988  type VmLogFileQuery struct {
 94989  	FileQuery
 94990  }
 94991  
 94992  func init() {
 94993  	t["VmLogFileQuery"] = reflect.TypeOf((*VmLogFileQuery)(nil)).Elem()
 94994  }
 94995  
 94996  // This event records the assignment of a new MAC address
 94997  // to a virtual network adapter.
 94998  type VmMacAssignedEvent struct {
 94999  	VmEvent
 95000  
 95001  	// The name of the virtual adapter.
 95002  	Adapter string `xml:"adapter" json:"adapter"`
 95003  	// The new MAC address.
 95004  	Mac string `xml:"mac" json:"mac"`
 95005  }
 95006  
 95007  func init() {
 95008  	t["VmMacAssignedEvent"] = reflect.TypeOf((*VmMacAssignedEvent)(nil)).Elem()
 95009  }
 95010  
 95011  // This event records a change in a virtual machine's MAC address.
 95012  type VmMacChangedEvent struct {
 95013  	VmEvent
 95014  
 95015  	// The name of the virtual network adapter.
 95016  	Adapter string `xml:"adapter" json:"adapter"`
 95017  	// The old MAC address.
 95018  	OldMac string `xml:"oldMac" json:"oldMac"`
 95019  	// The new MAC address.
 95020  	NewMac string `xml:"newMac" json:"newMac"`
 95021  }
 95022  
 95023  func init() {
 95024  	t["VmMacChangedEvent"] = reflect.TypeOf((*VmMacChangedEvent)(nil)).Elem()
 95025  }
 95026  
 95027  // This event records a MAC address conflict for a virtual machine.
 95028  type VmMacConflictEvent struct {
 95029  	VmEvent
 95030  
 95031  	// The virtual machine whose MAC address conflicts with
 95032  	// the current virtual machine's address.
 95033  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 95034  	// The MAC address that is in conflict.
 95035  	Mac string `xml:"mac" json:"mac"`
 95036  }
 95037  
 95038  func init() {
 95039  	t["VmMacConflictEvent"] = reflect.TypeOf((*VmMacConflictEvent)(nil)).Elem()
 95040  }
 95041  
 95042  // This event is fired when FT VM reached the max restart count
 95043  type VmMaxFTRestartCountReached struct {
 95044  	VmEvent
 95045  }
 95046  
 95047  func init() {
 95048  	t["VmMaxFTRestartCountReached"] = reflect.TypeOf((*VmMaxFTRestartCountReached)(nil)).Elem()
 95049  }
 95050  
 95051  // This event is fired when the VM reached the max restart count
 95052  type VmMaxRestartCountReached struct {
 95053  	VmEvent
 95054  }
 95055  
 95056  func init() {
 95057  	t["VmMaxRestartCountReached"] = reflect.TypeOf((*VmMaxRestartCountReached)(nil)).Elem()
 95058  }
 95059  
 95060  // This event records when an error message (consisting of a collection of "observations")
 95061  // is thrown by the virtual machine.
 95062  //
 95063  // This is a generic event for such messages.
 95064  type VmMessageErrorEvent struct {
 95065  	VmEvent
 95066  
 95067  	// A raw message returned by the virtualization platform.
 95068  	Message string `xml:"message" json:"message"`
 95069  	// A set of localizable message data that comprise this event.
 95070  	//
 95071  	// Only available on servers that support localization.
 95072  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 95073  }
 95074  
 95075  func init() {
 95076  	t["VmMessageErrorEvent"] = reflect.TypeOf((*VmMessageErrorEvent)(nil)).Elem()
 95077  }
 95078  
 95079  // This event records when an informational message (consisting of a collection of "observations")
 95080  // is thrown by the virtual machine.
 95081  //
 95082  // This is a generic event for such messages.
 95083  type VmMessageEvent struct {
 95084  	VmEvent
 95085  
 95086  	// A raw message returned by the virtualization platform.
 95087  	Message string `xml:"message" json:"message"`
 95088  	// A set of localizable message data that comprise this event.
 95089  	//
 95090  	// Only available on servers that support localization.
 95091  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 95092  }
 95093  
 95094  func init() {
 95095  	t["VmMessageEvent"] = reflect.TypeOf((*VmMessageEvent)(nil)).Elem()
 95096  }
 95097  
 95098  // This event records when a warning message (consisting of a collection of "observations")
 95099  // is thrown by the virtual machine.
 95100  //
 95101  // This is a generic event for such messages.
 95102  type VmMessageWarningEvent struct {
 95103  	VmEvent
 95104  
 95105  	// A raw message returned by the virtualization platform.
 95106  	Message     string                  `xml:"message" json:"message"`
 95107  	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
 95108  }
 95109  
 95110  func init() {
 95111  	t["VmMessageWarningEvent"] = reflect.TypeOf((*VmMessageWarningEvent)(nil)).Elem()
 95112  }
 95113  
 95114  // This fault indicates that some error has occurred during the processing of
 95115  // of a MetadataManager operation.
 95116  //
 95117  // This may be subclassed by a more specific
 95118  // fault.
 95119  type VmMetadataManagerFault struct {
 95120  	VimFault
 95121  }
 95122  
 95123  func init() {
 95124  	t["VmMetadataManagerFault"] = reflect.TypeOf((*VmMetadataManagerFault)(nil)).Elem()
 95125  }
 95126  
 95127  type VmMetadataManagerFaultFault VmMetadataManagerFault
 95128  
 95129  func init() {
 95130  	t["VmMetadataManagerFaultFault"] = reflect.TypeOf((*VmMetadataManagerFaultFault)(nil)).Elem()
 95131  }
 95132  
 95133  // This event records a virtual machine migration.
 95134  type VmMigratedEvent struct {
 95135  	VmEvent
 95136  
 95137  	// The source host.
 95138  	//
 95139  	// (Because this is after a successful migration,
 95140  	// the destination host is recorded in the inherited "host" property.)
 95141  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 95142  	// The source datacenter
 95143  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 95144  	// The source primary datastore
 95145  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty"`
 95146  }
 95147  
 95148  func init() {
 95149  	t["VmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem()
 95150  }
 95151  
 95152  // Thrown when turning on Fault Tolerance protection on a running virtual machine
 95153  // if the virtual machine is running in a monitor mode that is incompatible.
 95154  type VmMonitorIncompatibleForFaultTolerance struct {
 95155  	VimFault
 95156  }
 95157  
 95158  func init() {
 95159  	t["VmMonitorIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultTolerance)(nil)).Elem()
 95160  }
 95161  
 95162  type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance
 95163  
 95164  func init() {
 95165  	t["VmMonitorIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultToleranceFault)(nil)).Elem()
 95166  }
 95167  
 95168  // This event records that no compatible host was found to place a
 95169  // secondary VM.
 95170  //
 95171  // A default alarm will be triggered upon this event, which by default
 95172  // would trigger a SNMP trap.
 95173  type VmNoCompatibleHostForSecondaryEvent struct {
 95174  	VmEvent
 95175  }
 95176  
 95177  func init() {
 95178  	t["VmNoCompatibleHostForSecondaryEvent"] = reflect.TypeOf((*VmNoCompatibleHostForSecondaryEvent)(nil)).Elem()
 95179  }
 95180  
 95181  // This event records a migration failure when the destination host
 95182  // is not on the same network as the source host.
 95183  type VmNoNetworkAccessEvent struct {
 95184  	VmEvent
 95185  
 95186  	// The destination host.
 95187  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95188  }
 95189  
 95190  func init() {
 95191  	t["VmNoNetworkAccessEvent"] = reflect.TypeOf((*VmNoNetworkAccessEvent)(nil)).Elem()
 95192  }
 95193  
 95194  // This data object type describes a file that is a virtual machine non-volatile
 95195  // memory file.
 95196  type VmNvramFileInfo struct {
 95197  	FileInfo
 95198  }
 95199  
 95200  func init() {
 95201  	t["VmNvramFileInfo"] = reflect.TypeOf((*VmNvramFileInfo)(nil)).Elem()
 95202  }
 95203  
 95204  // This data object type describes the query specification for a non-volatile memory
 95205  // file.
 95206  type VmNvramFileQuery struct {
 95207  	FileQuery
 95208  }
 95209  
 95210  func init() {
 95211  	t["VmNvramFileQuery"] = reflect.TypeOf((*VmNvramFileQuery)(nil)).Elem()
 95212  }
 95213  
 95214  // This event records a virtual machine for which no host is responsible.
 95215  type VmOrphanedEvent struct {
 95216  	VmEvent
 95217  }
 95218  
 95219  func init() {
 95220  	t["VmOrphanedEvent"] = reflect.TypeOf((*VmOrphanedEvent)(nil)).Elem()
 95221  }
 95222  
 95223  // Initial VM configuration for the specified pod.
 95224  //
 95225  // This configuration will be saved to the pod config
 95226  // `StorageDrsConfigInfo`
 95227  // when the placement recommendations are applied.
 95228  type VmPodConfigForPlacement struct {
 95229  	DynamicData
 95230  
 95231  	// The pod that this initial configuration applies to.
 95232  	//
 95233  	// Since there could be multiple pods in a single placement request,
 95234  	// we may need to specify multiple initial VM configurations, one per
 95235  	// pod.
 95236  	//
 95237  	// Refers instance of `StoragePod`.
 95238  	StoragePod ManagedObjectReference `xml:"storagePod" json:"storagePod"`
 95239  	// Array of PodDiskLocator objects.
 95240  	Disk []PodDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
 95241  	// The VM configuration for the VM that is being placed.
 95242  	VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
 95243  	// The initial interVmRules that should during placement of this
 95244  	// virtual machine.
 95245  	//
 95246  	// It may not always be possible to specify that the
 95247  	// virtual machine being placed is part of the rule because the
 95248  	// virtual machine may not have been created yet. So for simplicity,
 95249  	// we assume the virtual machine being placed is always implicitly
 95250  	// part of any rule specified. It will be explicitly added to the
 95251  	// rule before it is saved to the pod config.
 95252  	InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr" json:"interVmRule,omitempty"`
 95253  }
 95254  
 95255  func init() {
 95256  	t["VmPodConfigForPlacement"] = reflect.TypeOf((*VmPodConfigForPlacement)(nil)).Elem()
 95257  }
 95258  
 95259  // The `VmPortGroupProfile` data object represents the subprofile
 95260  // for a port group that will be used by virtual machines.
 95261  //
 95262  // Use the `ApplyProfile.policy` list for
 95263  // access to configuration data for the virtual machine port group profile. Use the
 95264  // `ApplyProfile.property` list for access to subprofiles, if any.
 95265  //
 95266  // vSphere Servers use `Network` managed objects to represent virtual machine port
 95267  // groups in the vSphere inventory.
 95268  type VmPortGroupProfile struct {
 95269  	PortGroupProfile
 95270  }
 95271  
 95272  func init() {
 95273  	t["VmPortGroupProfile"] = reflect.TypeOf((*VmPortGroupProfile)(nil)).Elem()
 95274  }
 95275  
 95276  // This event records when a virtual machine has been powered off on an isolated host
 95277  // in a HA cluster.
 95278  type VmPowerOffOnIsolationEvent struct {
 95279  	VmPoweredOffEvent
 95280  
 95281  	// The isolated host on which a virtual machine is powered off.
 95282  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 95283  }
 95284  
 95285  func init() {
 95286  	t["VmPowerOffOnIsolationEvent"] = reflect.TypeOf((*VmPowerOffOnIsolationEvent)(nil)).Elem()
 95287  }
 95288  
 95289  // This exception is thrown if the power-on of a virtual machine is attempted
 95290  // when the operation is disabled on the host
 95291  type VmPowerOnDisabled struct {
 95292  	InvalidState
 95293  }
 95294  
 95295  func init() {
 95296  	t["VmPowerOnDisabled"] = reflect.TypeOf((*VmPowerOnDisabled)(nil)).Elem()
 95297  }
 95298  
 95299  type VmPowerOnDisabledFault VmPowerOnDisabled
 95300  
 95301  func init() {
 95302  	t["VmPowerOnDisabledFault"] = reflect.TypeOf((*VmPowerOnDisabledFault)(nil)).Elem()
 95303  }
 95304  
 95305  // This event records when a virtual machine finished powering off.
 95306  type VmPoweredOffEvent struct {
 95307  	VmEvent
 95308  }
 95309  
 95310  func init() {
 95311  	t["VmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem()
 95312  }
 95313  
 95314  // This event records when a virtual machine finished powering on.
 95315  type VmPoweredOnEvent struct {
 95316  	VmEvent
 95317  }
 95318  
 95319  func init() {
 95320  	t["VmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem()
 95321  }
 95322  
 95323  // This event records when a virtual machine was powering on using
 95324  // DVPorts with port level configuration, which might be different
 95325  // from the DVportgroup.
 95326  type VmPoweringOnWithCustomizedDVPortEvent struct {
 95327  	VmEvent
 95328  
 95329  	// The list of Virtual NIC that were using the DVports.
 95330  	Vnic []VnicPortArgument `xml:"vnic" json:"vnic"`
 95331  }
 95332  
 95333  func init() {
 95334  	t["VmPoweringOnWithCustomizedDVPortEvent"] = reflect.TypeOf((*VmPoweringOnWithCustomizedDVPortEvent)(nil)).Elem()
 95335  }
 95336  
 95337  // This event records a fault tolerance failover.
 95338  //
 95339  // The reason could be : lost connection to primary, partial hardware failure
 95340  // of primary or by user.
 95341  type VmPrimaryFailoverEvent struct {
 95342  	VmEvent
 95343  
 95344  	// The reason for the failure.
 95345  	//
 95346  	// see `VirtualMachineNeedSecondaryReason_enum`
 95347  	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
 95348  }
 95349  
 95350  func init() {
 95351  	t["VmPrimaryFailoverEvent"] = reflect.TypeOf((*VmPrimaryFailoverEvent)(nil)).Elem()
 95352  }
 95353  
 95354  // This event records a reconfiguration of the virtual machine.
 95355  type VmReconfiguredEvent struct {
 95356  	VmEvent
 95357  
 95358  	// The configuration specification that was used for the reconfiguration.
 95359  	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
 95360  	// The configuration values changed during the reconfiguration.
 95361  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 95362  }
 95363  
 95364  func init() {
 95365  	t["VmReconfiguredEvent"] = reflect.TypeOf((*VmReconfiguredEvent)(nil)).Elem()
 95366  }
 95367  
 95368  // This event records that a virtual machine was successfully registered.
 95369  type VmRegisteredEvent struct {
 95370  	VmEvent
 95371  }
 95372  
 95373  func init() {
 95374  	t["VmRegisteredEvent"] = reflect.TypeOf((*VmRegisteredEvent)(nil)).Elem()
 95375  }
 95376  
 95377  // This event records that a virtual machine was successfully
 95378  // converted to the new virtual machine format on a VMFS3 volume.
 95379  type VmRelayoutSuccessfulEvent struct {
 95380  	VmEvent
 95381  }
 95382  
 95383  func init() {
 95384  	t["VmRelayoutSuccessfulEvent"] = reflect.TypeOf((*VmRelayoutSuccessfulEvent)(nil)).Elem()
 95385  }
 95386  
 95387  // This event records that a virtual machine is already in the
 95388  // correct format.
 95389  //
 95390  // No relay out is necessary.
 95391  type VmRelayoutUpToDateEvent struct {
 95392  	VmEvent
 95393  }
 95394  
 95395  func init() {
 95396  	t["VmRelayoutUpToDateEvent"] = reflect.TypeOf((*VmRelayoutUpToDateEvent)(nil)).Elem()
 95397  }
 95398  
 95399  // This event records that a virtual machine was successfully reloaded from a
 95400  // new configuration path.
 95401  type VmReloadFromPathEvent struct {
 95402  	VmEvent
 95403  
 95404  	ConfigPath string `xml:"configPath" json:"configPath"`
 95405  }
 95406  
 95407  func init() {
 95408  	t["VmReloadFromPathEvent"] = reflect.TypeOf((*VmReloadFromPathEvent)(nil)).Elem()
 95409  }
 95410  
 95411  // This event records that a virtual machine reload from a new configuration
 95412  // path failed.
 95413  type VmReloadFromPathFailedEvent struct {
 95414  	VmEvent
 95415  
 95416  	ConfigPath string `xml:"configPath" json:"configPath"`
 95417  }
 95418  
 95419  func init() {
 95420  	t["VmReloadFromPathFailedEvent"] = reflect.TypeOf((*VmReloadFromPathFailedEvent)(nil)).Elem()
 95421  }
 95422  
 95423  // This event records a failure to relocate a virtual machine.
 95424  type VmRelocateFailedEvent struct {
 95425  	VmRelocateSpecEvent
 95426  
 95427  	// The destination host to which the virtual machine is being relocated.
 95428  	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
 95429  	// The reason why this relocate operation failed.
 95430  	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
 95431  	// The destination datacenter to which the virtual machine was being relocated
 95432  	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
 95433  	// The destination primary datastore to which the virtual machine was being relocated
 95434  	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty"`
 95435  }
 95436  
 95437  func init() {
 95438  	t["VmRelocateFailedEvent"] = reflect.TypeOf((*VmRelocateFailedEvent)(nil)).Elem()
 95439  }
 95440  
 95441  // This event is the base event for relocate and clone base events.
 95442  type VmRelocateSpecEvent struct {
 95443  	VmEvent
 95444  }
 95445  
 95446  func init() {
 95447  	t["VmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem()
 95448  }
 95449  
 95450  // This event records the completion of a virtual machine relocation.
 95451  type VmRelocatedEvent struct {
 95452  	VmRelocateSpecEvent
 95453  
 95454  	// The source host from which the virtual machine was relocated.
 95455  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 95456  	// The source datacenter from which the virtual machine relocated
 95457  	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
 95458  	// The source primary datastore from which the virtual machine relocated
 95459  	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty"`
 95460  }
 95461  
 95462  func init() {
 95463  	t["VmRelocatedEvent"] = reflect.TypeOf((*VmRelocatedEvent)(nil)).Elem()
 95464  }
 95465  
 95466  // This event records that a remote console was connected to the VM
 95467  type VmRemoteConsoleConnectedEvent struct {
 95468  	VmEvent
 95469  }
 95470  
 95471  func init() {
 95472  	t["VmRemoteConsoleConnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleConnectedEvent)(nil)).Elem()
 95473  }
 95474  
 95475  // This event records that a remote console was disconnected from the VM
 95476  type VmRemoteConsoleDisconnectedEvent struct {
 95477  	VmEvent
 95478  }
 95479  
 95480  func init() {
 95481  	t["VmRemoteConsoleDisconnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleDisconnectedEvent)(nil)).Elem()
 95482  }
 95483  
 95484  // This event records a virtual machine removed from VirtualCenter management.
 95485  type VmRemovedEvent struct {
 95486  	VmEvent
 95487  }
 95488  
 95489  func init() {
 95490  	t["VmRemovedEvent"] = reflect.TypeOf((*VmRemovedEvent)(nil)).Elem()
 95491  }
 95492  
 95493  // This event records the renaming of a virtual machine.
 95494  type VmRenamedEvent struct {
 95495  	VmEvent
 95496  
 95497  	// The old name of the virtual machine.
 95498  	OldName string `xml:"oldName" json:"oldName"`
 95499  	// The new name of the virtual machine.
 95500  	NewName string `xml:"newName" json:"newName"`
 95501  }
 95502  
 95503  func init() {
 95504  	t["VmRenamedEvent"] = reflect.TypeOf((*VmRenamedEvent)(nil)).Elem()
 95505  }
 95506  
 95507  // The virtual machine is using features that exceed what the
 95508  // host is capable of providing.
 95509  //
 95510  // This may occur when joining an EVC cluster
 95511  // while the virtual machine is powered on.
 95512  // The most common resolution is to power cycle the virtual machine.
 95513  type VmRequirementsExceedCurrentEVCModeEvent struct {
 95514  	VmEvent
 95515  }
 95516  
 95517  func init() {
 95518  	t["VmRequirementsExceedCurrentEVCModeEvent"] = reflect.TypeOf((*VmRequirementsExceedCurrentEVCModeEvent)(nil)).Elem()
 95519  }
 95520  
 95521  // This event records a virtual machine resetting.
 95522  type VmResettingEvent struct {
 95523  	VmEvent
 95524  }
 95525  
 95526  func init() {
 95527  	t["VmResettingEvent"] = reflect.TypeOf((*VmResettingEvent)(nil)).Elem()
 95528  }
 95529  
 95530  // This event records when a virtual machine is moved from one resource pool to another.
 95531  type VmResourcePoolMovedEvent struct {
 95532  	VmEvent
 95533  
 95534  	// The old parent resourcePool of the moved virtual machine.
 95535  	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
 95536  	// The new parent resourcePool of the moved virtual machine.
 95537  	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
 95538  }
 95539  
 95540  func init() {
 95541  	t["VmResourcePoolMovedEvent"] = reflect.TypeOf((*VmResourcePoolMovedEvent)(nil)).Elem()
 95542  }
 95543  
 95544  // This event records a change in resource allocation of a virtual machine.
 95545  type VmResourceReallocatedEvent struct {
 95546  	VmEvent
 95547  
 95548  	// The configuration values changed during the reconfiguration.
 95549  	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty"`
 95550  }
 95551  
 95552  func init() {
 95553  	t["VmResourceReallocatedEvent"] = reflect.TypeOf((*VmResourceReallocatedEvent)(nil)).Elem()
 95554  }
 95555  
 95556  // Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event
 95557  // with the `EventEx.eventTypeId` property set to "com.vmware.vc.ha.VmRestartedByHAEvent".
 95558  //
 95559  // This event records that the virtual machine was restarted on a host, since
 95560  // its original host had failed.
 95561  type VmRestartedOnAlternateHostEvent struct {
 95562  	VmPoweredOnEvent
 95563  
 95564  	// The host that failed.
 95565  	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
 95566  }
 95567  
 95568  func init() {
 95569  	t["VmRestartedOnAlternateHostEvent"] = reflect.TypeOf((*VmRestartedOnAlternateHostEvent)(nil)).Elem()
 95570  }
 95571  
 95572  // This event records a virtual machine resuming.
 95573  type VmResumingEvent struct {
 95574  	VmEvent
 95575  }
 95576  
 95577  func init() {
 95578  	t["VmResumingEvent"] = reflect.TypeOf((*VmResumingEvent)(nil)).Elem()
 95579  }
 95580  
 95581  // This event records a secondary VM is added.
 95582  type VmSecondaryAddedEvent struct {
 95583  	VmEvent
 95584  }
 95585  
 95586  func init() {
 95587  	t["VmSecondaryAddedEvent"] = reflect.TypeOf((*VmSecondaryAddedEvent)(nil)).Elem()
 95588  }
 95589  
 95590  // This event records that a fault tolerance secondary VM has been
 95591  // disabled by vCenter because the VM could not be powered on.
 95592  type VmSecondaryDisabledBySystemEvent struct {
 95593  	VmEvent
 95594  
 95595  	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
 95596  }
 95597  
 95598  func init() {
 95599  	t["VmSecondaryDisabledBySystemEvent"] = reflect.TypeOf((*VmSecondaryDisabledBySystemEvent)(nil)).Elem()
 95600  }
 95601  
 95602  // This event records a secondary VM is disabled.
 95603  type VmSecondaryDisabledEvent struct {
 95604  	VmEvent
 95605  }
 95606  
 95607  func init() {
 95608  	t["VmSecondaryDisabledEvent"] = reflect.TypeOf((*VmSecondaryDisabledEvent)(nil)).Elem()
 95609  }
 95610  
 95611  // This event records a secondary VM is enabled.
 95612  type VmSecondaryEnabledEvent struct {
 95613  	VmEvent
 95614  }
 95615  
 95616  func init() {
 95617  	t["VmSecondaryEnabledEvent"] = reflect.TypeOf((*VmSecondaryEnabledEvent)(nil)).Elem()
 95618  }
 95619  
 95620  // This event records a secondary VM is started successfully.
 95621  type VmSecondaryStartedEvent struct {
 95622  	VmEvent
 95623  }
 95624  
 95625  func init() {
 95626  	t["VmSecondaryStartedEvent"] = reflect.TypeOf((*VmSecondaryStartedEvent)(nil)).Elem()
 95627  }
 95628  
 95629  // This event records when a virtual machine has been shut down on an isolated host
 95630  // in a HA cluster.
 95631  type VmShutdownOnIsolationEvent struct {
 95632  	VmPoweredOffEvent
 95633  
 95634  	// The isolated host on which a virtual machine was shutdown.
 95635  	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
 95636  	// Indicates if the shutdown was successful.
 95637  	//
 95638  	// If the shutdown failed, the virtual
 95639  	// machine was powered off. see `VmShutdownOnIsolationEventOperation_enum`
 95640  	ShutdownResult string `xml:"shutdownResult,omitempty" json:"shutdownResult,omitempty"`
 95641  }
 95642  
 95643  func init() {
 95644  	t["VmShutdownOnIsolationEvent"] = reflect.TypeOf((*VmShutdownOnIsolationEvent)(nil)).Elem()
 95645  }
 95646  
 95647  // This fault is returned when a host has more than the recommended number of
 95648  // SMP Fault Tolerance VMs running on it.
 95649  type VmSmpFaultToleranceTooManyVMsOnHost struct {
 95650  	InsufficientResourcesFault
 95651  
 95652  	// The name of the host
 95653  	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
 95654  	// The recommended number of SMP-Fault Tolerance VMs running on the host.
 95655  	MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms" json:"maxNumSmpFtVms"`
 95656  }
 95657  
 95658  func init() {
 95659  	t["VmSmpFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHost)(nil)).Elem()
 95660  }
 95661  
 95662  type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost
 95663  
 95664  func init() {
 95665  	t["VmSmpFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHostFault)(nil)).Elem()
 95666  }
 95667  
 95668  // This data object type describes a file that is a virtual disk snapshot file.
 95669  type VmSnapshotFileInfo struct {
 95670  	FileInfo
 95671  }
 95672  
 95673  func init() {
 95674  	t["VmSnapshotFileInfo"] = reflect.TypeOf((*VmSnapshotFileInfo)(nil)).Elem()
 95675  }
 95676  
 95677  // This data object type describes the query specification for a virtual machine
 95678  // snapshot file.
 95679  type VmSnapshotFileQuery struct {
 95680  	FileQuery
 95681  }
 95682  
 95683  func init() {
 95684  	t["VmSnapshotFileQuery"] = reflect.TypeOf((*VmSnapshotFileQuery)(nil)).Elem()
 95685  }
 95686  
 95687  // Deprecated as of vSphere API 6.0.
 95688  //
 95689  // This event indicates the start of a recording session on a virtual machine.
 95690  type VmStartRecordingEvent struct {
 95691  	VmEvent
 95692  }
 95693  
 95694  func init() {
 95695  	t["VmStartRecordingEvent"] = reflect.TypeOf((*VmStartRecordingEvent)(nil)).Elem()
 95696  }
 95697  
 95698  // Deprecated as of vSphere API 6.0.
 95699  //
 95700  // This event indicates the start of a replay session on a virtual machine.
 95701  type VmStartReplayingEvent struct {
 95702  	VmEvent
 95703  }
 95704  
 95705  func init() {
 95706  	t["VmStartReplayingEvent"] = reflect.TypeOf((*VmStartReplayingEvent)(nil)).Elem()
 95707  }
 95708  
 95709  // This event records a virtual machine powering on.
 95710  type VmStartingEvent struct {
 95711  	VmEvent
 95712  }
 95713  
 95714  func init() {
 95715  	t["VmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem()
 95716  }
 95717  
 95718  // This event records a vmotion to start a secondary VM.
 95719  type VmStartingSecondaryEvent struct {
 95720  	VmEvent
 95721  }
 95722  
 95723  func init() {
 95724  	t["VmStartingSecondaryEvent"] = reflect.TypeOf((*VmStartingSecondaryEvent)(nil)).Elem()
 95725  }
 95726  
 95727  // This event records a static MAC address conflict for a virtual machine.
 95728  type VmStaticMacConflictEvent struct {
 95729  	VmEvent
 95730  
 95731  	// The virtual machine whose static MAC address conflicts with
 95732  	// the current virtual machine's address.
 95733  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 95734  	// The static MAC address that is in conflict.
 95735  	Mac string `xml:"mac" json:"mac"`
 95736  }
 95737  
 95738  func init() {
 95739  	t["VmStaticMacConflictEvent"] = reflect.TypeOf((*VmStaticMacConflictEvent)(nil)).Elem()
 95740  }
 95741  
 95742  // This event records a virtual machine stopping.
 95743  type VmStoppingEvent struct {
 95744  	VmEvent
 95745  }
 95746  
 95747  func init() {
 95748  	t["VmStoppingEvent"] = reflect.TypeOf((*VmStoppingEvent)(nil)).Elem()
 95749  }
 95750  
 95751  // This event records when a virtual machine finished suspending.
 95752  type VmSuspendedEvent struct {
 95753  	VmEvent
 95754  }
 95755  
 95756  func init() {
 95757  	t["VmSuspendedEvent"] = reflect.TypeOf((*VmSuspendedEvent)(nil)).Elem()
 95758  }
 95759  
 95760  // This event records a virtual machine suspending.
 95761  type VmSuspendingEvent struct {
 95762  	VmEvent
 95763  }
 95764  
 95765  func init() {
 95766  	t["VmSuspendingEvent"] = reflect.TypeOf((*VmSuspendingEvent)(nil)).Elem()
 95767  }
 95768  
 95769  // This event records timeout when starting a secondary VM.
 95770  //
 95771  // A default alarm will be triggered upon this event, which by default
 95772  // would trigger a SNMP trap.
 95773  type VmTimedoutStartingSecondaryEvent struct {
 95774  	VmEvent
 95775  
 95776  	// The duration of the timeout in milliseconds.
 95777  	Timeout int64 `xml:"timeout,omitempty" json:"timeout,omitempty"`
 95778  }
 95779  
 95780  func init() {
 95781  	t["VmTimedoutStartingSecondaryEvent"] = reflect.TypeOf((*VmTimedoutStartingSecondaryEvent)(nil)).Elem()
 95782  }
 95783  
 95784  // A base fault to indicate that something went wrong when upgrading tools.
 95785  type VmToolsUpgradeFault struct {
 95786  	VimFault
 95787  }
 95788  
 95789  func init() {
 95790  	t["VmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem()
 95791  }
 95792  
 95793  type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault
 95794  
 95795  func init() {
 95796  	t["VmToolsUpgradeFaultFault"] = reflect.TypeOf((*VmToolsUpgradeFaultFault)(nil)).Elem()
 95797  }
 95798  
 95799  // This event records when an unsupported guest is powering on.
 95800  type VmUnsupportedStartingEvent struct {
 95801  	VmStartingEvent
 95802  
 95803  	GuestId string `xml:"guestId" json:"guestId"`
 95804  }
 95805  
 95806  func init() {
 95807  	t["VmUnsupportedStartingEvent"] = reflect.TypeOf((*VmUnsupportedStartingEvent)(nil)).Elem()
 95808  }
 95809  
 95810  // This event records the successful completion of an upgrade operation.
 95811  type VmUpgradeCompleteEvent struct {
 95812  	VmEvent
 95813  
 95814  	// The version of the agent.
 95815  	Version string `xml:"version" json:"version"`
 95816  }
 95817  
 95818  func init() {
 95819  	t["VmUpgradeCompleteEvent"] = reflect.TypeOf((*VmUpgradeCompleteEvent)(nil)).Elem()
 95820  }
 95821  
 95822  // This event records a failure to upgrade virtual hardware.
 95823  type VmUpgradeFailedEvent struct {
 95824  	VmEvent
 95825  }
 95826  
 95827  func init() {
 95828  	t["VmUpgradeFailedEvent"] = reflect.TypeOf((*VmUpgradeFailedEvent)(nil)).Elem()
 95829  }
 95830  
 95831  // This event records the process of upgrading the virtual hardware on a
 95832  // virtual machine.
 95833  type VmUpgradingEvent struct {
 95834  	VmEvent
 95835  
 95836  	// The version of the agent.
 95837  	Version string `xml:"version" json:"version"`
 95838  }
 95839  
 95840  func init() {
 95841  	t["VmUpgradingEvent"] = reflect.TypeOf((*VmUpgradingEvent)(nil)).Elem()
 95842  }
 95843  
 95844  // This event records the assignment of a new BIOS UUID
 95845  // to a virtual machine.
 95846  type VmUuidAssignedEvent struct {
 95847  	VmEvent
 95848  
 95849  	// The new BIOS UUID.
 95850  	Uuid string `xml:"uuid" json:"uuid"`
 95851  }
 95852  
 95853  func init() {
 95854  	t["VmUuidAssignedEvent"] = reflect.TypeOf((*VmUuidAssignedEvent)(nil)).Elem()
 95855  }
 95856  
 95857  // This event records a change in a virtual machine's BIOS UUID.
 95858  type VmUuidChangedEvent struct {
 95859  	VmEvent
 95860  
 95861  	// The old BIOS UUID.
 95862  	OldUuid string `xml:"oldUuid" json:"oldUuid"`
 95863  	// The new BIOS UUID.
 95864  	NewUuid string `xml:"newUuid" json:"newUuid"`
 95865  }
 95866  
 95867  func init() {
 95868  	t["VmUuidChangedEvent"] = reflect.TypeOf((*VmUuidChangedEvent)(nil)).Elem()
 95869  }
 95870  
 95871  // This event records a conflict of virtual machine BIOS UUIDs.
 95872  type VmUuidConflictEvent struct {
 95873  	VmEvent
 95874  
 95875  	// The virtual machine whose UUID conflicts with the
 95876  	// current virtual machine's UUID.
 95877  	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
 95878  	// The BIOS UUID in conflict.
 95879  	Uuid string `xml:"uuid" json:"uuid"`
 95880  }
 95881  
 95882  func init() {
 95883  	t["VmUuidConflictEvent"] = reflect.TypeOf((*VmUuidConflictEvent)(nil)).Elem()
 95884  }
 95885  
 95886  type VmValidateMaxDevice struct {
 95887  	VimFault
 95888  
 95889  	// The device
 95890  	Device string `xml:"device" json:"device"`
 95891  	// max count for the device
 95892  	Max int32 `xml:"max" json:"max"`
 95893  	// number of devices found in vim.vm.ConfigSpec
 95894  	Count int32 `xml:"count" json:"count"`
 95895  }
 95896  
 95897  func init() {
 95898  	t["VmValidateMaxDevice"] = reflect.TypeOf((*VmValidateMaxDevice)(nil)).Elem()
 95899  }
 95900  
 95901  type VmValidateMaxDeviceFault VmValidateMaxDevice
 95902  
 95903  func init() {
 95904  	t["VmValidateMaxDeviceFault"] = reflect.TypeOf((*VmValidateMaxDeviceFault)(nil)).Elem()
 95905  }
 95906  
 95907  // This event is generated when the reservations used by all
 95908  // the virtual network adapters belonging to the virtual NIC network
 95909  // resource pool goes below the reservation allocated to the resource pool
 95910  type VmVnicPoolReservationViolationClearEvent struct {
 95911  	DvsEvent
 95912  
 95913  	// The key of the Virtual NIC network resource pool
 95914  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 95915  	// The name of the Virtual NIC network resource pool
 95916  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 95917  }
 95918  
 95919  func init() {
 95920  	t["VmVnicPoolReservationViolationClearEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationClearEvent)(nil)).Elem()
 95921  }
 95922  
 95923  // This event is generated when the reservations used by all
 95924  // the virtual network adapters belonging to the virtual NIC network
 95925  // resource pool exceeds the reservation allocated to the resource pool
 95926  type VmVnicPoolReservationViolationRaiseEvent struct {
 95927  	DvsEvent
 95928  
 95929  	// The key of the Virtual NIC network resource pool
 95930  	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
 95931  	// The name of the Virtual NIC network resource pool
 95932  	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
 95933  }
 95934  
 95935  func init() {
 95936  	t["VmVnicPoolReservationViolationRaiseEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationRaiseEvent)(nil)).Elem()
 95937  }
 95938  
 95939  // This event records the assignment of a new WWN (World Wide Name)
 95940  // to a virtual machine.
 95941  type VmWwnAssignedEvent struct {
 95942  	VmEvent
 95943  
 95944  	// The new node WWN.
 95945  	NodeWwns []int64 `xml:"nodeWwns" json:"nodeWwns"`
 95946  	// The new port WWN.
 95947  	PortWwns []int64 `xml:"portWwns" json:"portWwns"`
 95948  }
 95949  
 95950  func init() {
 95951  	t["VmWwnAssignedEvent"] = reflect.TypeOf((*VmWwnAssignedEvent)(nil)).Elem()
 95952  }
 95953  
 95954  // This event records a change in a virtual machine's WWN (World Wide Name).
 95955  type VmWwnChangedEvent struct {
 95956  	VmEvent
 95957  
 95958  	// The old node WWN.
 95959  	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
 95960  	// The old port WWN.
 95961  	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
 95962  	// The new node WWN.
 95963  	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
 95964  	// The new port WWN.
 95965  	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
 95966  }
 95967  
 95968  func init() {
 95969  	t["VmWwnChangedEvent"] = reflect.TypeOf((*VmWwnChangedEvent)(nil)).Elem()
 95970  }
 95971  
 95972  // Thrown if a user attempts to assign a
 95973  // WWN that is currently being used by other virtual machine or host.
 95974  type VmWwnConflict struct {
 95975  	InvalidVmConfig
 95976  
 95977  	// The virtual machine that is using the same WWN.
 95978  	//
 95979  	// Refers instance of `VirtualMachine`.
 95980  	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
 95981  	// The host that is using the same WWN.
 95982  	//
 95983  	// Refers instance of `HostSystem`.
 95984  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 95985  	// The name of the virtual machine/host that is using the same WWN.
 95986  	Name string `xml:"name,omitempty" json:"name,omitempty"`
 95987  	// The WWN that is in conflict.
 95988  	Wwn int64 `xml:"wwn,omitempty" json:"wwn,omitempty"`
 95989  }
 95990  
 95991  func init() {
 95992  	t["VmWwnConflict"] = reflect.TypeOf((*VmWwnConflict)(nil)).Elem()
 95993  }
 95994  
 95995  // This event records a conflict of virtual machine WWNs (World Wide Name).
 95996  type VmWwnConflictEvent struct {
 95997  	VmEvent
 95998  
 95999  	// The virtual machine whose WWN conflicts with the
 96000  	// current virtual machine's WWN.
 96001  	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
 96002  	// The host whose physical WWN conflicts with the
 96003  	// current virtual machine's WWN.
 96004  	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
 96005  	// The WWN in conflict.
 96006  	Wwn int64 `xml:"wwn" json:"wwn"`
 96007  }
 96008  
 96009  func init() {
 96010  	t["VmWwnConflictEvent"] = reflect.TypeOf((*VmWwnConflictEvent)(nil)).Elem()
 96011  }
 96012  
 96013  type VmWwnConflictFault VmWwnConflict
 96014  
 96015  func init() {
 96016  	t["VmWwnConflictFault"] = reflect.TypeOf((*VmWwnConflictFault)(nil)).Elem()
 96017  }
 96018  
 96019  // A VmfsAlreadyMounted fault indicates that VMFS volume with same UUID
 96020  // is already mounted on the host.
 96021  type VmfsAlreadyMounted struct {
 96022  	VmfsMountFault
 96023  }
 96024  
 96025  func init() {
 96026  	t["VmfsAlreadyMounted"] = reflect.TypeOf((*VmfsAlreadyMounted)(nil)).Elem()
 96027  }
 96028  
 96029  type VmfsAlreadyMountedFault VmfsAlreadyMounted
 96030  
 96031  func init() {
 96032  	t["VmfsAlreadyMountedFault"] = reflect.TypeOf((*VmfsAlreadyMountedFault)(nil)).Elem()
 96033  }
 96034  
 96035  // An 'VmfsAmbiguousMount' fault occurs when ESX is unable to resolve the
 96036  // extents of a VMFS volume unambiguously.
 96037  //
 96038  // This is thrown only when a VMFS
 96039  // volume has multiple extents and multiple copies of VMFS volumes are available.
 96040  // VMFS layer will not be able to determine how to re-construct the VMFS
 96041  // volume as multiple choices are available.
 96042  type VmfsAmbiguousMount struct {
 96043  	VmfsMountFault
 96044  }
 96045  
 96046  func init() {
 96047  	t["VmfsAmbiguousMount"] = reflect.TypeOf((*VmfsAmbiguousMount)(nil)).Elem()
 96048  }
 96049  
 96050  type VmfsAmbiguousMountFault VmfsAmbiguousMount
 96051  
 96052  func init() {
 96053  	t["VmfsAmbiguousMountFault"] = reflect.TypeOf((*VmfsAmbiguousMountFault)(nil)).Elem()
 96054  }
 96055  
 96056  type VmfsConfigOption struct {
 96057  	DynamicData
 96058  
 96059  	// Supported values of VMFS block size in kilobytes (KB)
 96060  	// `HostVmfsVolume.blockSize`.
 96061  	BlockSizeOption int32 `xml:"blockSizeOption" json:"blockSizeOption"`
 96062  	// Supported values of VMFS unmap granularity
 96063  	// `HostVmfsVolume.unmapGranularity`.
 96064  	//
 96065  	// The unit is KB.
 96066  	UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty" json:"unmapGranularityOption,omitempty"`
 96067  	// Fixed unmap bandwidth min/max/default value
 96068  	UnmapBandwidthFixedValue *LongOption `xml:"unmapBandwidthFixedValue,omitempty" json:"unmapBandwidthFixedValue,omitempty"`
 96069  	// Dynamic unmap bandwidth lower limit min/max/default value.
 96070  	UnmapBandwidthDynamicMin *LongOption `xml:"unmapBandwidthDynamicMin,omitempty" json:"unmapBandwidthDynamicMin,omitempty"`
 96071  	// Dynamic unmap bandwitdth upper limit min/max/default value.
 96072  	UnmapBandwidthDynamicMax *LongOption `xml:"unmapBandwidthDynamicMax,omitempty" json:"unmapBandwidthDynamicMax,omitempty"`
 96073  	// Increment value of unmap bandwidth
 96074  	UnmapBandwidthIncrement int64 `xml:"unmapBandwidthIncrement,omitempty" json:"unmapBandwidthIncrement,omitempty"`
 96075  	// Fixed unmap bandwidth ultra low limit value in MB/sec.
 96076  	UnmapBandwidthUltraLow int64 `xml:"unmapBandwidthUltraLow,omitempty" json:"unmapBandwidthUltraLow,omitempty" vim:"8.0.0.1"`
 96077  }
 96078  
 96079  func init() {
 96080  	t["VmfsConfigOption"] = reflect.TypeOf((*VmfsConfigOption)(nil)).Elem()
 96081  }
 96082  
 96083  // Datastore addition policy to use the entire disk as a single extent for
 96084  // a VMFS datastore.
 96085  //
 96086  // If there is any data on the disk, it will be
 96087  // overwritten.
 96088  type VmfsDatastoreAllExtentOption struct {
 96089  	VmfsDatastoreSingleExtentOption
 96090  }
 96091  
 96092  func init() {
 96093  	t["VmfsDatastoreAllExtentOption"] = reflect.TypeOf((*VmfsDatastoreAllExtentOption)(nil)).Elem()
 96094  }
 96095  
 96096  // Base class that describes a VMFS datastore provisioning option.
 96097  type VmfsDatastoreBaseOption struct {
 96098  	DynamicData
 96099  
 96100  	// The partition table layout that the disk will have if this
 96101  	// provisioning option is selected.
 96102  	//
 96103  	// In releases after vSphere API 5.0, vSphere Servers might not
 96104  	// generate property collector update notifications for this property.
 96105  	// To obtain the latest value of the property, you can use
 96106  	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
 96107  	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
 96108  	// an empty string for the version parameter.
 96109  	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
 96110  	// contain values for this property when some other property on the DataObject changes.
 96111  	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
 96112  	// version parameter, the value for this property may not be current.
 96113  	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
 96114  	// Indicates whether selecting this option will change the partition
 96115  	// format type on the disk.
 96116  	//
 96117  	// See also `HostDiskPartitionInfoPartitionFormat_enum`.
 96118  	PartitionFormatChange *bool `xml:"partitionFormatChange" json:"partitionFormatChange,omitempty"`
 96119  }
 96120  
 96121  func init() {
 96122  	t["VmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem()
 96123  }
 96124  
 96125  // This data object type is used when creating a new VMFS datastore,
 96126  // to create a specification for the VMFS datastore.
 96127  type VmfsDatastoreCreateSpec struct {
 96128  	VmfsDatastoreSpec
 96129  
 96130  	// Partitioning specification.
 96131  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96132  	// The VMFS creation specification.
 96133  	Vmfs HostVmfsSpec `xml:"vmfs" json:"vmfs"`
 96134  	// Extents to append to VMFS.
 96135  	Extent []HostScsiDiskPartition `xml:"extent,omitempty" json:"extent,omitempty"`
 96136  }
 96137  
 96138  func init() {
 96139  	t["VmfsDatastoreCreateSpec"] = reflect.TypeOf((*VmfsDatastoreCreateSpec)(nil)).Elem()
 96140  }
 96141  
 96142  // Specification to increase the capacity of a VMFS datastore by expanding
 96143  // (increasing the size of) an existing extent of the datastore.
 96144  type VmfsDatastoreExpandSpec struct {
 96145  	VmfsDatastoreSpec
 96146  
 96147  	// Partitioning specification.
 96148  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96149  	// VMFS extent to expand.
 96150  	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
 96151  }
 96152  
 96153  func init() {
 96154  	t["VmfsDatastoreExpandSpec"] = reflect.TypeOf((*VmfsDatastoreExpandSpec)(nil)).Elem()
 96155  }
 96156  
 96157  // Specification to increase the capacity of a VMFS datastore by adding
 96158  // one or more new extents to the datastore.
 96159  //
 96160  // All the extents to be added
 96161  // must be on the same disk. Extension is different
 96162  // from creation in that the VMFS creation specification need not be
 96163  // specified.
 96164  type VmfsDatastoreExtendSpec struct {
 96165  	VmfsDatastoreSpec
 96166  
 96167  	// Partitioning specification.
 96168  	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
 96169  	// Extents to append to VMFS.
 96170  	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
 96171  }
 96172  
 96173  func init() {
 96174  	t["VmfsDatastoreExtendSpec"] = reflect.TypeOf((*VmfsDatastoreExtendSpec)(nil)).Elem()
 96175  }
 96176  
 96177  // Information details about a VMFS datastore.
 96178  type VmfsDatastoreInfo struct {
 96179  	DatastoreInfo
 96180  
 96181  	// Maximum raw device mapping size (physical compatibility)
 96182  	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty"`
 96183  	// Maximum raw device mapping size (virtual compatibility)
 96184  	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty"`
 96185  	// The VMFS volume information for the datastore.
 96186  	//
 96187  	// May not be
 96188  	// available when the datastore is not accessible.
 96189  	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
 96190  }
 96191  
 96192  func init() {
 96193  	t["VmfsDatastoreInfo"] = reflect.TypeOf((*VmfsDatastoreInfo)(nil)).Elem()
 96194  }
 96195  
 96196  // Datastore addition policy to use multiple extents on the disk for a VMFS
 96197  // datastore.
 96198  //
 96199  // Multiple extents implies that more than one disk partition
 96200  // will be created on the disk for creating or increasing the capacity of a
 96201  // VMFS datastore.
 96202  // Multiple extents are needed when unpartitioned space is fragmented in the
 96203  // existing partition layout of the disk.
 96204  type VmfsDatastoreMultipleExtentOption struct {
 96205  	VmfsDatastoreBaseOption
 96206  
 96207  	// The block ranges to be used as extents in a VMFS datastore.
 96208  	//
 96209  	// The first
 96210  	// block range will be the head partition.
 96211  	VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 96212  }
 96213  
 96214  func init() {
 96215  	t["VmfsDatastoreMultipleExtentOption"] = reflect.TypeOf((*VmfsDatastoreMultipleExtentOption)(nil)).Elem()
 96216  }
 96217  
 96218  // VMFS datastore provisioning option that can be applied on a disk.
 96219  //
 96220  // VMFS
 96221  // datastores can be created or have their capacity increased using storage
 96222  // from a disk.
 96223  // There are often multiple ways in which extents can be allocated on a disk.
 96224  // Each instance of this structure represents one of the possible options
 96225  // that can be applied to provisiong VMFS datastore storage. Only options
 96226  // that follow ESX Server best practice guidelines will be presented.
 96227  type VmfsDatastoreOption struct {
 96228  	DynamicData
 96229  
 96230  	// Information about this VMFS datastore provisioniing option.
 96231  	//
 96232  	// This
 96233  	// structure describes the extent allocation policy represented by
 96234  	// this option.
 96235  	Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr" json:"info"`
 96236  	// Specification to create or increase the capacity of a VMFS datastore.
 96237  	//
 96238  	// This property contains a configuration specification that can be
 96239  	// applied to effect the creation or capacity increase.
 96240  	Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr" json:"spec"`
 96241  }
 96242  
 96243  func init() {
 96244  	t["VmfsDatastoreOption"] = reflect.TypeOf((*VmfsDatastoreOption)(nil)).Elem()
 96245  }
 96246  
 96247  // Datastore addition policy to use a single extent on the disk for a VMFS
 96248  // datastore.
 96249  //
 96250  // A single extent implies that one disk partition will be
 96251  // created on the disk for creating or increasing the capacity of a VMFS datastore.
 96252  type VmfsDatastoreSingleExtentOption struct {
 96253  	VmfsDatastoreBaseOption
 96254  
 96255  	// The block range to be used as an extent in a VMFS datastore.
 96256  	VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
 96257  }
 96258  
 96259  func init() {
 96260  	t["VmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem()
 96261  }
 96262  
 96263  // Base class for VMFS datastore addition specification.
 96264  //
 96265  // Used as a generic
 96266  // way to point to one of the creation specifications that can be used to
 96267  // apply a specification to effect the creation or extension of a VMFS
 96268  // datastore.
 96269  type VmfsDatastoreSpec struct {
 96270  	DynamicData
 96271  
 96272  	// The UUID of the SCSI disk on which the VMFS datastore is located.
 96273  	//
 96274  	// See also `HostScsiDisk`, `ScsiLun.uuid`.
 96275  	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
 96276  }
 96277  
 96278  func init() {
 96279  	t["VmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem()
 96280  }
 96281  
 96282  // This is a base class for all VMFS volume mount related faults.
 96283  type VmfsMountFault struct {
 96284  	HostConfigFault
 96285  
 96286  	// Vmfs volume uuid
 96287  	Uuid string `xml:"uuid" json:"uuid"`
 96288  }
 96289  
 96290  func init() {
 96291  	t["VmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem()
 96292  }
 96293  
 96294  type VmfsMountFaultFault BaseVmfsMountFault
 96295  
 96296  func init() {
 96297  	t["VmfsMountFaultFault"] = reflect.TypeOf((*VmfsMountFaultFault)(nil)).Elem()
 96298  }
 96299  
 96300  // VMFS unmap reclaims unused storage space.
 96301  //
 96302  // This data object type
 96303  // describes the specification of VMFS unmap bandwidth.
 96304  type VmfsUnmapBandwidthSpec struct {
 96305  	DynamicData
 96306  
 96307  	// This property determines the unmap bandwidth policy.
 96308  	//
 96309  	// See `HostVmfsVolumeUnmapBandwidthPolicy_enum` for supported
 96310  	// values. If not specified, the default value is
 96311  	// `fixed`, which means
 96312  	// unmap is processed at a fixed rate.
 96313  	Policy string `xml:"policy" json:"policy"`
 96314  	// This property determines the bandwidth under the fixed policy.
 96315  	FixedValue int64 `xml:"fixedValue" json:"fixedValue"`
 96316  	// This property determines the lower limits of the unmap bandwidth
 96317  	// under the dynamic policy.
 96318  	DynamicMin int64 `xml:"dynamicMin" json:"dynamicMin"`
 96319  	// This property determines the upper limits of the unmap bandwidth
 96320  	// under the dynamic policy.
 96321  	DynamicMax int64 `xml:"dynamicMax" json:"dynamicMax"`
 96322  }
 96323  
 96324  func init() {
 96325  	t["VmfsUnmapBandwidthSpec"] = reflect.TypeOf((*VmfsUnmapBandwidthSpec)(nil)).Elem()
 96326  }
 96327  
 96328  // This fault is thrown when the Vmotion Interface on this host is not enabled.
 96329  //
 96330  // The Vmotion Interface is needed for waking up the host from standby mode.
 96331  type VmotionInterfaceNotEnabled struct {
 96332  	HostPowerOpFailed
 96333  }
 96334  
 96335  func init() {
 96336  	t["VmotionInterfaceNotEnabled"] = reflect.TypeOf((*VmotionInterfaceNotEnabled)(nil)).Elem()
 96337  }
 96338  
 96339  type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled
 96340  
 96341  func init() {
 96342  	t["VmotionInterfaceNotEnabledFault"] = reflect.TypeOf((*VmotionInterfaceNotEnabledFault)(nil)).Elem()
 96343  }
 96344  
 96345  // This data structure defines the failover policy for a distributed
 96346  // virtual switch when network offload is enabled, specifically
 96347  // related to the Data Processing Unit(DPU).
 96348  //
 96349  // The active and standby uplinks are expected to be backed by different
 96350  // DPUs to provide redundancy. If DPU backing active uplinks fails, then
 96351  // the standby DPU takes over to ensure uninterrupted network connectivity.
 96352  type VmwareDistributedVirtualSwitchDpuFailoverPolicy struct {
 96353  	DynamicData
 96354  
 96355  	// The name of the active uplink(s).
 96356  	//
 96357  	// These uplink(s) must be backed
 96358  	// by vmnic(s) from a single DPU.
 96359  	ActiveUplink []string `xml:"activeUplink,omitempty" json:"activeUplink,omitempty"`
 96360  	// The name of the standby uplink(s).
 96361  	//
 96362  	// These uplink(s) must be backed
 96363  	// by vmnic(s) from a different DPU than the active uplink(s).
 96364  	// An empty standbyUplink indicates that no failover action will be
 96365  	// taken after the active DPU fails.
 96366  	StandbyUplink []string `xml:"standbyUplink,omitempty" json:"standbyUplink,omitempty"`
 96367  }
 96368  
 96369  func init() {
 96370  	t["VmwareDistributedVirtualSwitchDpuFailoverPolicy"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchDpuFailoverPolicy)(nil)).Elem()
 96371  	minAPIVersionForType["VmwareDistributedVirtualSwitchDpuFailoverPolicy"] = "8.0.3.0"
 96372  }
 96373  
 96374  // This data structure defines the network offoad specific configuration of
 96375  // a distributed virtual switch.
 96376  type VmwareDistributedVirtualSwitchNetworkOffloadConfig struct {
 96377  	DynamicData
 96378  
 96379  	// The DPU failover policy of the switch.
 96380  	//
 96381  	// If this property is not set, all uplink ports are active uplinks.
 96382  	DpuFailoverPolicy *VmwareDistributedVirtualSwitchDpuFailoverPolicy `xml:"dpuFailoverPolicy,omitempty" json:"dpuFailoverPolicy,omitempty"`
 96383  }
 96384  
 96385  func init() {
 96386  	t["VmwareDistributedVirtualSwitchNetworkOffloadConfig"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchNetworkOffloadConfig)(nil)).Elem()
 96387  	minAPIVersionForType["VmwareDistributedVirtualSwitchNetworkOffloadConfig"] = "8.0.3.0"
 96388  }
 96389  
 96390  // This data type defines the configuration when PVLAN id is to be
 96391  // used for the ports.
 96392  type VmwareDistributedVirtualSwitchPvlanSpec struct {
 96393  	VmwareDistributedVirtualSwitchVlanSpec
 96394  
 96395  	// The `VMwareDVSPvlanMapEntry.secondaryVlanId`.
 96396  	PvlanId int32 `xml:"pvlanId" json:"pvlanId"`
 96397  }
 96398  
 96399  func init() {
 96400  	t["VmwareDistributedVirtualSwitchPvlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanSpec)(nil)).Elem()
 96401  }
 96402  
 96403  // This data type specifies that the port uses trunk mode,
 96404  // which allows the guest operating system to manage its own VLAN tags.
 96405  type VmwareDistributedVirtualSwitchTrunkVlanSpec struct {
 96406  	VmwareDistributedVirtualSwitchVlanSpec
 96407  
 96408  	// The VlanId range for the trunk port.
 96409  	//
 96410  	// The valid VlanId range is
 96411  	// from 0 to 4094. Overlapping ranges are allowed.
 96412  	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
 96413  }
 96414  
 96415  func init() {
 96416  	t["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchTrunkVlanSpec)(nil)).Elem()
 96417  }
 96418  
 96419  // This data type defines the configuration when single vlanId is used for
 96420  // the port.
 96421  type VmwareDistributedVirtualSwitchVlanIdSpec struct {
 96422  	VmwareDistributedVirtualSwitchVlanSpec
 96423  
 96424  	// The VLAN ID for ports.
 96425  	//
 96426  	// Possible values:
 96427  	//   - A value of 0 specifies that you do not want the port associated
 96428  	//     with a VLAN.
 96429  	//   - A value from 1 to 4094 specifies a VLAN ID for the port.
 96430  	VlanId int32 `xml:"vlanId" json:"vlanId"`
 96431  }
 96432  
 96433  func init() {
 96434  	t["VmwareDistributedVirtualSwitchVlanIdSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanIdSpec)(nil)).Elem()
 96435  }
 96436  
 96437  // Base class for Vlan Specifiation for ports.
 96438  type VmwareDistributedVirtualSwitchVlanSpec struct {
 96439  	InheritablePolicy
 96440  }
 96441  
 96442  func init() {
 96443  	t["VmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem()
 96444  }
 96445  
 96446  // Policy for a uplink port team.
 96447  type VmwareUplinkPortTeamingPolicy struct {
 96448  	InheritablePolicy
 96449  
 96450  	// Network adapter teaming policy.
 96451  	//
 96452  	// The policy defines the way traffic
 96453  	// from the clients of the team is routed through the different uplinks
 96454  	// in the team. The policies supported on the VDS platform is one of
 96455  	// `nicTeamingPolicy`.
 96456  	Policy *StringPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
 96457  	// The flag to indicate whether or not the teaming policy is applied
 96458  	// to inbound frames as well.
 96459  	//
 96460  	// Also see `HostNicTeamingPolicy.reversePolicy`
 96461  	ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty" json:"reversePolicy,omitempty"`
 96462  	// Flag to specify whether or not to notify the physical switch
 96463  	// if a link fails.
 96464  	//
 96465  	// Also see `HostNicTeamingPolicy.notifySwitches`
 96466  	NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty" json:"notifySwitches,omitempty"`
 96467  	// The flag to indicate whether or not to use a rolling policy when
 96468  	// restoring links.
 96469  	//
 96470  	// Also see `HostNicTeamingPolicy.rollingOrder`
 96471  	RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty" json:"rollingOrder,omitempty"`
 96472  	// Failover detection policy for the uplink port team.
 96473  	FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
 96474  	// Failover order policy for uplink ports on the hosts.
 96475  	UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty" json:"uplinkPortOrder,omitempty"`
 96476  }
 96477  
 96478  func init() {
 96479  	t["VmwareUplinkPortTeamingPolicy"] = reflect.TypeOf((*VmwareUplinkPortTeamingPolicy)(nil)).Elem()
 96480  }
 96481  
 96482  // This argument records a Virtual NIC device that connects to a DVPort.
 96483  type VnicPortArgument struct {
 96484  	DynamicData
 96485  
 96486  	// The Virtual NIC devices that were using the DVports.
 96487  	Vnic string `xml:"vnic" json:"vnic"`
 96488  	// The DVPorts that were being used.
 96489  	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
 96490  }
 96491  
 96492  func init() {
 96493  	t["VnicPortArgument"] = reflect.TypeOf((*VnicPortArgument)(nil)).Elem()
 96494  }
 96495  
 96496  // An error occurred in the Open Source Components applications during
 96497  // volume editing.
 96498  //
 96499  // Possibly caused by an incompatible cygwin version
 96500  // installed in the VirtualCenter server.
 96501  type VolumeEditorError struct {
 96502  	CustomizationFault
 96503  }
 96504  
 96505  func init() {
 96506  	t["VolumeEditorError"] = reflect.TypeOf((*VolumeEditorError)(nil)).Elem()
 96507  }
 96508  
 96509  type VolumeEditorErrorFault VolumeEditorError
 96510  
 96511  func init() {
 96512  	t["VolumeEditorErrorFault"] = reflect.TypeOf((*VolumeEditorErrorFault)(nil)).Elem()
 96513  }
 96514  
 96515  // A VramLimitLicense fault is thrown if executing an operation
 96516  // would result in exceeding maximum allowed vRAM amount.
 96517  //
 96518  // For example, this could happen when powering on a VM,
 96519  // hot-plugging memory into a running VMm, etc.
 96520  type VramLimitLicense struct {
 96521  	NotEnoughLicenses
 96522  
 96523  	// The maximum allowed vRAM amount.
 96524  	Limit int32 `xml:"limit" json:"limit"`
 96525  }
 96526  
 96527  func init() {
 96528  	t["VramLimitLicense"] = reflect.TypeOf((*VramLimitLicense)(nil)).Elem()
 96529  }
 96530  
 96531  type VramLimitLicenseFault VramLimitLicense
 96532  
 96533  func init() {
 96534  	t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem()
 96535  }
 96536  
 96537  // The `VsanClusterConfigInfo` data object contains configuration
 96538  // data for the VSAN service in a cluster.
 96539  //
 96540  // This data object is used both for
 96541  // specifying cluster-wide settings when updating the VSAN service, and as an
 96542  // output datatype when retrieving current cluster-wide VSAN service settings.
 96543  //
 96544  // See also `ComputeResource.ReconfigureComputeResource_Task`.
 96545  type VsanClusterConfigInfo struct {
 96546  	DynamicData
 96547  
 96548  	// Whether the VSAN service is enabled for the cluster.
 96549  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 96550  	// Default VSAN settings to use for hosts admitted to the cluster when the
 96551  	// VSAN service is enabled.
 96552  	//
 96553  	// If omitted, values will default as though the
 96554  	// fields in the `VsanClusterConfigInfoHostDefaultInfo` have been omitted.
 96555  	//
 96556  	// See also `VsanClusterConfigInfo.enabled`, `VsanClusterConfigInfoHostDefaultInfo`.
 96557  	DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty" json:"defaultConfig,omitempty"`
 96558  	// Whether the vSAN ESA is enabled for vSAN cluster.
 96559  	//
 96560  	// This can only be
 96561  	// enabled when vSAN is enabled on the cluster.
 96562  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 96563  }
 96564  
 96565  func init() {
 96566  	t["VsanClusterConfigInfo"] = reflect.TypeOf((*VsanClusterConfigInfo)(nil)).Elem()
 96567  }
 96568  
 96569  // Default VSAN service configuration to be used for hosts admitted
 96570  // to the cluster.
 96571  //
 96572  // See also `VsanClusterConfigInfo.defaultConfig`.
 96573  type VsanClusterConfigInfoHostDefaultInfo struct {
 96574  	DynamicData
 96575  
 96576  	// VSAN service cluster UUID, in the string form
 96577  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 96578  	// digits.
 96579  	//
 96580  	// When enabling the VSAN service on the cluster, this value shall
 96581  	// not be specified by the user; a suitable UUID will be generated
 96582  	// by the platform.
 96583  	// While the VSAN service is enabled, this is a read-only value.
 96584  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 96585  	// Deprecated as this configuration will be deprecated, autoclaim
 96586  	// will be no longer supported.
 96587  	//
 96588  	// Whether the VSAN service is configured to automatically claim local
 96589  	// storage on VSAN-enabled hosts in the cluster.
 96590  	//
 96591  	// If omitted while enabling the VSAN service, this value will default
 96592  	// to <code>true</code>.
 96593  	// Changing this value to <code>false</code> shall not affect any
 96594  	// existing disk mappings in use by hosts currently participating in
 96595  	// the VSAN service.
 96596  	// Changing this value to <code>true</code> will result in local disks
 96597  	// being automatically claimed for use by the VSAN service, for hosts
 96598  	// currently participating in the VSAN service.
 96599  	//
 96600  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `VsanHostConfigInfoStorageInfo.autoClaimStorage`.
 96601  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 96602  	// Whether the VSAN service is configured to enforce checksum protection.
 96603  	//
 96604  	// If omitted while enabling the VSAN service, this value will default
 96605  	// to <code>false<code>.
 96606  	// Change this value to <code>false</code> shall not affect any existing
 96607  	// disk status.
 96608  	// Changing this value to <code>true</code> shall do disk enforcement
 96609  	// check that all VSAN disks are checksum enabled.
 96610  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty"`
 96611  }
 96612  
 96613  func init() {
 96614  	t["VsanClusterConfigInfoHostDefaultInfo"] = reflect.TypeOf((*VsanClusterConfigInfoHostDefaultInfo)(nil)).Elem()
 96615  }
 96616  
 96617  // Fault thrown for the case that an attempt is made to move a host which
 96618  // is enabled for VSAN into a `ClusterComputeResource` whose
 96619  // VSAN cluster UUID does not match.
 96620  //
 96621  // See also `CannotMoveVsanEnabledHost`.
 96622  type VsanClusterUuidMismatch struct {
 96623  	CannotMoveVsanEnabledHost
 96624  
 96625  	// The VSAN cluster UUID in use by the host at hand.
 96626  	HostClusterUuid string `xml:"hostClusterUuid" json:"hostClusterUuid"`
 96627  	// The VSAN cluster UUID in use by the destination
 96628  	// `ClusterComputeResource`.
 96629  	DestinationClusterUuid string `xml:"destinationClusterUuid" json:"destinationClusterUuid"`
 96630  }
 96631  
 96632  func init() {
 96633  	t["VsanClusterUuidMismatch"] = reflect.TypeOf((*VsanClusterUuidMismatch)(nil)).Elem()
 96634  }
 96635  
 96636  type VsanClusterUuidMismatchFault VsanClusterUuidMismatch
 96637  
 96638  func init() {
 96639  	t["VsanClusterUuidMismatchFault"] = reflect.TypeOf((*VsanClusterUuidMismatchFault)(nil)).Elem()
 96640  }
 96641  
 96642  // Detailed information about a vSAN datastore.
 96643  type VsanDatastoreInfo struct {
 96644  	DatastoreInfo
 96645  
 96646  	// The cluster membership identity of the datastore.
 96647  	MembershipUuid string `xml:"membershipUuid,omitempty" json:"membershipUuid,omitempty"`
 96648  	// The generation number tracking datastore accessibility.
 96649  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 96650  }
 96651  
 96652  func init() {
 96653  	t["VsanDatastoreInfo"] = reflect.TypeOf((*VsanDatastoreInfo)(nil)).Elem()
 96654  	minAPIVersionForType["VsanDatastoreInfo"] = "7.0.1.0"
 96655  }
 96656  
 96657  // Base exception class for VSAN disk-related faults.
 96658  type VsanDiskFault struct {
 96659  	VsanFault
 96660  
 96661  	// The canonical name for the disk at hand, if applicable.
 96662  	//
 96663  	// See also `ScsiLun.canonicalName`.
 96664  	Device string `xml:"device,omitempty" json:"device,omitempty"`
 96665  }
 96666  
 96667  func init() {
 96668  	t["VsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem()
 96669  }
 96670  
 96671  type VsanDiskFaultFault BaseVsanDiskFault
 96672  
 96673  func init() {
 96674  	t["VsanDiskFaultFault"] = reflect.TypeOf((*VsanDiskFaultFault)(nil)).Elem()
 96675  }
 96676  
 96677  // Base exception class for VSAN-specific faults raised for host
 96678  // or cluster operations.
 96679  //
 96680  // See also `HostVsanSystem`, `ComputeResource.ReconfigureComputeResource_Task`.
 96681  type VsanFault struct {
 96682  	VimFault
 96683  }
 96684  
 96685  func init() {
 96686  	t["VsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem()
 96687  }
 96688  
 96689  type VsanFaultFault BaseVsanFault
 96690  
 96691  func init() {
 96692  	t["VsanFaultFault"] = reflect.TypeOf((*VsanFaultFault)(nil)).Elem()
 96693  }
 96694  
 96695  // The `VsanHostClusterStatus` data object contains a host's cluster status
 96696  // information for the VSAN service.
 96697  //
 96698  // This data object is used to represent
 96699  // read-only state whose values may change during operation.
 96700  //
 96701  // See also `HostVsanSystem.QueryHostStatus`.
 96702  type VsanHostClusterStatus struct {
 96703  	DynamicData
 96704  
 96705  	// VSAN service cluster UUID.
 96706  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 96707  	// VSAN node UUID for this host.
 96708  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 96709  	// VSAN health state for this host.
 96710  	//
 96711  	// See also `VsanHostHealthState_enum`.
 96712  	Health string `xml:"health" json:"health"`
 96713  	// VSAN node state for this host.
 96714  	NodeState VsanHostClusterStatusState `xml:"nodeState" json:"nodeState"`
 96715  	// List of UUIDs for VSAN nodes known to this host.
 96716  	MemberUuid []string `xml:"memberUuid,omitempty" json:"memberUuid,omitempty"`
 96717  }
 96718  
 96719  func init() {
 96720  	t["VsanHostClusterStatus"] = reflect.TypeOf((*VsanHostClusterStatus)(nil)).Elem()
 96721  }
 96722  
 96723  // Data object representing the VSAN node state for a host.
 96724  type VsanHostClusterStatusState struct {
 96725  	DynamicData
 96726  
 96727  	// VSAN node state for this host.
 96728  	//
 96729  	// See also `VsanHostNodeState_enum`.
 96730  	State string `xml:"state" json:"state"`
 96731  	// An estimation of the completion of a node state transition; this
 96732  	// value may be populated for transitory node states.
 96733  	//
 96734  	// See also `VsanHostNodeState_enum`.
 96735  	Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty" json:"completion,omitempty"`
 96736  }
 96737  
 96738  func init() {
 96739  	t["VsanHostClusterStatusState"] = reflect.TypeOf((*VsanHostClusterStatusState)(nil)).Elem()
 96740  }
 96741  
 96742  // Estimated completion status for transitory node states.
 96743  //
 96744  // See also `VsanHostNodeState_enum`.
 96745  type VsanHostClusterStatusStateCompletionEstimate struct {
 96746  	DynamicData
 96747  
 96748  	// Estimated time of completion.
 96749  	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
 96750  	// Estimated percent of completion as a value in the range \[0, 100\].
 96751  	PercentComplete int32 `xml:"percentComplete,omitempty" json:"percentComplete,omitempty"`
 96752  }
 96753  
 96754  func init() {
 96755  	t["VsanHostClusterStatusStateCompletionEstimate"] = reflect.TypeOf((*VsanHostClusterStatusStateCompletionEstimate)(nil)).Elem()
 96756  }
 96757  
 96758  // The `VsanHostConfigInfo` data object contains host-specific settings
 96759  // for the VSAN service.
 96760  //
 96761  // This data object is used both for specifying
 96762  // settings for updating the VSAN service, and as an output datatype
 96763  // when retrieving current VSAN service settings.
 96764  type VsanHostConfigInfo struct {
 96765  	DynamicData
 96766  
 96767  	// Whether the VSAN service is currently enabled on this host.
 96768  	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
 96769  	// The `HostSystem` for this host.
 96770  	//
 96771  	// This argument is required when this configuration is specified as
 96772  	// an input to VC-level APIs. When this configuration is specified
 96773  	// to a host-level direct API, this argument may be omitted.
 96774  	//
 96775  	// See also `ComputeResource.ReconfigureComputeResource_Task`, `HostVsanSystem.UpdateVsan_Task`.
 96776  	//
 96777  	// Refers instance of `HostSystem`.
 96778  	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
 96779  	// The VSAN service cluster configuration for this host.
 96780  	ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty" json:"clusterInfo,omitempty"`
 96781  	// The VSAN storage configuration for this host.
 96782  	//
 96783  	// VSAN storage configuration settings are independent of the
 96784  	// current value of `VsanHostConfigInfo.enabled`.
 96785  	StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty" json:"storageInfo,omitempty"`
 96786  	// The VSAN network configuration for this host.
 96787  	//
 96788  	// VSAN network configuration settings are independent of the
 96789  	// current value of `VsanHostConfigInfo.enabled`.
 96790  	NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty" json:"networkInfo,omitempty"`
 96791  	// The VSAN fault domain configuration for this host.
 96792  	//
 96793  	// VSAN host fault domain settings are independent of the
 96794  	// current value of `VsanHostConfigInfo.enabled`.
 96795  	FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty" json:"faultDomainInfo,omitempty"`
 96796  	// Whether the vSAN ESA is enabled on this host.
 96797  	//
 96798  	// This can only be
 96799  	// enabled when vSAN is enabled on this host.
 96800  	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
 96801  }
 96802  
 96803  func init() {
 96804  	t["VsanHostConfigInfo"] = reflect.TypeOf((*VsanHostConfigInfo)(nil)).Elem()
 96805  }
 96806  
 96807  // Host-local VSAN cluster configuration.
 96808  //
 96809  // This data object is used
 96810  // both for specifying and retrieving cluster configuration for a
 96811  // host participating in the VSAN service.
 96812  type VsanHostConfigInfoClusterInfo struct {
 96813  	DynamicData
 96814  
 96815  	// VSAN service cluster UUID, in the string form
 96816  	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
 96817  	// digits.
 96818  	//
 96819  	// If provided while enabling the VSAN service, this value will be
 96820  	// used for the service cluster UUID. If omitted when enabling the
 96821  	// VSAN service, a suitable UUID will be generated by the platform.
 96822  	// This is a read-only value while the VSAN service is enabled.
 96823  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 96824  	// VSAN node UUID for this host.
 96825  	//
 96826  	// This is a read-only value which is populated upon enabling of the
 96827  	// VSAN service.
 96828  	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
 96829  }
 96830  
 96831  func init() {
 96832  	t["VsanHostConfigInfoClusterInfo"] = reflect.TypeOf((*VsanHostConfigInfoClusterInfo)(nil)).Elem()
 96833  }
 96834  
 96835  // Host-local VSAN network configuration.
 96836  //
 96837  // This data object is used
 96838  // both for specifying and retrieving network configuration for a
 96839  // host participating in the VSAN service.
 96840  type VsanHostConfigInfoNetworkInfo struct {
 96841  	DynamicData
 96842  
 96843  	// Set of PortConfig entries for use by the VSAN service, one per
 96844  	// "virtual network" as used by VSAN.
 96845  	Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty" json:"port,omitempty"`
 96846  }
 96847  
 96848  func init() {
 96849  	t["VsanHostConfigInfoNetworkInfo"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfo)(nil)).Elem()
 96850  }
 96851  
 96852  // A PortConfig represents a virtual network adapter and its
 96853  // configuration for use by the VSAN service.
 96854  //
 96855  // See also `HostVirtualNic`.
 96856  type VsanHostConfigInfoNetworkInfoPortConfig struct {
 96857  	DynamicData
 96858  
 96859  	// `VsanHostIpConfig` for this PortConfig.
 96860  	IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
 96861  	// Device name which identifies the network adapter for this
 96862  	// PortConfig.
 96863  	//
 96864  	// See also `HostVirtualNic.device`.
 96865  	Device string `xml:"device" json:"device"`
 96866  }
 96867  
 96868  func init() {
 96869  	t["VsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem()
 96870  }
 96871  
 96872  // Host-local VSAN storage configuration.
 96873  //
 96874  // This data object is used
 96875  // both for specifying and retrieving storage configuration for a
 96876  // host participating in the VSAN service.
 96877  type VsanHostConfigInfoStorageInfo struct {
 96878  	DynamicData
 96879  
 96880  	// Deprecated as this configuration will be deprecated, autoclaim
 96881  	// will be no longer supported.
 96882  	//
 96883  	// Whether the VSAN service is configured to automatically claim local
 96884  	// unused storage on this host.
 96885  	//
 96886  	// When set, the VSAN service will automatically format and use local
 96887  	// disks. Side effects from any disk consumption will be reflected in
 96888  	// `VsanHostConfigInfoStorageInfo.diskMapping`.
 96889  	// If this argument is specified as a host-level configuration input
 96890  	// at the VC-level (see `ClusterConfigInfoEx.vsanHostConfig`),
 96891  	// it will override that of any cluster-level default value.
 96892  	//
 96893  	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `ClusterConfigInfoEx.vsanHostConfig`, `VsanClusterConfigInfo.defaultConfig`.
 96894  	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
 96895  	// Deprecated use `VsanHostConfigInfoStorageInfo.diskMapInfo` instead.
 96896  	//
 96897  	// List of `VsanHostDiskMapping` entries in use by the VSAN service.
 96898  	//
 96899  	// DiskMappings to be used by the VSAN service may be manually
 96900  	// specified using
 96901  	// `HostVsanSystem.InitializeDisks_Task`.
 96902  	//
 96903  	// See also `HostVsanSystem.InitializeDisks_Task`.
 96904  	DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty" json:"diskMapping,omitempty"`
 96905  	// List of `VsanHostDiskMapping` entries with runtime information from
 96906  	// the perspective of this host.
 96907  	DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty" json:"diskMapInfo,omitempty"`
 96908  	// Deprecated this attribute was originally used for indicating whether
 96909  	// hardware checksums is supported on the disks. But in vSphere 2016
 96910  	// hardware checksums are replaced with software implementation,
 96911  	// supported by all disks. This makes current field redundant,
 96912  	// and its value as an input/output is ignored.
 96913  	//
 96914  	// Whether checksum is enabled on all the disks in this host.
 96915  	//
 96916  	// If any disk is not checksum capable or 520 bps formatted,
 96917  	// we will skip it.
 96918  	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty"`
 96919  }
 96920  
 96921  func init() {
 96922  	t["VsanHostConfigInfoStorageInfo"] = reflect.TypeOf((*VsanHostConfigInfoStorageInfo)(nil)).Elem()
 96923  }
 96924  
 96925  // A `VsanHostDecommissionMode` defines an action to take upon decommissioning
 96926  // a host from use with the VSAN service.
 96927  //
 96928  // If the VSAN service DecommissionMode is omitted in a call to
 96929  // `HostSystem.EnterMaintenanceMode_Task`, the default action chosen
 96930  // will be `ensureObjectAccessibility`.
 96931  //
 96932  // See also `HostSystem.EnterMaintenanceMode_Task`, `HostMaintenanceSpec.vsanMode`.
 96933  type VsanHostDecommissionMode struct {
 96934  	DynamicData
 96935  
 96936  	// Specifies an action to take with regard to the VSAN service upon
 96937  	// putting a host into maintenance mode.
 96938  	//
 96939  	// See also `VsanHostDecommissionModeObjectAction_enum`.
 96940  	ObjectAction string `xml:"objectAction" json:"objectAction"`
 96941  }
 96942  
 96943  func init() {
 96944  	t["VsanHostDecommissionMode"] = reflect.TypeOf((*VsanHostDecommissionMode)(nil)).Elem()
 96945  }
 96946  
 96947  // A DiskMapInfo represents a `VsanHostDiskMapping` and its
 96948  // corresponding runtime information.
 96949  //
 96950  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 96951  type VsanHostDiskMapInfo struct {
 96952  	DynamicData
 96953  
 96954  	// DiskMapping.
 96955  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 96956  	// Indicates whether the `VsanHostDiskMapping` is mounted.
 96957  	Mounted bool `xml:"mounted" json:"mounted"`
 96958  }
 96959  
 96960  func init() {
 96961  	t["VsanHostDiskMapInfo"] = reflect.TypeOf((*VsanHostDiskMapInfo)(nil)).Elem()
 96962  }
 96963  
 96964  // A DiskMapResult represents the result of an operation performed
 96965  // on the set of disks in a `VsanHostDiskMapping`.
 96966  //
 96967  // See also `HostVsanSystem.InitializeDisks_Task`, `HostVsanSystem.UpdateVsan_Task`.
 96968  type VsanHostDiskMapResult struct {
 96969  	DynamicData
 96970  
 96971  	// DiskMapping for this result.
 96972  	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
 96973  	// List of results for each disk in the mapping.
 96974  	DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty" json:"diskResult,omitempty"`
 96975  	// Error information for this result.
 96976  	//
 96977  	// See also `VsanDiskFault`.
 96978  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 96979  }
 96980  
 96981  func init() {
 96982  	t["VsanHostDiskMapResult"] = reflect.TypeOf((*VsanHostDiskMapResult)(nil)).Elem()
 96983  }
 96984  
 96985  // A `VsanHostDiskMapping` is a set of one SSD `HostScsiDisk` backed
 96986  // by a set of one or more non-SSD `HostScsiDisk`.
 96987  //
 96988  // The maximum
 96989  // allowed `VsanHostDiskMapping` for a host is 5. A maximum set
 96990  // of 7 non-SSDs `HostScsiDisk` can be added to the one
 96991  // SSD `HostScsiDisk`.
 96992  //
 96993  // See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.
 96994  type VsanHostDiskMapping struct {
 96995  	DynamicData
 96996  
 96997  	// SSD `HostScsiDisk`.
 96998  	Ssd HostScsiDisk `xml:"ssd" json:"ssd"`
 96999  	// Set of non-SSD backing `HostScsiDisk`.
 97000  	NonSsd []HostScsiDisk `xml:"nonSsd" json:"nonSsd"`
 97001  }
 97002  
 97003  func init() {
 97004  	t["VsanHostDiskMapping"] = reflect.TypeOf((*VsanHostDiskMapping)(nil)).Elem()
 97005  }
 97006  
 97007  // A DiskResult represents the result of VSAN configuration operation
 97008  // on a `HostScsiDisk`, and its current eligibility state for use by
 97009  // the VSAN service.
 97010  //
 97011  // See also `HostVsanSystem.QueryDisksForVsan`, `HostVsanSystem.UpdateVsan_Task`, `VsanHostDiskResultState_enum`.
 97012  type VsanHostDiskResult struct {
 97013  	DynamicData
 97014  
 97015  	// Disk for this result.
 97016  	Disk HostScsiDisk `xml:"disk" json:"disk"`
 97017  	// State of the disk for this result.
 97018  	//
 97019  	// See also `VsanHostDiskResultState_enum`.
 97020  	State string `xml:"state" json:"state"`
 97021  	// VSAN disk UUID in case this disk is a VSAN disk.
 97022  	VsanUuid string `xml:"vsanUuid,omitempty" json:"vsanUuid,omitempty"`
 97023  	// Error information for this result: may be populated with additional
 97024  	// information about the disk at hand, regardless of the disk's state.
 97025  	//
 97026  	// See also `VsanDiskFault`, `VsanHostDiskResult.state`.
 97027  	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 97028  	// Indicates whether the disk is degraded in VSAN performance.
 97029  	//
 97030  	// If set, indicates the disk performance is degraded in VSAN
 97031  	// If unset, it is unknown whether the disk performance is degraded in VSAN.
 97032  	Degraded *bool `xml:"degraded" json:"degraded,omitempty"`
 97033  }
 97034  
 97035  func init() {
 97036  	t["VsanHostDiskResult"] = reflect.TypeOf((*VsanHostDiskResult)(nil)).Elem()
 97037  }
 97038  
 97039  // Host-local VSAN fault domain configuration.
 97040  //
 97041  // This data object is used
 97042  // both for specifying and retrieving fault domain configuration for a
 97043  // host participating in the VSAN service.
 97044  type VsanHostFaultDomainInfo struct {
 97045  	DynamicData
 97046  
 97047  	// The configured VSAN fault domain.
 97048  	//
 97049  	// The length of fault domain name should not exceed 256.
 97050  	// Empty string indicates that the default fault domain is used.
 97051  	Name string `xml:"name" json:"name"`
 97052  }
 97053  
 97054  func init() {
 97055  	t["VsanHostFaultDomainInfo"] = reflect.TypeOf((*VsanHostFaultDomainInfo)(nil)).Elem()
 97056  }
 97057  
 97058  // An `VsanHostIpConfig` is a pair of multicast IP addresses for use by the VSAN
 97059  // service.
 97060  //
 97061  // For VSAN there is one such IpConfig pair per "virtual network" as
 97062  // represented by `VsanHostConfigInfoNetworkInfoPortConfig`.
 97063  //
 97064  // See also `VsanHostConfigInfoNetworkInfo`, `VsanHostConfigInfoNetworkInfo.port`, `VsanHostConfigInfoNetworkInfoPortConfig`, `HostVsanSystem.UpdateVsan_Task`.
 97065  type VsanHostIpConfig struct {
 97066  	DynamicData
 97067  
 97068  	// Agent-to-master multicast IP address.
 97069  	UpstreamIpAddress string `xml:"upstreamIpAddress" json:"upstreamIpAddress"`
 97070  	// Master-to-agent multicast IP address.
 97071  	DownstreamIpAddress string `xml:"downstreamIpAddress" json:"downstreamIpAddress"`
 97072  }
 97073  
 97074  func init() {
 97075  	t["VsanHostIpConfig"] = reflect.TypeOf((*VsanHostIpConfig)(nil)).Elem()
 97076  }
 97077  
 97078  // The `VsanHostMembershipInfo` data object contains VSAN cluster
 97079  // membership information for a single host, as observed from a
 97080  // given host.
 97081  //
 97082  // This data object is used to represent read-only
 97083  // state whose values may change during operation.
 97084  //
 97085  // See also `HostRuntimeInfo.vsanRuntimeInfo`.
 97086  type VsanHostMembershipInfo struct {
 97087  	DynamicData
 97088  
 97089  	// VSAN node UUID for the host of this MembershipInfo.
 97090  	//
 97091  	// See also `VsanHostClusterStatus.nodeUuid`.
 97092  	NodeUuid string `xml:"nodeUuid" json:"nodeUuid"`
 97093  	// Hostname for the host of this MembershipInfo.
 97094  	//
 97095  	// May be the empty string "" if the hostname is unavailable.
 97096  	Hostname string `xml:"hostname" json:"hostname"`
 97097  }
 97098  
 97099  func init() {
 97100  	t["VsanHostMembershipInfo"] = reflect.TypeOf((*VsanHostMembershipInfo)(nil)).Elem()
 97101  }
 97102  
 97103  // This data object contains VSAN cluster runtime information from
 97104  // the perspective of the host in question.
 97105  //
 97106  // This data object is used to represent read-only state whose values
 97107  // may change during operation.
 97108  type VsanHostRuntimeInfo struct {
 97109  	DynamicData
 97110  
 97111  	// This property reports host membership information.
 97112  	MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty" json:"membershipList,omitempty"`
 97113  	// List of disk issues detected on this host.
 97114  	//
 97115  	// To retrieve more information on the issues, use
 97116  	// `HostVsanSystem.QueryDisksForVsan`.
 97117  	DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty" json:"diskIssues,omitempty"`
 97118  	// Generation number tracking object accessibility.
 97119  	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
 97120  }
 97121  
 97122  func init() {
 97123  	t["VsanHostRuntimeInfo"] = reflect.TypeOf((*VsanHostRuntimeInfo)(nil)).Elem()
 97124  }
 97125  
 97126  // Data structure of reporting a disk issue.
 97127  type VsanHostRuntimeInfoDiskIssue struct {
 97128  	DynamicData
 97129  
 97130  	// Disk uuid, @see vim.host.ScsiLun#uuid
 97131  	DiskId string `xml:"diskId" json:"diskId"`
 97132  	// Type of issue
 97133  	//
 97134  	// See also `VsanDiskIssueType_enum`.
 97135  	Issue string `xml:"issue" json:"issue"`
 97136  }
 97137  
 97138  func init() {
 97139  	t["VsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*VsanHostRuntimeInfoDiskIssue)(nil)).Elem()
 97140  }
 97141  
 97142  // A VsanDiskInfo represents the additional detailed
 97143  // information of a ScsiDisk used by VSAN,
 97144  // to map physical disk to VSAN disk.
 97145  //
 97146  // See also `HostScsiDisk`.
 97147  type VsanHostVsanDiskInfo struct {
 97148  	DynamicData
 97149  
 97150  	// Disk UUID in VSAN
 97151  	VsanUuid string `xml:"vsanUuid" json:"vsanUuid"`
 97152  	// VSAN file system version number
 97153  	FormatVersion int32 `xml:"formatVersion" json:"formatVersion"`
 97154  }
 97155  
 97156  func init() {
 97157  	t["VsanHostVsanDiskInfo"] = reflect.TypeOf((*VsanHostVsanDiskInfo)(nil)).Elem()
 97158  }
 97159  
 97160  // Fault used for the add operation which will result in incompatible
 97161  // disk mappings.
 97162  //
 97163  // See also `HostVsanSystem.InitializeDisks_Task`.
 97164  type VsanIncompatibleDiskMapping struct {
 97165  	VsanDiskFault
 97166  }
 97167  
 97168  func init() {
 97169  	t["VsanIncompatibleDiskMapping"] = reflect.TypeOf((*VsanIncompatibleDiskMapping)(nil)).Elem()
 97170  }
 97171  
 97172  type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping
 97173  
 97174  func init() {
 97175  	t["VsanIncompatibleDiskMappingFault"] = reflect.TypeOf((*VsanIncompatibleDiskMappingFault)(nil)).Elem()
 97176  }
 97177  
 97178  // NewPolicyBatch --
 97179  // Structure to specify a list of object sizes and a policy for what-if
 97180  // analysis.
 97181  type VsanNewPolicyBatch struct {
 97182  	DynamicData
 97183  
 97184  	// Size (in bytes) of the objects.
 97185  	Size []int64 `xml:"size,omitempty" json:"size,omitempty"`
 97186  	// New policy in SPBM or VSAN expression format.
 97187  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 97188  }
 97189  
 97190  func init() {
 97191  	t["VsanNewPolicyBatch"] = reflect.TypeOf((*VsanNewPolicyBatch)(nil)).Elem()
 97192  }
 97193  
 97194  // PolicyChangeBatch --
 97195  // Structure to specify a list of object uuids and a policy for what-if
 97196  // analysis.
 97197  type VsanPolicyChangeBatch struct {
 97198  	DynamicData
 97199  
 97200  	// UUIDs of the objects.
 97201  	Uuid []string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97202  	// New policy in SPBM or VSAN expression format.
 97203  	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
 97204  }
 97205  
 97206  func init() {
 97207  	t["VsanPolicyChangeBatch"] = reflect.TypeOf((*VsanPolicyChangeBatch)(nil)).Elem()
 97208  }
 97209  
 97210  // PolicyCost --
 97211  // Structure to describe the cost of satisfying a policy.
 97212  type VsanPolicyCost struct {
 97213  	DynamicData
 97214  
 97215  	// Change (in bytes) of size of data stored on the datastore.
 97216  	//
 97217  	// This is
 97218  	// the max of reserved and used capacity.
 97219  	ChangeDataSize int64 `xml:"changeDataSize,omitempty" json:"changeDataSize,omitempty"`
 97220  	// Size (in bytes) of data currently stored on the datastore.
 97221  	//
 97222  	// This is
 97223  	// the max of reserved and used capacity.
 97224  	CurrentDataSize int64 `xml:"currentDataSize,omitempty" json:"currentDataSize,omitempty"`
 97225  	// Size (in bytes) for temporary data that will be needed on disk if
 97226  	// new policy is applied.
 97227  	TempDataSize int64 `xml:"tempDataSize,omitempty" json:"tempDataSize,omitempty"`
 97228  	// Size (in bytes) of data we need to write to VSAN Datastore if new
 97229  	// policy is applied.
 97230  	CopyDataSize int64 `xml:"copyDataSize,omitempty" json:"copyDataSize,omitempty"`
 97231  	// Change (in bytes) of flash space reserved for read cache if new
 97232  	// policy is applied.
 97233  	ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty" json:"changeFlashReadCacheSize,omitempty"`
 97234  	// Size (in bytes) of flash space currently reserved for read cache.
 97235  	CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty" json:"currentFlashReadCacheSize,omitempty"`
 97236  	// Current ratio of physical disk space of an object to the logical VSAN
 97237  	// address space.
 97238  	//
 97239  	// For eg. an object of size 1GB with two copies of the
 97240  	// data has two 1GB replicas and so this ratio is 2.
 97241  	CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty" json:"currentDiskSpaceToAddressSpaceRatio,omitempty"`
 97242  	// Ratio of physical disk space of an object to the logical VSAN
 97243  	// address space after new policy is applied.
 97244  	//
 97245  	// For eg. an object of size
 97246  	// 1GB with two copies of the data has two 1GB replicas and so this
 97247  	// ratio is 2.
 97248  	DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty" json:"diskSpaceToAddressSpaceRatio,omitempty"`
 97249  }
 97250  
 97251  func init() {
 97252  	t["VsanPolicyCost"] = reflect.TypeOf((*VsanPolicyCost)(nil)).Elem()
 97253  }
 97254  
 97255  // PolicySatisfiablity --
 97256  // Structure to describe whether a policy can be satisfied.
 97257  type VsanPolicySatisfiability struct {
 97258  	DynamicData
 97259  
 97260  	// UUID of the object.
 97261  	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
 97262  	// Can the policy be satisfied given the assumptions of the API that
 97263  	// queried satisfiability.
 97264  	//
 97265  	// See also `HostVsanInternalSystem.ReconfigurationSatisfiable`.
 97266  	IsSatisfiable bool `xml:"isSatisfiable" json:"isSatisfiable"`
 97267  	// Reason for not being able to satisfy the policy; This is unset if
 97268  	// policy can be satisfied.
 97269  	Reason *LocalizableMessage `xml:"reason,omitempty" json:"reason,omitempty"`
 97270  	// Cost of satisfying the new policy; This is unset if policy cannot be
 97271  	// satisfied.
 97272  	Cost *VsanPolicyCost `xml:"cost,omitempty" json:"cost,omitempty"`
 97273  }
 97274  
 97275  func init() {
 97276  	t["VsanPolicySatisfiability"] = reflect.TypeOf((*VsanPolicySatisfiability)(nil)).Elem()
 97277  }
 97278  
 97279  // Pre-flight check encountered a VC plumbing issue.
 97280  type VsanUpgradeSystemAPIBrokenIssue struct {
 97281  	VsanUpgradeSystemPreflightCheckIssue
 97282  
 97283  	// Hosts this issue applies to.
 97284  	//
 97285  	// Refers instances of `HostSystem`.
 97286  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97287  }
 97288  
 97289  func init() {
 97290  	t["VsanUpgradeSystemAPIBrokenIssue"] = reflect.TypeOf((*VsanUpgradeSystemAPIBrokenIssue)(nil)).Elem()
 97291  }
 97292  
 97293  // Pre-flight check encountered at least one host with auto-claim enabled.
 97294  type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct {
 97295  	VsanUpgradeSystemPreflightCheckIssue
 97296  
 97297  	// Hosts this issue applies to.
 97298  	//
 97299  	// Refers instances of `HostSystem`.
 97300  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97301  }
 97302  
 97303  func init() {
 97304  	t["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = reflect.TypeOf((*VsanUpgradeSystemAutoClaimEnabledOnHostsIssue)(nil)).Elem()
 97305  }
 97306  
 97307  // Pre-flight check encountered at least one host that is disconnected
 97308  // or not responding.
 97309  type VsanUpgradeSystemHostsDisconnectedIssue struct {
 97310  	VsanUpgradeSystemPreflightCheckIssue
 97311  
 97312  	// Hosts this issue applies to.
 97313  	//
 97314  	// Refers instances of `HostSystem`.
 97315  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97316  }
 97317  
 97318  func init() {
 97319  	t["VsanUpgradeSystemHostsDisconnectedIssue"] = reflect.TypeOf((*VsanUpgradeSystemHostsDisconnectedIssue)(nil)).Elem()
 97320  }
 97321  
 97322  // Pre-flight check encountered at least one host that is part of the
 97323  // VC cluster but not the VSAN cluster.
 97324  type VsanUpgradeSystemMissingHostsInClusterIssue struct {
 97325  	VsanUpgradeSystemPreflightCheckIssue
 97326  
 97327  	// Hosts this issue applies to.
 97328  	//
 97329  	// Refers instances of `HostSystem`.
 97330  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97331  }
 97332  
 97333  func init() {
 97334  	t["VsanUpgradeSystemMissingHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemMissingHostsInClusterIssue)(nil)).Elem()
 97335  }
 97336  
 97337  // Information about a particular group of hosts making up a network partition.
 97338  type VsanUpgradeSystemNetworkPartitionInfo struct {
 97339  	DynamicData
 97340  
 97341  	// Hosts that make up the network partition
 97342  	//
 97343  	// Refers instances of `HostSystem`.
 97344  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97345  }
 97346  
 97347  func init() {
 97348  	t["VsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem()
 97349  }
 97350  
 97351  // Pre-flight check encountered a network partition.
 97352  //
 97353  // Contains details
 97354  // about the discovered network partition.
 97355  type VsanUpgradeSystemNetworkPartitionIssue struct {
 97356  	VsanUpgradeSystemPreflightCheckIssue
 97357  
 97358  	// List of network partitions
 97359  	Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions" json:"partitions"`
 97360  }
 97361  
 97362  func init() {
 97363  	t["VsanUpgradeSystemNetworkPartitionIssue"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionIssue)(nil)).Elem()
 97364  }
 97365  
 97366  // Pre-flight check encountered not enough free disk capacity to maintain policy compliance.
 97367  type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct {
 97368  	VsanUpgradeSystemPreflightCheckIssue
 97369  
 97370  	// Indicates that whether upgrade could be processed if option
 97371  	// allowReducedRedundancy is taken.
 97372  	ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible" json:"reducedRedundancyUpgradePossible"`
 97373  }
 97374  
 97375  func init() {
 97376  	t["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = reflect.TypeOf((*VsanUpgradeSystemNotEnoughFreeCapacityIssue)(nil)).Elem()
 97377  }
 97378  
 97379  // Base class for a pre-flight check issue.
 97380  //
 97381  // Can be used directly
 97382  // but usually a derived class with a specific issue type is used.
 97383  type VsanUpgradeSystemPreflightCheckIssue struct {
 97384  	DynamicData
 97385  
 97386  	// Message describing the issue.
 97387  	Msg string `xml:"msg" json:"msg"`
 97388  }
 97389  
 97390  func init() {
 97391  	t["VsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem()
 97392  }
 97393  
 97394  // Captures the result of a VSAN upgrade pre-flight check.
 97395  type VsanUpgradeSystemPreflightCheckResult struct {
 97396  	DynamicData
 97397  
 97398  	// Detected issues.
 97399  	//
 97400  	// In some cases, not all possible issues are captured,
 97401  	// i.e. only the first (few) issues may be captured, and only once those
 97402  	// are resolved would additional issues be reported.
 97403  	// Absence of issues means the pre-flight check passed.
 97404  	Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr" json:"issues,omitempty"`
 97405  	// If the upgrade process was previously interrupted, it may have
 97406  	// removed VSAN from a disk group, but not added the disk group back
 97407  	// into VSAN.
 97408  	//
 97409  	// If such a situation is detected, this field will be set
 97410  	// and contains information about this disk group.
 97411  	DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty" json:"diskMappingToRestore,omitempty"`
 97412  }
 97413  
 97414  func init() {
 97415  	t["VsanUpgradeSystemPreflightCheckResult"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckResult)(nil)).Elem()
 97416  }
 97417  
 97418  // Pre-flight check encountered at least one host that is part of the VSAN
 97419  // cluster but not the VC cluster.
 97420  type VsanUpgradeSystemRogueHostsInClusterIssue struct {
 97421  	VsanUpgradeSystemPreflightCheckIssue
 97422  
 97423  	// Host UUIDs of rogue hosts.
 97424  	Uuids []string `xml:"uuids" json:"uuids"`
 97425  }
 97426  
 97427  func init() {
 97428  	t["VsanUpgradeSystemRogueHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemRogueHostsInClusterIssue)(nil)).Elem()
 97429  }
 97430  
 97431  // The upgrade process removed or added VSAN from/to a disk group.
 97432  //
 97433  // Class
 97434  // provides details about the operation and the disk group.
 97435  type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct {
 97436  	VsanUpgradeSystemUpgradeHistoryItem
 97437  
 97438  	// Type of the operation, e.g.
 97439  	//
 97440  	// add or remove.
 97441  	//
 97442  	// See also `VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum`.
 97443  	Operation string `xml:"operation" json:"operation"`
 97444  	// Disk group that is being added/removed
 97445  	DiskMapping VsanHostDiskMapping `xml:"diskMapping" json:"diskMapping"`
 97446  }
 97447  
 97448  func init() {
 97449  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOp)(nil)).Elem()
 97450  }
 97451  
 97452  // Captures one "log entry" of an upgrade process.
 97453  type VsanUpgradeSystemUpgradeHistoryItem struct {
 97454  	DynamicData
 97455  
 97456  	// Time stamp when the history is record.
 97457  	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
 97458  	// The host a history item pertains to.
 97459  	//
 97460  	// May be unset when item related
 97461  	// to no particular host.
 97462  	//
 97463  	// Refers instance of `HostSystem`.
 97464  	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
 97465  	// Description of the history item.
 97466  	Message string `xml:"message" json:"message"`
 97467  	// A task associated with the history item.
 97468  	//
 97469  	// May be unset if no task is
 97470  	// associated.
 97471  	//
 97472  	// Refers instance of `Task`.
 97473  	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
 97474  }
 97475  
 97476  func init() {
 97477  	t["VsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem()
 97478  }
 97479  
 97480  // Upgrade process encountered a pre-flight check failure.
 97481  //
 97482  // This leads to
 97483  // the upgrade process aborting the upgrade.
 97484  type VsanUpgradeSystemUpgradeHistoryPreflightFail struct {
 97485  	VsanUpgradeSystemUpgradeHistoryItem
 97486  
 97487  	// Details about the failed preflight check.
 97488  	PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult" json:"preflightResult"`
 97489  }
 97490  
 97491  func init() {
 97492  	t["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryPreflightFail)(nil)).Elem()
 97493  }
 97494  
 97495  // Captures the status of a VSAN cluster on-disk format upgrade.
 97496  //
 97497  // Contains
 97498  // information about progress, result, and a detailed log of operations.
 97499  type VsanUpgradeSystemUpgradeStatus struct {
 97500  	DynamicData
 97501  
 97502  	// True if there is an active upgrade process.
 97503  	//
 97504  	// If true, other fields
 97505  	// are guaranteed to be populated. If false, other fields may reflect
 97506  	// a previous upgrade process run, or they may be unset.
 97507  	InProgress bool `xml:"inProgress" json:"inProgress"`
 97508  	// Log of a single upgrade task.
 97509  	//
 97510  	// Lists all operations performed by the
 97511  	// upgrade process in chronological order.
 97512  	History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr" json:"history,omitempty"`
 97513  	// Set if the upgrade process was aborted.
 97514  	Aborted *bool `xml:"aborted" json:"aborted,omitempty"`
 97515  	// Set if the upgrade process has completed successfully.
 97516  	Completed *bool `xml:"completed" json:"completed,omitempty"`
 97517  	// Progress in percent.
 97518  	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
 97519  }
 97520  
 97521  func init() {
 97522  	t["VsanUpgradeSystemUpgradeStatus"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeStatus)(nil)).Elem()
 97523  }
 97524  
 97525  // Pre-flight check encountered v2 objects preventing a downgrade.
 97526  type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct {
 97527  	VsanUpgradeSystemPreflightCheckIssue
 97528  
 97529  	// Object UUIDs of v2 objects.
 97530  	Uuids []string `xml:"uuids" json:"uuids"`
 97531  }
 97532  
 97533  func init() {
 97534  	t["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = reflect.TypeOf((*VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue)(nil)).Elem()
 97535  }
 97536  
 97537  // Pre-flight check encountered at least one host with wrong ESX version.
 97538  //
 97539  // Only 6.0 is allowed.
 97540  type VsanUpgradeSystemWrongEsxVersionIssue struct {
 97541  	VsanUpgradeSystemPreflightCheckIssue
 97542  
 97543  	// Hosts this issue applies to.
 97544  	//
 97545  	// Refers instances of `HostSystem`.
 97546  	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
 97547  }
 97548  
 97549  func init() {
 97550  	t["VsanUpgradeSystemWrongEsxVersionIssue"] = reflect.TypeOf((*VsanUpgradeSystemWrongEsxVersionIssue)(nil)).Elem()
 97551  }
 97552  
 97553  // Specification of cloning a virtual storage object.
 97554  type VslmCloneSpec struct {
 97555  	VslmMigrateSpec
 97556  
 97557  	// Descriptive name of the cloned virtual storage object.
 97558  	Name string `xml:"name" json:"name"`
 97559  	// Choice of the deletion behavior of this virtual storage object.
 97560  	//
 97561  	// If not set, the default value is false.
 97562  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
 97563  	// The metadata KV pairs that are supposed to be updated on the destination
 97564  	// virtual storage object.
 97565  	//
 97566  	// The clone task is atomic by design. That being
 97567  	// said, failing to update the specified metadata pairs leads to the failure
 97568  	// of the clone task. If unset, no metadata will be updated. An empty string
 97569  	// value is indicative of a vcenter tag.
 97570  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 97571  }
 97572  
 97573  func init() {
 97574  	t["VslmCloneSpec"] = reflect.TypeOf((*VslmCloneSpec)(nil)).Elem()
 97575  }
 97576  
 97577  // Specification to create a virtual storage object.
 97578  type VslmCreateSpec struct {
 97579  	DynamicData
 97580  
 97581  	// Descriptive name of this virtual storage object.
 97582  	Name string `xml:"name" json:"name"`
 97583  	// Choice of the deletion behavior of this virtual storage object.
 97584  	//
 97585  	// If not set, the default value is true.
 97586  	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty"`
 97587  	// Specification of the backings of the virtual storage object.
 97588  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 97589  	// Size in MB of the virtual storage object.
 97590  	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
 97591  	// Virtual storage object Profile requirement.
 97592  	//
 97593  	// If unset,
 97594  	// the default behavior will apply.
 97595  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 97596  	// Crypto operation of the disk.
 97597  	//
 97598  	// If unset and if `VslmCreateSpec.profile` contains an encryption iofilter,
 97599  	// then crypto will be of type CryptoSpecEncrypt, and filled with
 97600  	// keyId that is automatically generated and keyProviderId that is the
 97601  	// default kms cluster.
 97602  	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
 97603  	// The metadata KV pairs that are supposed to be created on the newly created
 97604  	// virtual storage object.
 97605  	//
 97606  	// The create task is atomic by design. That being
 97607  	// said, failing to add the specified metadata pairs leads to the failure
 97608  	// of the create task. If unset, no metadata will be added. An empty string
 97609  	// value is indicative of a vcenter tag.
 97610  	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
 97611  }
 97612  
 97613  func init() {
 97614  	t["VslmCreateSpec"] = reflect.TypeOf((*VslmCreateSpec)(nil)).Elem()
 97615  }
 97616  
 97617  // Specification of the backing of a virtual
 97618  // storage object.
 97619  type VslmCreateSpecBackingSpec struct {
 97620  	DynamicData
 97621  
 97622  	// The datastore managed object where this backing is located.
 97623  	//
 97624  	// Refers instance of `Datastore`.
 97625  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 97626  	// Relative location in the specified datastore where disk needs to be
 97627  	// created.
 97628  	//
 97629  	// If not specified disk gets created at the defualt
 97630  	// VStorageObject location on the specified datastore.
 97631  	Path string `xml:"path,omitempty" json:"path,omitempty"`
 97632  }
 97633  
 97634  func init() {
 97635  	t["VslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem()
 97636  }
 97637  
 97638  // Specification of the disk file backing of a virtual
 97639  // storage object.
 97640  type VslmCreateSpecDiskFileBackingSpec struct {
 97641  	VslmCreateSpecBackingSpec
 97642  
 97643  	// Provisioning type.
 97644  	//
 97645  	// See also `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
 97646  	//
 97647  	// If unset, system will first look up the provisioning type specified
 97648  	// in the policy. If still not found, the default
 97649  	// `thin`
 97650  	// will be used..
 97651  	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty"`
 97652  }
 97653  
 97654  func init() {
 97655  	t["VslmCreateSpecDiskFileBackingSpec"] = reflect.TypeOf((*VslmCreateSpecDiskFileBackingSpec)(nil)).Elem()
 97656  }
 97657  
 97658  // Specification of the rdm backing of a virtual
 97659  // storage object.
 97660  type VslmCreateSpecRawDiskMappingBackingSpec struct {
 97661  	VslmCreateSpecBackingSpec
 97662  
 97663  	// Unique identifier of the LUN accessed by the raw disk mapping.
 97664  	LunUuid string `xml:"lunUuid" json:"lunUuid"`
 97665  	// The compatibility mode of the raw disk mapping (RDM).
 97666  	//
 97667  	// This must be specified
 97668  	// when a new virtual disk with an RDM backing is created.
 97669  	//
 97670  	// See also `VirtualDiskCompatibilityMode_enum`.
 97671  	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
 97672  }
 97673  
 97674  func init() {
 97675  	t["VslmCreateSpecRawDiskMappingBackingSpec"] = reflect.TypeOf((*VslmCreateSpecRawDiskMappingBackingSpec)(nil)).Elem()
 97676  }
 97677  
 97678  // Base specification of moving or copying a virtual storage object.
 97679  type VslmMigrateSpec struct {
 97680  	DynamicData
 97681  
 97682  	// Specification of the backings of the target virtual storage object.
 97683  	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
 97684  	// Virtual storage object Profile requirement.
 97685  	//
 97686  	// If unset,
 97687  	// the default behavior will apply.
 97688  	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 97689  	// Flag indicates any delta disk backings will be consolidated
 97690  	// during migration.
 97691  	//
 97692  	// If unset, delta disk backings will not be
 97693  	// consolidated.
 97694  	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
 97695  	// Disk chain crypto information.
 97696  	//
 97697  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 97698  	// source VStorageObject is unencrypted, then disksCyrpto will be of type
 97699  	// CryptoSpecEncrypt, and filled with keyId that is automatically generated
 97700  	// and keyProviderId that is the default kms cluster. During the migration,
 97701  	// the object will be encrypted.
 97702  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if source
 97703  	// VStorageObject is unenrypted, then disksCrypto is treated as
 97704  	// CryptoSpecNoOp. During migration, no cryptographic change.
 97705  	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
 97706  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 97707  	// CryptoSpecNoOp. During migration, no cryptographic change.
 97708  	// If unset and if `VslmMigrateSpec.profile` is a default policy and if
 97709  	// source VStorageObject is encrypted, then disksCyrpto is treated as
 97710  	// CryptoSpecDecrypt, during migration, the object will be decrypted.
 97711  	// To recrypt the disk during migration, disksCrypto has to be present.
 97712  	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
 97713  	// The service endpoint of vCenter where the FCD should be located.
 97714  	//
 97715  	// If
 97716  	// not specified the current vCenter service is used.
 97717  	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty" vim:"8.0.3.0"`
 97718  }
 97719  
 97720  func init() {
 97721  	t["VslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem()
 97722  }
 97723  
 97724  // Specification for relocating a virtual storage object.
 97725  type VslmRelocateSpec struct {
 97726  	VslmMigrateSpec
 97727  }
 97728  
 97729  func init() {
 97730  	t["VslmRelocateSpec"] = reflect.TypeOf((*VslmRelocateSpec)(nil)).Elem()
 97731  }
 97732  
 97733  // Specification of the Tag-Association tuple of Dataservice Tagging package.
 97734  //
 97735  // This class is a subset of the class dataservice.taggging.TaggingEntry.
 97736  type VslmTagEntry struct {
 97737  	DynamicData
 97738  
 97739  	// Associated tag name of the Tag-Association tuple
 97740  	TagName string `xml:"tagName" json:"tagName"`
 97741  	// Associated parent category name of the Tag-Association tuple
 97742  	ParentCategoryName string `xml:"parentCategoryName" json:"parentCategoryName"`
 97743  }
 97744  
 97745  func init() {
 97746  	t["VslmTagEntry"] = reflect.TypeOf((*VslmTagEntry)(nil)).Elem()
 97747  }
 97748  
 97749  // Thrown if a dvPort is used as destination in multiple Distributed Port Mirroring sessions.
 97750  type VspanDestPortConflict struct {
 97751  	DvsFault
 97752  
 97753  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 97754  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 97755  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 97756  	// The key of the Distributed Port Mirroring session whose destination ports include a port
 97757  	// that is also used as destination ports of other Distributed Port Mirroring sessions
 97758  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 97759  	// The key of the the port that is used as destination in multiple Distributed Port Mirroring sessions
 97760  	PortKey string `xml:"portKey" json:"portKey"`
 97761  }
 97762  
 97763  func init() {
 97764  	t["VspanDestPortConflict"] = reflect.TypeOf((*VspanDestPortConflict)(nil)).Elem()
 97765  }
 97766  
 97767  type VspanDestPortConflictFault VspanDestPortConflict
 97768  
 97769  func init() {
 97770  	t["VspanDestPortConflictFault"] = reflect.TypeOf((*VspanDestPortConflictFault)(nil)).Elem()
 97771  }
 97772  
 97773  // Thrown if a DistributedVirtualPort appears in both the transmitted source and destination
 97774  // ports of any Distributed Port Mirroring session.
 97775  type VspanPortConflict struct {
 97776  	DvsFault
 97777  
 97778  	// The key of the Distributed Port Mirroring session that is in conflict
 97779  	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
 97780  	// The key of the Distributed Port Mirroring session that is in conflict
 97781  	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
 97782  	// The key of the port that is both the transmitted source and destination.
 97783  	PortKey string `xml:"portKey" json:"portKey"`
 97784  }
 97785  
 97786  func init() {
 97787  	t["VspanPortConflict"] = reflect.TypeOf((*VspanPortConflict)(nil)).Elem()
 97788  }
 97789  
 97790  type VspanPortConflictFault VspanPortConflict
 97791  
 97792  func init() {
 97793  	t["VspanPortConflictFault"] = reflect.TypeOf((*VspanPortConflictFault)(nil)).Elem()
 97794  }
 97795  
 97796  // Thrown when moving a port used as tranmistted source or destination ports in vspan
 97797  // session to a promiscuous portgroup if this operation may change
 97798  // the non-promiscuous port to promiscuous mode.
 97799  type VspanPortMoveFault struct {
 97800  	DvsFault
 97801  
 97802  	// The key of the source portgroup.
 97803  	SrcPortgroupName string `xml:"srcPortgroupName" json:"srcPortgroupName"`
 97804  	// The key of the dest portgroup.
 97805  	DestPortgroupName string `xml:"destPortgroupName" json:"destPortgroupName"`
 97806  	// The key of the port.
 97807  	PortKey string `xml:"portKey" json:"portKey"`
 97808  }
 97809  
 97810  func init() {
 97811  	t["VspanPortMoveFault"] = reflect.TypeOf((*VspanPortMoveFault)(nil)).Elem()
 97812  }
 97813  
 97814  type VspanPortMoveFaultFault VspanPortMoveFault
 97815  
 97816  func init() {
 97817  	t["VspanPortMoveFaultFault"] = reflect.TypeOf((*VspanPortMoveFaultFault)(nil)).Elem()
 97818  }
 97819  
 97820  // Thrown when changing a non-promiscuous port used as tranmistted source or dest
 97821  // ports in Distributed Port Mirroring session to promiscuous mode.
 97822  type VspanPortPromiscChangeFault struct {
 97823  	DvsFault
 97824  
 97825  	// The key of the port.
 97826  	PortKey string `xml:"portKey" json:"portKey"`
 97827  }
 97828  
 97829  func init() {
 97830  	t["VspanPortPromiscChangeFault"] = reflect.TypeOf((*VspanPortPromiscChangeFault)(nil)).Elem()
 97831  }
 97832  
 97833  type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault
 97834  
 97835  func init() {
 97836  	t["VspanPortPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortPromiscChangeFaultFault)(nil)).Elem()
 97837  }
 97838  
 97839  // Thrown when changing a non-promiscous portgroup to promiscuous mode if any port
 97840  // in this portgroup is used as tranmistted source or dest ports in vspan
 97841  // session.
 97842  type VspanPortgroupPromiscChangeFault struct {
 97843  	DvsFault
 97844  
 97845  	// The key of the port.
 97846  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 97847  }
 97848  
 97849  func init() {
 97850  	t["VspanPortgroupPromiscChangeFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFault)(nil)).Elem()
 97851  }
 97852  
 97853  type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault
 97854  
 97855  func init() {
 97856  	t["VspanPortgroupPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFaultFault)(nil)).Elem()
 97857  }
 97858  
 97859  // Thrown when changing a portgroup from static/dynamic binding to
 97860  // ephemeral(no binding) if any ports in this portgroup participate in
 97861  // Distributed Port Mirroring session.
 97862  type VspanPortgroupTypeChangeFault struct {
 97863  	DvsFault
 97864  
 97865  	// The name of the portgroup.
 97866  	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
 97867  }
 97868  
 97869  func init() {
 97870  	t["VspanPortgroupTypeChangeFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFault)(nil)).Elem()
 97871  }
 97872  
 97873  type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault
 97874  
 97875  func init() {
 97876  	t["VspanPortgroupTypeChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFaultFault)(nil)).Elem()
 97877  }
 97878  
 97879  // Thrown if a promiscuous port appears in transmitted source or destination
 97880  // ports of any Distributed Port Mirroring session.
 97881  type VspanPromiscuousPortNotSupported struct {
 97882  	DvsFault
 97883  
 97884  	// The key of the Distributed Port Mirroring session in which a promiscuous port is used as
 97885  	// transmitted source or destination ports.
 97886  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 97887  	// The key of the promiscuous port that appears in transmitted
 97888  	// source or destination ports.
 97889  	PortKey string `xml:"portKey" json:"portKey"`
 97890  }
 97891  
 97892  func init() {
 97893  	t["VspanPromiscuousPortNotSupported"] = reflect.TypeOf((*VspanPromiscuousPortNotSupported)(nil)).Elem()
 97894  }
 97895  
 97896  type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported
 97897  
 97898  func init() {
 97899  	t["VspanPromiscuousPortNotSupportedFault"] = reflect.TypeOf((*VspanPromiscuousPortNotSupportedFault)(nil)).Elem()
 97900  }
 97901  
 97902  // Thrown if a dvPort appears in both the source and destination
 97903  // ports of the same Distributed Port Mirroring session.
 97904  type VspanSameSessionPortConflict struct {
 97905  	DvsFault
 97906  
 97907  	// The key of the Distributed Port Mirroring session in which a dvPort appears in both the source and destination ports
 97908  	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
 97909  	// The key of the port that appears in both the source and
 97910  	// destination ports of the same Distributed Port Mirroring session.
 97911  	PortKey string `xml:"portKey" json:"portKey"`
 97912  }
 97913  
 97914  func init() {
 97915  	t["VspanSameSessionPortConflict"] = reflect.TypeOf((*VspanSameSessionPortConflict)(nil)).Elem()
 97916  }
 97917  
 97918  type VspanSameSessionPortConflictFault VspanSameSessionPortConflict
 97919  
 97920  func init() {
 97921  	t["VspanSameSessionPortConflictFault"] = reflect.TypeOf((*VspanSameSessionPortConflictFault)(nil)).Elem()
 97922  }
 97923  
 97924  type VstorageObjectVCenterQueryChangedDiskAreas VstorageObjectVCenterQueryChangedDiskAreasRequestType
 97925  
 97926  func init() {
 97927  	t["VstorageObjectVCenterQueryChangedDiskAreas"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreas)(nil)).Elem()
 97928  }
 97929  
 97930  // The parameters of `VcenterVStorageObjectManager.VstorageObjectVCenterQueryChangedDiskAreas`.
 97931  type VstorageObjectVCenterQueryChangedDiskAreasRequestType struct {
 97932  	This ManagedObjectReference `xml:"_this" json:"-"`
 97933  	// The ID of the virtual storage object.
 97934  	Id ID `xml:"id" json:"id"`
 97935  	// The datastore where the source virtual storage object
 97936  	// is located.
 97937  	//
 97938  	// Refers instance of `Datastore`.
 97939  	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
 97940  	// The ID of the snapshot of a virtual storage object for
 97941  	// which changes that have been made since "changeId"
 97942  	// should be computed.
 97943  	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
 97944  	// Start Offset in bytes at which to start computing
 97945  	// changes. Typically, callers will make multiple calls
 97946  	// to this function, starting with startOffset 0 and then
 97947  	// examine the "length" property in the returned
 97948  	// DiskChangeInfo structure, repeatedly calling
 97949  	// queryChangedDiskAreas until a map for the entire
 97950  	// virtual disk has been obtained.
 97951  	StartOffset int64 `xml:"startOffset" json:"startOffset"`
 97952  	// Identifier referring to a point in the past that should
 97953  	// be used as the point in time at which to begin including
 97954  	// changes to the disk in the result. A typical use case
 97955  	// would be a backup application obtaining a changeId from
 97956  	// a virtual disk's backing info when performing a backup.
 97957  	// When a subsequent incremental backup is to be performed,
 97958  	// this change Id can be used to obtain a list of changed
 97959  	// areas on disk.
 97960  	ChangeId string `xml:"changeId" json:"changeId"`
 97961  }
 97962  
 97963  func init() {
 97964  	t["VstorageObjectVCenterQueryChangedDiskAreasRequestType"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreasRequestType)(nil)).Elem()
 97965  }
 97966  
 97967  type VstorageObjectVCenterQueryChangedDiskAreasResponse struct {
 97968  	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
 97969  }
 97970  
 97971  // Detailed information about a VirtualVolume datastore.
 97972  type VvolDatastoreInfo struct {
 97973  	DatastoreInfo
 97974  
 97975  	VvolDS *HostVvolVolume `xml:"vvolDS,omitempty" json:"vvolDS,omitempty"`
 97976  }
 97977  
 97978  func init() {
 97979  	t["VvolDatastoreInfo"] = reflect.TypeOf((*VvolDatastoreInfo)(nil)).Elem()
 97980  }
 97981  
 97982  type WaitForUpdates WaitForUpdatesRequestType
 97983  
 97984  func init() {
 97985  	t["WaitForUpdates"] = reflect.TypeOf((*WaitForUpdates)(nil)).Elem()
 97986  }
 97987  
 97988  type WaitForUpdatesEx WaitForUpdatesExRequestType
 97989  
 97990  func init() {
 97991  	t["WaitForUpdatesEx"] = reflect.TypeOf((*WaitForUpdatesEx)(nil)).Elem()
 97992  }
 97993  
 97994  // The parameters of `PropertyCollector.WaitForUpdatesEx`.
 97995  type WaitForUpdatesExRequestType struct {
 97996  	This ManagedObjectReference `xml:"_this" json:"-"`
 97997  	// The data version currently known to the client. The value must be
 97998  	// either
 97999  	//   - the special initial data version (an empty string),
 98000  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`
 98001  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx`
 98002  	//   - a truncated data version returned from the last call to `PropertyCollector.WaitForUpdatesEx` with no intervening calls to `PropertyCollector.WaitForUpdates` or `PropertyCollector.CheckForUpdates`.
 98003  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 98004  	// Additional options controlling the change calculation. If omitted,
 98005  	// equivalent to an options argument with no fields set.
 98006  	Options *WaitOptions `xml:"options,omitempty" json:"options,omitempty"`
 98007  }
 98008  
 98009  func init() {
 98010  	t["WaitForUpdatesExRequestType"] = reflect.TypeOf((*WaitForUpdatesExRequestType)(nil)).Elem()
 98011  }
 98012  
 98013  type WaitForUpdatesExResponse struct {
 98014  	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
 98015  }
 98016  
 98017  // The parameters of `PropertyCollector.WaitForUpdates`.
 98018  type WaitForUpdatesRequestType struct {
 98019  	This ManagedObjectReference `xml:"_this" json:"-"`
 98020  	// The data version currently known to the client. The value
 98021  	// must be either
 98022  	//   - the special initial version (an empty string)
 98023  	//   - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session
 98024  	//   - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
 98025  	//     session.
 98026  	Version string `xml:"version,omitempty" json:"version,omitempty"`
 98027  }
 98028  
 98029  func init() {
 98030  	t["WaitForUpdatesRequestType"] = reflect.TypeOf((*WaitForUpdatesRequestType)(nil)).Elem()
 98031  }
 98032  
 98033  type WaitForUpdatesResponse struct {
 98034  	Returnval UpdateSet `xml:"returnval" json:"returnval"`
 98035  }
 98036  
 98037  // Options for `PropertyCollector.WaitForUpdatesEx`.
 98038  type WaitOptions struct {
 98039  	DynamicData
 98040  
 98041  	// The number of seconds the `PropertyCollector` should wait
 98042  	// before returning null.
 98043  	//
 98044  	// Returning updates may take longer if the
 98045  	// actual calculation time exceeds `WaitOptions.maxWaitSeconds`. Additionally `PropertyCollector` policy may
 98046  	// cause it to return null sooner than `WaitOptions.maxWaitSeconds`.
 98047  	//
 98048  	// An unset value causes `PropertyCollector.WaitForUpdatesEx` to wait as
 98049  	// long as possible for updates. Policy may still cause the
 98050  	// `PropertyCollector` to return null at some point.
 98051  	//
 98052  	// A value of 0 causes `PropertyCollector.WaitForUpdatesEx` to do one update
 98053  	// calculation and return any results. This behavior is similar to `PropertyCollector.CheckForUpdates`.
 98054  	//
 98055  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to return
 98056  	// null if no updates are available within the specified number of
 98057  	// seconds. The choice of a positive value often depends on the
 98058  	// client communication stack. For example it may be helpful to
 98059  	// choose a duration shorter than a local HTTP request timeout.
 98060  	// Typically it should be no shorter than a few minutes.
 98061  	//
 98062  	// A negative value is illegal.
 98063  	MaxWaitSeconds *int32 `xml:"maxWaitSeconds" json:"maxWaitSeconds,omitempty"`
 98064  	// The maximum number of `ObjectUpdate`
 98065  	// entries that should be returned in a single result from `PropertyCollector.WaitForUpdatesEx`.
 98066  	//
 98067  	// See `UpdateSet.truncated`
 98068  	//
 98069  	// An unset value indicates that there is no maximum. In this case
 98070  	// `PropertyCollector` policy may still limit the number of objects
 98071  	// that appear in an `UpdateSet`.
 98072  	//
 98073  	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to suspend
 98074  	// the update calculation when the total count of `ObjectUpdate` entries ready to return reaches
 98075  	// the specified maximum. `PropertyCollector` policy may still
 98076  	// limit the total count to something less than `WaitOptions.maxObjectUpdates`.
 98077  	//
 98078  	// A value less than or equal to 0 is illegal.
 98079  	MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty" json:"maxObjectUpdates,omitempty"`
 98080  }
 98081  
 98082  func init() {
 98083  	t["WaitOptions"] = reflect.TypeOf((*WaitOptions)(nil)).Elem()
 98084  }
 98085  
 98086  // The virtual machine and at least one of its virtual NICs are configured to
 98087  // use Wake-on-LAN, but the host does not support Wake-on-LAN for the
 98088  // virtual machine's selected guest OS.
 98089  type WakeOnLanNotSupported struct {
 98090  	VirtualHardwareCompatibilityIssue
 98091  }
 98092  
 98093  func init() {
 98094  	t["WakeOnLanNotSupported"] = reflect.TypeOf((*WakeOnLanNotSupported)(nil)).Elem()
 98095  }
 98096  
 98097  // This fault is thrown when Wake-on-LAN isn't supported by the Vmotion NIC on the host.
 98098  type WakeOnLanNotSupportedByVmotionNIC struct {
 98099  	HostPowerOpFailed
 98100  }
 98101  
 98102  func init() {
 98103  	t["WakeOnLanNotSupportedByVmotionNIC"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNIC)(nil)).Elem()
 98104  }
 98105  
 98106  type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC
 98107  
 98108  func init() {
 98109  	t["WakeOnLanNotSupportedByVmotionNICFault"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNICFault)(nil)).Elem()
 98110  }
 98111  
 98112  type WakeOnLanNotSupportedFault WakeOnLanNotSupported
 98113  
 98114  func init() {
 98115  	t["WakeOnLanNotSupportedFault"] = reflect.TypeOf((*WakeOnLanNotSupportedFault)(nil)).Elem()
 98116  }
 98117  
 98118  // This event is a general warning event from upgrade.
 98119  type WarningUpgradeEvent struct {
 98120  	UpgradeEvent
 98121  }
 98122  
 98123  func init() {
 98124  	t["WarningUpgradeEvent"] = reflect.TypeOf((*WarningUpgradeEvent)(nil)).Elem()
 98125  }
 98126  
 98127  // The `WeeklyTaskScheduler` data object sets the time for weekly
 98128  // task execution.
 98129  //
 98130  // You can set the schedule for task execution
 98131  // on one or more days during the week, and you complete the schedule
 98132  // by setting the inherited properties for the hour and minute.
 98133  //
 98134  // By default the scheduler executes the task according to the
 98135  // specified day(s) every week.
 98136  // If you set the interval to a value greater than 1, the task will
 98137  // execute at the specified weekly interval. (For example, an interval
 98138  // of 2 will cause the task to execute on the specified days every 2 weeks.)
 98139  type WeeklyTaskScheduler struct {
 98140  	DailyTaskScheduler
 98141  
 98142  	// The day or days of the week when the scheduled task will run.
 98143  	//
 98144  	// At least one of the days must be true.
 98145  	Sunday    bool `xml:"sunday" json:"sunday"`
 98146  	Monday    bool `xml:"monday" json:"monday"`
 98147  	Tuesday   bool `xml:"tuesday" json:"tuesday"`
 98148  	Wednesday bool `xml:"wednesday" json:"wednesday"`
 98149  	Thursday  bool `xml:"thursday" json:"thursday"`
 98150  	Friday    bool `xml:"friday" json:"friday"`
 98151  	Saturday  bool `xml:"saturday" json:"saturday"`
 98152  }
 98153  
 98154  func init() {
 98155  	t["WeeklyTaskScheduler"] = reflect.TypeOf((*WeeklyTaskScheduler)(nil)).Elem()
 98156  }
 98157  
 98158  // This fault is reported when the execution of a storage vmotion or
 98159  // relocate operation would impact vSphere HA's ability to
 98160  // restart a VM.
 98161  //
 98162  // For storage vmotion, this fault
 98163  // is reported when HA protection will be lost after the vmotion
 98164  // completes. Consequently, HA would not restart the VM if it
 98165  // subsequently failed. For relocate, relocate is not supported on
 98166  // VMs that failed before the operation is attempted and are in the
 98167  // process of being restarted at the time the operation is performed.
 98168  type WillLoseHAProtection struct {
 98169  	MigrationFault
 98170  
 98171  	// The steps the user can take to restore protection if the
 98172  	// the operation is performed.
 98173  	//
 98174  	// Values come from
 98175  	// `WillLoseHAProtectionResolution_enum`.
 98176  	Resolution string `xml:"resolution" json:"resolution"`
 98177  }
 98178  
 98179  func init() {
 98180  	t["WillLoseHAProtection"] = reflect.TypeOf((*WillLoseHAProtection)(nil)).Elem()
 98181  }
 98182  
 98183  type WillLoseHAProtectionFault WillLoseHAProtection
 98184  
 98185  func init() {
 98186  	t["WillLoseHAProtectionFault"] = reflect.TypeOf((*WillLoseHAProtectionFault)(nil)).Elem()
 98187  }
 98188  
 98189  // A virtual machine's total CPU feature requirements are determined by
 98190  // overlaying the requirements specified in its configuration (if any) on top
 98191  // of the requirements specified in the descriptor for its guest OS.
 98192  //
 98193  // It is
 98194  // therefore possible for a host change to implicitly change a virtual
 98195  // machine's CPU feature requirements. The guest OS descriptor may have
 98196  // different requirements on the new host. Or, if the virtual machine
 98197  // currently specifies requirements in its configuration, those requirements
 98198  // will be lost if the new host does not support this.
 98199  //
 98200  // This fault indicates that the virtual machine's CPU feature requirements
 98201  // would change because of a migration, and also that the destination host
 98202  // does support storing CPU feature requirements in the virtual machine's
 98203  // configuration. (If the destination host does not support such an action,
 98204  // `CannotModifyConfigCpuRequirements` is used instead of this fault.)
 98205  //
 98206  // This is a warning to notify the user that the migration process will
 98207  // adjust the virtual machine's configuration so that it will be operating
 98208  // under an unchanged set of CPU feature requirements on its new host. If the
 98209  // user wishes to expose the different guest OS requirements of the new host,
 98210  // the user will need to edit the virtual machine's configuration after the
 98211  // migration.
 98212  type WillModifyConfigCpuRequirements struct {
 98213  	MigrationFault
 98214  }
 98215  
 98216  func init() {
 98217  	t["WillModifyConfigCpuRequirements"] = reflect.TypeOf((*WillModifyConfigCpuRequirements)(nil)).Elem()
 98218  }
 98219  
 98220  type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements
 98221  
 98222  func init() {
 98223  	t["WillModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*WillModifyConfigCpuRequirementsFault)(nil)).Elem()
 98224  }
 98225  
 98226  // This fault is reported when the execution of a storage vmotion or
 98227  // relocate operation would reset the snapshotDirectory settings
 98228  // to its default value (VM's home/config directory).
 98229  type WillResetSnapshotDirectory struct {
 98230  	MigrationFault
 98231  }
 98232  
 98233  func init() {
 98234  	t["WillResetSnapshotDirectory"] = reflect.TypeOf((*WillResetSnapshotDirectory)(nil)).Elem()
 98235  }
 98236  
 98237  type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory
 98238  
 98239  func init() {
 98240  	t["WillResetSnapshotDirectoryFault"] = reflect.TypeOf((*WillResetSnapshotDirectoryFault)(nil)).Elem()
 98241  }
 98242  
 98243  // This data object type describes the Windows-specific
 98244  // NetBIOS configuration.
 98245  type WinNetBIOSConfigInfo struct {
 98246  	NetBIOSConfigInfo
 98247  
 98248  	// The IP address of the primary WINS server.
 98249  	PrimaryWINS string `xml:"primaryWINS" json:"primaryWINS"`
 98250  	// The IP address of the secondary WINS server.
 98251  	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
 98252  }
 98253  
 98254  func init() {
 98255  	t["WinNetBIOSConfigInfo"] = reflect.TypeOf((*WinNetBIOSConfigInfo)(nil)).Elem()
 98256  }
 98257  
 98258  // This exception is thrown when VirtualMachine.wipeDisk
 98259  // encounters an error
 98260  type WipeDiskFault struct {
 98261  	VimFault
 98262  }
 98263  
 98264  func init() {
 98265  	t["WipeDiskFault"] = reflect.TypeOf((*WipeDiskFault)(nil)).Elem()
 98266  }
 98267  
 98268  type WipeDiskFaultFault WipeDiskFault
 98269  
 98270  func init() {
 98271  	t["WipeDiskFaultFault"] = reflect.TypeOf((*WipeDiskFaultFault)(nil)).Elem()
 98272  }
 98273  
 98274  // The WitnessNodeInfo class defines configuration
 98275  // information for the Witness node in the cluster
 98276  type WitnessNodeInfo struct {
 98277  	DynamicData
 98278  
 98279  	// VCHA Cluster network configuration of the Witness node.
 98280  	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
 98281  	// BIOS UUID for the node.
 98282  	//
 98283  	// It is set only if the VCHA Cluster was
 98284  	// formed using automatic provisioning by the deploy API.
 98285  	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
 98286  }
 98287  
 98288  func init() {
 98289  	t["WitnessNodeInfo"] = reflect.TypeOf((*WitnessNodeInfo)(nil)).Elem()
 98290  }
 98291  
 98292  type XmlToCustomizationSpecItem XmlToCustomizationSpecItemRequestType
 98293  
 98294  func init() {
 98295  	t["XmlToCustomizationSpecItem"] = reflect.TypeOf((*XmlToCustomizationSpecItem)(nil)).Elem()
 98296  }
 98297  
 98298  // The parameters of `CustomizationSpecManager.XmlToCustomizationSpecItem`.
 98299  type XmlToCustomizationSpecItemRequestType struct {
 98300  	This        ManagedObjectReference `xml:"_this" json:"-"`
 98301  	SpecItemXml string                 `xml:"specItemXml" json:"specItemXml"`
 98302  }
 98303  
 98304  func init() {
 98305  	t["XmlToCustomizationSpecItemRequestType"] = reflect.TypeOf((*XmlToCustomizationSpecItemRequestType)(nil)).Elem()
 98306  }
 98307  
 98308  type XmlToCustomizationSpecItemResponse struct {
 98309  	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
 98310  }
 98311  
 98312  // The parameters of `VirtualDiskManager.ZeroFillVirtualDisk_Task`.
 98313  type ZeroFillVirtualDiskRequestType struct {
 98314  	This ManagedObjectReference `xml:"_this" json:"-"`
 98315  	// The name of the disk, either a datastore path or a URL
 98316  	// referring to the virtual disk whose blocks should be overwritten
 98317  	// with zeroes.
 98318  	Name string `xml:"name" json:"name"`
 98319  	// If <code>name</code> is a datastore path, the datacenter for
 98320  	// that datastore path. Not needed when invoked directly on ESX.
 98321  	// If not specified on a call to VirtualCenter,
 98322  	// <code>name</code> must be a URL.
 98323  	//
 98324  	// Refers instance of `Datacenter`.
 98325  	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
 98326  }
 98327  
 98328  func init() {
 98329  	t["ZeroFillVirtualDiskRequestType"] = reflect.TypeOf((*ZeroFillVirtualDiskRequestType)(nil)).Elem()
 98330  }
 98331  
 98332  type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType
 98333  
 98334  func init() {
 98335  	t["ZeroFillVirtualDisk_Task"] = reflect.TypeOf((*ZeroFillVirtualDisk_Task)(nil)).Elem()
 98336  }
 98337  
 98338  type ZeroFillVirtualDisk_TaskResponse struct {
 98339  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98340  }
 98341  
 98342  type ConfigureVchaRequestType struct {
 98343  	This       ManagedObjectReference `xml:"_this" json:"-"`
 98344  	ConfigSpec VchaClusterConfigSpec  `xml:"configSpec" json:"configSpec"`
 98345  }
 98346  
 98347  func init() {
 98348  	t["configureVchaRequestType"] = reflect.TypeOf((*ConfigureVchaRequestType)(nil)).Elem()
 98349  }
 98350  
 98351  type ConfigureVcha_Task ConfigureVchaRequestType
 98352  
 98353  func init() {
 98354  	t["configureVcha_Task"] = reflect.TypeOf((*ConfigureVcha_Task)(nil)).Elem()
 98355  }
 98356  
 98357  type ConfigureVcha_TaskResponse struct {
 98358  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98359  }
 98360  
 98361  type CreatePassiveNodeRequestType struct {
 98362  	This                  ManagedObjectReference    `xml:"_this" json:"-"`
 98363  	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
 98364  	SourceVcSpec          SourceNodeSpec            `xml:"sourceVcSpec" json:"sourceVcSpec"`
 98365  }
 98366  
 98367  func init() {
 98368  	t["createPassiveNodeRequestType"] = reflect.TypeOf((*CreatePassiveNodeRequestType)(nil)).Elem()
 98369  }
 98370  
 98371  type CreatePassiveNode_Task CreatePassiveNodeRequestType
 98372  
 98373  func init() {
 98374  	t["createPassiveNode_Task"] = reflect.TypeOf((*CreatePassiveNode_Task)(nil)).Elem()
 98375  }
 98376  
 98377  type CreatePassiveNode_TaskResponse struct {
 98378  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98379  }
 98380  
 98381  type CreateWitnessNodeRequestType struct {
 98382  	This                  ManagedObjectReference `xml:"_this" json:"-"`
 98383  	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
 98384  	SourceVcSpec          SourceNodeSpec         `xml:"sourceVcSpec" json:"sourceVcSpec"`
 98385  }
 98386  
 98387  func init() {
 98388  	t["createWitnessNodeRequestType"] = reflect.TypeOf((*CreateWitnessNodeRequestType)(nil)).Elem()
 98389  }
 98390  
 98391  type CreateWitnessNode_Task CreateWitnessNodeRequestType
 98392  
 98393  func init() {
 98394  	t["createWitnessNode_Task"] = reflect.TypeOf((*CreateWitnessNode_Task)(nil)).Elem()
 98395  }
 98396  
 98397  type CreateWitnessNode_TaskResponse struct {
 98398  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98399  }
 98400  
 98401  type DeployVchaRequestType struct {
 98402  	This           ManagedObjectReference    `xml:"_this" json:"-"`
 98403  	DeploymentSpec VchaClusterDeploymentSpec `xml:"deploymentSpec" json:"deploymentSpec"`
 98404  }
 98405  
 98406  func init() {
 98407  	t["deployVchaRequestType"] = reflect.TypeOf((*DeployVchaRequestType)(nil)).Elem()
 98408  }
 98409  
 98410  type DeployVcha_Task DeployVchaRequestType
 98411  
 98412  func init() {
 98413  	t["deployVcha_Task"] = reflect.TypeOf((*DeployVcha_Task)(nil)).Elem()
 98414  }
 98415  
 98416  type DeployVcha_TaskResponse struct {
 98417  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98418  }
 98419  
 98420  type DestroyVchaRequestType struct {
 98421  	This ManagedObjectReference `xml:"_this" json:"-"`
 98422  }
 98423  
 98424  func init() {
 98425  	t["destroyVchaRequestType"] = reflect.TypeOf((*DestroyVchaRequestType)(nil)).Elem()
 98426  }
 98427  
 98428  type DestroyVcha_Task DestroyVchaRequestType
 98429  
 98430  func init() {
 98431  	t["destroyVcha_Task"] = reflect.TypeOf((*DestroyVcha_Task)(nil)).Elem()
 98432  }
 98433  
 98434  type DestroyVcha_TaskResponse struct {
 98435  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98436  }
 98437  
 98438  type FetchSoftwarePackages FetchSoftwarePackagesRequestType
 98439  
 98440  func init() {
 98441  	t["fetchSoftwarePackages"] = reflect.TypeOf((*FetchSoftwarePackages)(nil)).Elem()
 98442  }
 98443  
 98444  type FetchSoftwarePackagesRequestType struct {
 98445  	This ManagedObjectReference `xml:"_this" json:"-"`
 98446  }
 98447  
 98448  func init() {
 98449  	t["fetchSoftwarePackagesRequestType"] = reflect.TypeOf((*FetchSoftwarePackagesRequestType)(nil)).Elem()
 98450  }
 98451  
 98452  type FetchSoftwarePackagesResponse struct {
 98453  	Returnval []SoftwarePackage `xml:"returnval,omitempty" json:"returnval,omitempty"`
 98454  }
 98455  
 98456  type GetClusterMode GetClusterModeRequestType
 98457  
 98458  func init() {
 98459  	t["getClusterMode"] = reflect.TypeOf((*GetClusterMode)(nil)).Elem()
 98460  }
 98461  
 98462  type GetClusterModeRequestType struct {
 98463  	This ManagedObjectReference `xml:"_this" json:"-"`
 98464  }
 98465  
 98466  func init() {
 98467  	t["getClusterModeRequestType"] = reflect.TypeOf((*GetClusterModeRequestType)(nil)).Elem()
 98468  }
 98469  
 98470  type GetClusterModeResponse struct {
 98471  	Returnval string `xml:"returnval" json:"returnval"`
 98472  }
 98473  
 98474  type GetVchaConfig GetVchaConfigRequestType
 98475  
 98476  func init() {
 98477  	t["getVchaConfig"] = reflect.TypeOf((*GetVchaConfig)(nil)).Elem()
 98478  }
 98479  
 98480  type GetVchaConfigRequestType struct {
 98481  	This ManagedObjectReference `xml:"_this" json:"-"`
 98482  }
 98483  
 98484  func init() {
 98485  	t["getVchaConfigRequestType"] = reflect.TypeOf((*GetVchaConfigRequestType)(nil)).Elem()
 98486  }
 98487  
 98488  type GetVchaConfigResponse struct {
 98489  	Returnval VchaClusterConfigInfo `xml:"returnval" json:"returnval"`
 98490  }
 98491  
 98492  type InitiateFailoverRequestType struct {
 98493  	This    ManagedObjectReference `xml:"_this" json:"-"`
 98494  	Planned bool                   `xml:"planned" json:"planned"`
 98495  }
 98496  
 98497  func init() {
 98498  	t["initiateFailoverRequestType"] = reflect.TypeOf((*InitiateFailoverRequestType)(nil)).Elem()
 98499  }
 98500  
 98501  type InitiateFailover_Task InitiateFailoverRequestType
 98502  
 98503  func init() {
 98504  	t["initiateFailover_Task"] = reflect.TypeOf((*InitiateFailover_Task)(nil)).Elem()
 98505  }
 98506  
 98507  type InitiateFailover_TaskResponse struct {
 98508  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98509  }
 98510  
 98511  type InstallDate InstallDateRequestType
 98512  
 98513  func init() {
 98514  	t["installDate"] = reflect.TypeOf((*InstallDate)(nil)).Elem()
 98515  }
 98516  
 98517  type InstallDateRequestType struct {
 98518  	This ManagedObjectReference `xml:"_this" json:"-"`
 98519  }
 98520  
 98521  func init() {
 98522  	t["installDateRequestType"] = reflect.TypeOf((*InstallDateRequestType)(nil)).Elem()
 98523  }
 98524  
 98525  type InstallDateResponse struct {
 98526  	Returnval time.Time `xml:"returnval" json:"returnval"`
 98527  }
 98528  
 98529  type PrepareVchaRequestType struct {
 98530  	This        ManagedObjectReference `xml:"_this" json:"-"`
 98531  	NetworkSpec VchaClusterNetworkSpec `xml:"networkSpec" json:"networkSpec"`
 98532  }
 98533  
 98534  func init() {
 98535  	t["prepareVchaRequestType"] = reflect.TypeOf((*PrepareVchaRequestType)(nil)).Elem()
 98536  }
 98537  
 98538  type PrepareVcha_Task PrepareVchaRequestType
 98539  
 98540  func init() {
 98541  	t["prepareVcha_Task"] = reflect.TypeOf((*PrepareVcha_Task)(nil)).Elem()
 98542  }
 98543  
 98544  type PrepareVcha_TaskResponse struct {
 98545  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98546  }
 98547  
 98548  type QueryDatacenterConfigOptionDescriptor QueryDatacenterConfigOptionDescriptorRequestType
 98549  
 98550  func init() {
 98551  	t["queryDatacenterConfigOptionDescriptor"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptor)(nil)).Elem()
 98552  }
 98553  
 98554  type QueryDatacenterConfigOptionDescriptorRequestType struct {
 98555  	This ManagedObjectReference `xml:"_this" json:"-"`
 98556  }
 98557  
 98558  func init() {
 98559  	t["queryDatacenterConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptorRequestType)(nil)).Elem()
 98560  }
 98561  
 98562  type QueryDatacenterConfigOptionDescriptorResponse struct {
 98563  	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
 98564  }
 98565  
 98566  type ReloadVirtualMachineFromPathRequestType struct {
 98567  	This              ManagedObjectReference `xml:"_this" json:"-"`
 98568  	ConfigurationPath string                 `xml:"configurationPath" json:"configurationPath"`
 98569  }
 98570  
 98571  func init() {
 98572  	t["reloadVirtualMachineFromPathRequestType"] = reflect.TypeOf((*ReloadVirtualMachineFromPathRequestType)(nil)).Elem()
 98573  }
 98574  
 98575  type ReloadVirtualMachineFromPath_Task ReloadVirtualMachineFromPathRequestType
 98576  
 98577  func init() {
 98578  	t["reloadVirtualMachineFromPath_Task"] = reflect.TypeOf((*ReloadVirtualMachineFromPath_Task)(nil)).Elem()
 98579  }
 98580  
 98581  type ReloadVirtualMachineFromPath_TaskResponse struct {
 98582  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98583  }
 98584  
 98585  type SetClusterModeRequestType struct {
 98586  	This ManagedObjectReference `xml:"_this" json:"-"`
 98587  	Mode string                 `xml:"mode" json:"mode"`
 98588  }
 98589  
 98590  func init() {
 98591  	t["setClusterModeRequestType"] = reflect.TypeOf((*SetClusterModeRequestType)(nil)).Elem()
 98592  }
 98593  
 98594  type SetClusterMode_Task SetClusterModeRequestType
 98595  
 98596  func init() {
 98597  	t["setClusterMode_Task"] = reflect.TypeOf((*SetClusterMode_Task)(nil)).Elem()
 98598  }
 98599  
 98600  type SetClusterMode_TaskResponse struct {
 98601  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98602  }
 98603  
 98604  type SetCustomValue SetCustomValueRequestType
 98605  
 98606  func init() {
 98607  	t["setCustomValue"] = reflect.TypeOf((*SetCustomValue)(nil)).Elem()
 98608  }
 98609  
 98610  type SetCustomValueRequestType struct {
 98611  	This  ManagedObjectReference `xml:"_this" json:"-"`
 98612  	Key   string                 `xml:"key" json:"key"`
 98613  	Value string                 `xml:"value" json:"value"`
 98614  }
 98615  
 98616  func init() {
 98617  	t["setCustomValueRequestType"] = reflect.TypeOf((*SetCustomValueRequestType)(nil)).Elem()
 98618  }
 98619  
 98620  type SetCustomValueResponse struct {
 98621  }
 98622  
 98623  type StartDpuFailover StartDpuFailoverRequestType
 98624  
 98625  func init() {
 98626  	t["startDpuFailover"] = reflect.TypeOf((*StartDpuFailover)(nil)).Elem()
 98627  }
 98628  
 98629  type StartDpuFailoverRequestType struct {
 98630  	This           ManagedObjectReference `xml:"_this" json:"-"`
 98631  	DvsName        string                 `xml:"dvsName" json:"dvsName"`
 98632  	TargetDpuAlias string                 `xml:"targetDpuAlias,omitempty" json:"targetDpuAlias,omitempty"`
 98633  }
 98634  
 98635  func init() {
 98636  	t["startDpuFailoverRequestType"] = reflect.TypeOf((*StartDpuFailoverRequestType)(nil)).Elem()
 98637  }
 98638  
 98639  type StartDpuFailoverResponse struct {
 98640  }
 98641  
 98642  type UnregisterVAppRequestType struct {
 98643  	This ManagedObjectReference `xml:"_this" json:"-"`
 98644  }
 98645  
 98646  func init() {
 98647  	t["unregisterVAppRequestType"] = reflect.TypeOf((*UnregisterVAppRequestType)(nil)).Elem()
 98648  }
 98649  
 98650  type UnregisterVApp_Task UnregisterVAppRequestType
 98651  
 98652  func init() {
 98653  	t["unregisterVApp_Task"] = reflect.TypeOf((*UnregisterVApp_Task)(nil)).Elem()
 98654  }
 98655  
 98656  type UnregisterVApp_TaskResponse struct {
 98657  	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
 98658  }
 98659  
 98660  type VersionURI string
 98661  
 98662  func init() {
 98663  	t["versionURI"] = reflect.TypeOf((*VersionURI)(nil)).Elem()
 98664  }
 98665  
 98666  type VslmInfrastructureObjectPolicy struct {
 98667  	DynamicData
 98668  
 98669  	Name            string                `xml:"name" json:"name"`
 98670  	BackingObjectId string                `xml:"backingObjectId" json:"backingObjectId"`
 98671  	ProfileId       string                `xml:"profileId" json:"profileId"`
 98672  	Error           *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
 98673  }
 98674  
 98675  func init() {
 98676  	t["vslmInfrastructureObjectPolicy"] = reflect.TypeOf((*VslmInfrastructureObjectPolicy)(nil)).Elem()
 98677  }
 98678  
 98679  type VslmInfrastructureObjectPolicySpec struct {
 98680  	DynamicData
 98681  
 98682  	Datastore ManagedObjectReference          `xml:"datastore" json:"datastore"`
 98683  	Profile   []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
 98684  }
 98685  
 98686  func init() {
 98687  	t["vslmInfrastructureObjectPolicySpec"] = reflect.TypeOf((*VslmInfrastructureObjectPolicySpec)(nil)).Elem()
 98688  }
 98689  
 98690  type VslmVClockInfo struct {
 98691  	DynamicData
 98692  
 98693  	VClockTime int64 `xml:"vClockTime" json:"vClockTime"`
 98694  }
 98695  
 98696  func init() {
 98697  	t["vslmVClockInfo"] = reflect.TypeOf((*VslmVClockInfo)(nil)).Elem()
 98698  }